赞
踩
由于服务器中了勒索病毒,不得不清空硬盘,所有东西都要重新部署,为此写下博客,记录部署过程,为以后的自己提供参考。
阿里云 本来是都分享了的,但是压缩包阿里云暂不支持分享,不知后续是否支持。
JDK安装教程
建议安装jdk-8u202这个,之前安装的jdk-8u111,在对接微信支付的时候,出BUG,升级了JDK就好了,当时时间紧迫,也没来得及深究,有知道的小伙伴可以留言告知。
先用解压包解压,然后添加my.ini配置文件的方式运行MySql服务,但是一切配置好了,运行提示我少文件,让我重新下载,没办法,就下载的安装包
本次有参考 MySQL下载教程
自定义MySQL安装
下载VC_redist.x64.exe
下载安装包,解压即可用
记得去nginx.conf文件中不Nginx的端口从80改为其他端口,我修改的是888
下载安装包,解压即可用
由于项目是jar包的方式,所以没有安装TomCat
过程中,有张表报错了 Got a packet bigger than ‘max_allowed_packet’ bytes
查看帖子解决了
#查看数据库中最大的单个文件容量
SHOW VARIABLES LIKE ‘%max_allowed_packet%‘;
#设置最大单个文件容量为20M,单次有效
SET GLOBAL max_allowed_packet=20*1024*1024
java -jar -Xms256m -Xmx512m .\xxx.jar > .\log.log &
由于要配置HTTPS协议请求,所以要先去阿里云SSL 证书管理页面,把证书下载下来
配置过程中,还遇到配置多个ssl server,每次请求下面的地址时,都会进入第一个server的页面,百度说输入nginx -V
查看是否有 TLS SNI support enabled
有就支持,没有就需要安装模块。但是我的显示支持,还是出现了这个问题,一顿瞎操作,后来才发现,我自己应该不小心点到了nginx.exe,启动了多个服务,在任务管理其中关闭所有Nginx服务,重新启动就解决了
由于有个项目要传非常大的文件上来,所以真的这个server,添加了一下单独配置
client_max_body_size 800G; # 文件最大大小
keepalive_timeout 1800s; # 指定 KeepAlive 的超时时间(timeout)。指定每个 TCP 连接最多可以保持多长时间。Nginx 的默认值是 75 秒,有些浏览器最多只保持 60 秒,所以可以设定为 60 秒。若将它设置为 0,就禁止了 keepalive 连接。
proxy_connect_timeout 1800s; # nginx跟后端服务器连接超时时间(代理连接超时)
proxy_send_timeout 1800s; # 后端服务器数据回传时间(代理发送超时)
proxy_read_timeout 1800s; # 连接成功后,后端服务器响应时间(代理接收超时)
fastcgi_connect_timeout 1800s; # 指定nginx与后端fastcgi server连接超时时间
fastcgi_send_timeout 1800s; # 指定nginx向后端传送请求超时时间(指已完成两次握手后向fastcgi传送请求超时时间)
fastcgi_read_timeout 1800s; # 指定nginx向后端传送响应超时时间(指已完成两次握手后向fastcgi传送响应超时时间)
Windows Server和Windows还有的细微的区别,就是root地址中的斜杠只能是'/','\'会识别不到目录
这个服务器网络是通过光猫连接路由器,然后再通过路由器某端口连到服务器上的,所以服务器是内网IP,光猫是外网固定IP。想访问服务器,就要去路由器设置里面做映射才行(首先要把服务器设置为固定IP,防止重启后IP变了,映射失效的问题),由于每款路由器设置可能不同,这里就不作记录了
为了不让jar运行一直有个DOS窗口,就编写了个脚本,让它后台静默运行
@echo off
if "%1"=="h" goto begin
start mshta vbscript:createobject("wscript.shell").run("""%~nx0"" h",0)(window.close)&&exit
:begin
set "Ymd=%date:~0,4%%date:~5,2%%date:~8,2%"
java -jar -Xms256m -Xmx512m .\xxx.jar >> .\log_%Ymd%.log &
@echo on
为了防止项目停止,需要连接服务器,手动启动的麻烦,编写了个脚本一直监控
@echo off set jarName=jarName.jar @echo %jarName% daemon thread start :START_CHECK set "Ymd=%date:~0,4%%date:~5,2%%date:~8,2%%time:~0,2%%time:~3,2%%time:~6,2%" jps -l | findstr /i "%jarName%" || goto STARTPRO ping -n 10 127.0.0.1 > nul goto START_CHECK :STARTPRO @echo %Ymd% start %jarName% process... :: start后面的就是上面那个启动jar脚本的名称 start 1.bat :: -n后面的数字是多少 就是sleep多少秒 ping -n 20 127.0.0.1 > nul goto START_CHECK @echo on
为了停止服务不要每次都去 netstat -aon|findstr "8080"
taskkill /f /pid 端口
而编写了个脚本
@echo off
set port=8080
for /f "tokens=1-5" %%i in ('netstat -ano^|findstr ":%port%"') do (
echo kill the process %%m who use the port
taskkill /pid %%m -t -f
goto q
)
:q
@echo off
if "%1" == "h" goto begin
mshta vbscript:createobject("wscript.shell").run("%~nx0 h",0)(window.close)&&exit
begin
:: cd后面是Nginx的安装目录
cd ...\nginx-1.9.10
start nginx
exit
停止:nginx.exe -s quit
重载:nginx.exe -s reload
重新打开日志:nginx.exe -s reopen
@echo off
if "%1" == "h" goto begin
mshta vbscript:createobject("wscript.shell").run("%~nx0 h",0)(window.close)&&exit
:begin
:: cd后面是Redis的安装目录
cd ...\Redis
redis-server redis.windows.conf
以上的路径,最好都写绝对路径,这样移动了文件也能试用
以上启动脚本创建快捷打开方式,放到 C:\ProgramData\Microsoft\Windows\Start Menu\Programs\StartUp 目录下面,开机后就会自动运行了
要先在E:\mysql_backup下面建好对应数据库名的文件夹
rem ******MySQL backup start****** @echo off set "user=root" set "password=123456" ::规定数组长度 set objLength=7 ::给数组设值 set obj[0] =数据库名 set obj[1] =数据库名 set obj[2] =数据库名 set obj[3] =数据库名 set obj[4] =数据库名 set obj[5] =数据库名 set obj[6] =数据库名 ::set obj[7] =数据库名 ::初始索引 set objIndex=0 ::设置时间变量 set "Ymd=%date:~0,4%%date:~5,2%%date:~8,2%%time:~0,2%%time:~3,2%%time:~6,2%" ::进入mysql安装目录的bin目录下 D: cd D:/java/mysql8.0.28/bin/ ::循环 :loopStart ::判断索引值是否大于数组长度,大于的话跳到结束,不大于的话继续循环 if %objIndex% equ %objLength% goto end ::初始化变量 set objCurrent=0 ::这个循环是数组对象处理循环,就是处理单个对象。/f是参数格式 usebackq声明路径有空格 for /f "usebackq delims== tokens=1-2" %%i in (`set obj[%objIndex%]`) do ( ::赋值变量 set objCurrent=%%j echo %%j ::删除一周前的备份数据 forfiles /p "E:\mysql_backup\%%j" /m backup_*.sql -d -7 /c "cmd /c del /f @path" ::执行备份操作 mysqldump --opt --single-transaction=TRUE --user=%user% --password=%password% --host=127.0.0.1 --protocol=tcp --port=3306 --default-character-set=utf8 --single-transaction=TRUE --routines --events "%%j" --hex-blob > E:\mysql_backup\%%j\backup_%Ymd%.sql ) ::索引+1 set /a objIndex=%objIndex% + 1 ::继续循环 goto loopStart :end @echo on rem ******MySQL backup end******
然后添加Windows定时任务,这样就可以每天备份数据库了
如果用上面的脚本,备份时间最好设置在每天10:00:00之后,因为十点之前
set "Ymd=%date:~0,4%%date:~5,2%%date:~8,2%%time:~0,2%%time:~3,2%%time:~6,2%"
有问题,会导致备份失败
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。