暂无图片
暂无图片
暂无图片
暂无图片
暂无图片

记一次 | Windows Server 2016 jar项目安装和部署

chkl 4天前
11

环境准备

用到的端口号: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/
官网不再支持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点后执行备份脚本。

最后修改时间:2025-03-28 11:28:54
「喜欢这篇文章,您的关注和赞赏是给作者最好的鼓励」
关注作者
【版权声明】本文为墨天轮用户原创内容,转载时必须标注文章的来源(墨天轮),文章链接,文章作者等基本信息,否则作者和墨天轮有权追究责任。如果您发现墨天轮中有涉嫌抄袭或者侵权的内容,欢迎发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。

评论