diwang部署流程
上传maven文件到/opt下,解压
2、安装java环境管理器
安装21
3、在/www/wwwroot下下载项目
下载完成后执行
chown -R www:www /www/wwwroot/diwang
chmod -R u+rwX /www/wwwroot/diwang4、在diwang目录下执行命令:
cd /www/wwwroot/diwang
LC_ALL=C.UTF-8 LANG=C.UTF-8 \
/www/server/java/jdk-21.0.2/bin/java \
-Xmx1024m \
-Dmaven.home=/opt/apache-maven-3.9.9 \
-Dclassworlds.conf=/opt/apache-maven-3.9.9/bin/m2.conf \
-Dmaven.multiModuleProjectDirectory=/www/wwwroot/diwang/backend \
-cp "/opt/apache-maven-3.9.9/boot/*" \
org.codehaus.plexus.classworlds.launcher.Launcher \
-f backend/pom.xml clean package -DskipTests
cp backend/target/backend-1.0.0.jar /www/wwwroot/diwang/diwang.jar
/www/server/java/jdk-21.0.2/bin/java -Xmx1024M -Xms256M -jar /www/wwwroot/diwang/diwang.jar --spring.profiles.active=pro
安装node


cd /www/wwwroot/diwang/frontend
PATH="/www/server/nodejs/v22.23.3/bin:$PATH" /www/server/nodejs/v22.23.3/bin/npm -v
PATH="/www/server/nodejs/v22.23.3/bin:$PATH" /www/server/nodejs/v22.23.3/bin/npm ci --include=dev
PATH="/www/server/nodejs/v22.23.3/bin:$PATH" /www/server/nodejs/v22.23.3/bin/npm run build修改nginx
server {
listen 18080;
server_name 127.0.0.1 101.42.223.119;
root /www/wwwroot/diwang/frontend/dist;
index index.html;
# 正确识别前端 JS、CSS、图片等文件类型
include /www/server/nginx/conf/mime.types;
default_type application/octet-stream;
# 保留宝塔站点扩展
include /www/server/panel/vhost/nginx/extension/127.0.0.1/*.conf;
#CERT-APPLY-CHECK--START
# 保留宝塔证书验证配置
include /www/server/panel/vhost/nginx/well-known/127.0.0.1.conf;
#CERT-APPLY-CHECK--END
#SSL-START
#error_page 404/404.html;
#SSL-END
# 反向代理公共设置
proxy_http_version 1.1;
proxy_set_header Host $http_host;
proxy_set_header X-Forwarded-Host $http_host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header X-Forwarded-Proto $scheme;
proxy_set_header Connection "";
proxy_connect_timeout 10s;
proxy_read_timeout 60s;
proxy_send_timeout 60s;
proxy_cache off;
# 后端接口:保留完整 /api 路径
location ^~ /api/ {
proxy_pass http://127.0.0.1:28888;
}
# 禁止访问隐藏文件、隐藏目录,保留证书验证目录
location ~ /\.(?!well-known(?:/|$)) {
return 404;
}
# 禁止访问配置、日志和备份文件
location ~* \.(sql|bak|log|conf|ini|ya?ml|properties|sh|env)$ {
return 404;
}
# 证书验证文件
location ~ ^/\.well-known/ {
try_files $uri =404;
}
# 游戏素材由后端提供,兼容旧 PNG 地址对应 WebP/JPG
location ~ ^/assets/(inner-city|general|icons|ui|placeholders|world-map)/ {
proxy_pass http://127.0.0.1:28888;
}
# 前端构建资源及 assets/game 直接从 dist 读取
# 此处不要添加 ^~,否则会拦截上面的游戏素材规则
location /assets/ {
try_files $uri =404;
}
# 入口页面及时检查更新
location = /index.html {
add_header Cache-Control "no-cache";
}
# 支持 Vue Router 页面直达及刷新
location / {
try_files $uri $uri/ /index.html;
}
# 站点访问日志和错误日志
access_log /www/wwwlogs/127.0.0.1.log;
error_log /www/wwwlogs/127.0.0.1.error.log;
}