环境准备
用到的端口号:80、6379、9014、9000、9001、5432
检查端口占用:
netstat -ano |findstr "LISTENING"
准备使用软件安装包:java17、nginx1.26、redis6.2、minio、PostgreSQL15以及项目的XXX.jar包和static.zip静态文件。
规划路径:D:\app\
1、安装nginx
下载地址:https://nginx.org/en/download.html
链接: nginx/Windows-1.26.3
静态文件解压到D:\app
配置nginx.conf 使用默认端口80
location / {
alias D:/app/static/;
index index.html index.htm;
try_files $uri $uri/ /index.html;
}
location ^~ /api/ {
proxy_pass http://127.0.0.1:9014/api/ ;
proxy_redirect off ;
#后端的Web服务器可通过X-Forwarded-For获取用户真实IP
proxy_set_header Host $host:$server_port ;
proxy_set_header X-Real-IP $remote_addr ;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for ;
client_max_body_size 1024m ; #允许客户端请求的最大单文件字节数
client_body_buffer_size 128K ; #缓冲区代理缓冲用户端请求的最大字节数
proxy_connect_timeout 300; #nginx跟后端服务器连接超时时间(代理连接超时)
proxy_send_timeout 300; #后端服务器数据回传时间(代理发送超时)
proxy_read_timeout 300; #连接成功后,后端服务器响应时间(代理接收超时)
proxy_buffer_size 4k; #设置代理服务器(nginx)保存用户头信息的缓冲区大小
proxy_buffers 4 32k; #proxy_buffers缓冲区,网页平均在32k以下的话,这样设置
proxy_busy_buffers_size 64k ; #高负荷下缓冲区大小(proxy_buffers*2)
proxy_temp_file_write_size 64k; #设定缓存文件夹大小,大于这个值,将从upstream服务器传
}
2、安装redis
官网 https://redis.io/
https://github.com/tporadowski/redis/releases
官网不再支持windows版直接下载,从其他渠道获取。
可通过修改redis.conf配置文件修改配置项
redis-server.exe redis.conf
3、安装java
官网
https://www.oracle.com/java/technologies/downloads/#java17-windows
解压后配置环境变量
setx JAVA_HOME "D:\app\java\jdk-17.0.14" /M
setx PATH "%PATH%;%JAVA_HOME%\bin" /M
4、安装minio
官网 https://www.minio.org.cn/download.shtml#/windows
编写启动脚本
setx MINIO_ROOT_USER minio
setx MINIO_ROOT_PASSWORD minioXXXX
D:\app\minio\minio.exe server D:\app\minio\Data --console-address ":9001" --address ":9000"
使用上述用户密码登陆http://127.0.0.1:9001/login
添加Access Keys和Buckets
5、安装PostgreSQL
官网 https://www.enterprisedb.com/downloads/postgres-postgresql-downloads
安装后导入数据(导出命令pg_dump -Fc -f csxm > csxm.bck)
createdb -Upostgres csxm
psql -Upostgers
postgres=# create user csuser;
postgres=# alter user csuser with password 'csuser';
pg_restore -vcC -U postgres -d csxm < csxm.bck
6、依次启动pg、nginx、redis、minio、jar包
启动jar包
java -Xms512m -Xmx1024m -jar csxm.jar --spring.profiles.active=pro --jasypt.encryptor.password=XXXX
后台启动jar包
javaw -Xms512m -Xmx1024m -jar csxm.jar --spring.profiles.active=pro --jasypt.encryptor.password=XXXX >csxm.log
7、备份PostgreSQL
编写备份脚本
cd D:\app\PostgreSQL\back
set v_own=postgres
set v_db=csxm
set v_dt=%date:~0,11%
::取日期中日的数字,保留一个月内的备份文件。
set v_bz=%date:~8,2%
set PGPASSWORD=password
echo "开始备份%v_db%库"
pg_dump -Fc -U %v_own% -d %v_db% > %v_db%_%v_bz%.bak
echo "备份%v_db%库完成"
unset PGPASSWORD
:: 恢复命令
:: pg_restore -vcC -U postgres -d csxm < csxmXX.dump
在管理工具-任务计划程序中创建人物每天晚10点后执行备份脚本。
– 服务注册
https://github.com/winsw/winsw/releases




