# 开发工具

  • 微信开发者工具
  • IDEA or Eclipse

# 服务器版本、JDK版本等

  • JDK 1.8
  • Oracle 11g
  • Redis >= 3.0
  • Maven >= 3.0
  • Node >= 12

# 使用的第三方开源版本包

# 主框架

  • Spring Boot 2.2.x
  • Spring Framework 5.2.x
  • Spring Security 5.2.x

# 持久层

  • Apache MyBatis 3.5.x
  • Hibernate Validation 6.0.x
  • Alibaba Druid 1.2.x

# 视图层

  • Vue 2.6.x
  • Axios 0.21.x
  • Element 2.15.x

# 数据库表结构字典

记录在数据库对象备注中

# 环境配置过程文档

待补充

# nginx 启动停止和重载

  • start nginx
  • nginx -s stop
  • nginx -s reload

# 一个服务器多给tomcat修改监听端口号

修改启动端口和关闭端口:tomcat5-8090\conf\目录,打开server.xml文件,修改下面两个地方: (1)

(2)

修改TOMCAT标题 TITLE=你的应用服务名

:doStart   
shift   
if not "%OS%" == "Windows_NT" goto noTitle   
if "%TITLE%" == "" set TITLE=Tomcat   
set _EXECJAVA=start "%TITLE%" %_RUNJAVA%   
goto gotTitle  

# 将exe,bat等程序或脚本文件通过nssm注册为windows服务

*在一些运维场景中,客户不想通过命令行开启一些服务,故需要对一下应用服务,比如tomcat,frp,datax等应用注册为服务在后台启动 下载nssm (opens new window)

  1. 开始运行 cmd 打开命令行界面后,cd进入nssm
  2. nssm install -- <> 内为自定义的服务名
  3. 选择写好的bat或者exe程序点确定
  4. 如果需要移除服务,则nssm remove <服务名>

# 通过cwrsync实现Windows下的文件同步

Rsync是一个Linux端同步工具,移植到Windows端对应的是cwRsync,使用方法和原来的Rsync类似。 可以用于linux to Windows、Windows to Linux、Windows to Windows等等的文件同步。

因越来越多的客户现在云云服务托管在我们这里,虽然云数据的安全性号称超过99.9999999%,我们还是希望真出现了这0.000001%的可能性时,还能有个异地备份能够挽回。 另外一方面因为勒索病毒越来越泛滥,异地备份也变得不可或缺

  1. 首先安装cwrsync服务端,运行cwRsyncServer_4.0.5_Installer.exe ,最后一步设置一个运行cwrsync的用户即可

  2. 修改cwRsyncServer安装目录下的rsyncd.conf配置文件

    port = 873                    # rsync服务的端口(默认端口,可以根据情况修改)
    use chroot = false        # 默认,不更改
    strict modes = false     # 默认,不更改
    read only = yes            # 服务端文件只读
    list = no                        # 不允许客户端对服务器端的文件列表
    hosts allow = *            # 允许连接服务器的客户端的IP地址列表(*表示不限制)
    max connections = 10  # 最大连接数
    
    
    uid=0                           
    gid=0                           
    # 以上两个参数需要设置,否则报错
    
    auth users = ruser        # 允许连接服务器的用户名
    secrets file = rsyncd.secrets   # 允许连接服务器的帐户文件,格式用户名:密码
    motd file = rsyncd.motd          # 欢迎信息文件(客户端连接时,服务将向客户端发送的欢迎信息)
    log file = rsyncd.log                 # 日志文件
    lock file = rsyncd.lock              # 锁文件
    transfer logging = yes            # 传输时记录日志
    
    
    # Module definitions
    # Remember cygwin naming conventions : c:\work becomes /cygwin/c/work
    #
    
    [test]            # 一个模块的名字,自己取
    path = /cygdrive/D/chengwenit  # 同步的目录的路径,其中,D盘就是“/cygdrive/D”,所以该路径指的是D盘下的chengwenit目录
    
    [chwtest]   # 第二个,可以添加多个
    path = /cygdrive/C/Documents and Settings/chengwenit
  1. 启动RsyncServer服务

  2. 客户端同步文件,通过批处理和Windows计划任务运行

    cd d:\ICW\Bin
    d:
    rsync.exe -ravz --progress --password-file=/cygdrive/c/pass.txt chw@10.10.10.10::test/ /cygdrive/"D/Program Files/test"
    
    rsync.exe -ravz --progress --password-file=/cygdrive/c/pass.txt chw@10.10.10.10::chwtest/ /cygdrive/"E/chengwenit"
    
    pause
  1. 客户端同步时报错: password file must be owned by root when running as root continuing without password file 需要给密码文件设置权限,用bin目录下chmod和chown修改文件权限和归属
.\chmod -c 600 /cygdrive/C/OPT/rsyncd.txt
.\chown administrator /cygdrive/C/OPT/rsyncd.txt

# 阿里云 腾讯云等云主机屏蔽25端口发信解决方案

承接了一个客户多年前的CRM系统的运维服务,考虑到维护便利性和安全性等方面,和客户协商把CRM系统迁移到阿里云服务器上,迁移后发现所有邮件通知都无效,安全组中已经开启了对外访问25端口, 日志中依然报错: 搜索后发现由于阿里云ECS默认屏蔽25发信端口,所以通过操作系统的本地转发来转成80端口对外发信

  • 发信服务器的邮件服务器地址指向本机 127.0.0.1 ,默认25端口
  • windows:cmd输入命令:
netsh interface portproxy add v4tov4 25 smtp.chengwenit.com 80 127.0.0.1
  • centos7:

netsh interface portproxy add v4tov4 [监听端口] [转发地址] [转发端口] [监听地址]

 firewall-cmd --zone=public --add-forward-port=port=25:proto=tcp:toport=80 toaddr=smtp.chengwenit.com

如果想要删掉一个特定的端口转发规则,使用如下的命令:

netsh interface portproxy delete v4tov4 listenport=3340 listenaddress=10.1.1.110

# 由于没有远程桌面授权服务器可以提供许可证,远程会话连接已断开

HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Terminal Server\RCM\GracePeriod 删除以上注册表项

# 批量新建Windows用户

  • 建立用户:net user 用户名 密码 /add (如:net user test 123 /add)
  • 提升权限:net localgroup 用户权限组 用户名 /add (如:net localgroup administrator test /add)
  • 删除用户:net user 用户名 /del (如:net user test /del)
net user chwit_126_test  /add
net user chwit_127_test  /add
net user chwit_128_test  /add
net user chwit_129_test  /add
net user chwit_130_test  /add
net user chwit_131_test  /add
net user chwit_132_test  /add
net user chwit_133_test  /add
net user chwit_134_test  /add
net user chwit_135_test  /add
net user chwit_136_test  /add
net user chwit_137_test  /add
net user chwit_138_test  /add
net user chwit_139_test  /add

# Windows批量新增修改文件名前缀

@echo off
title 批量修改文件名 
echo.
echo 批量修改当前文件夹下某一类型的文件名前缀
echo.
echo.&set /p file_type= 输入要修改文件的文件类型(txt,jpg,png):
echo.&set /p add_str= 输入要添加的前缀:
setlocal enabledelayedexpansion
for /f "delims=" %%a in ('dir /a /b *.%file_type%') do (
ren "%%~a" "%add_str%-%%a")
echo.
echo 文件名已经全部修改完成
echo.
pause