LIMS 3.0 测试环境部署过程记录
一、确认部署目录及文件
进入项目部署目录:
bash
cd /opt/lims3.0-test/lims-3.0-sdfrd/wuk-lims3.0
项目目录结构:
text
wuk-lims3.0/
├── res
├── service
└── web
其中:
text
前端目录:
/opt/lims3.0-test/lims-3.0-sdfrd/wuk-lims3.0/web
后端目录:
/opt/lims3.0-test/lims-3.0-sdfrd/wuk-lims3.0/service
后端程序包:
/opt/lims3.0-test/lims-3.0-sdfrd/wuk-lims3.0/service/wuk-lims3.0.jar
检查前端文件是否完整:
bash
ls -lah /opt/lims3.0-test/lims-3.0-sdfrd/wuk-lims3.0/web
重点确认存在:
text
index.html
assets/
二、确认 Nginx 安装位置及配置文件
当前服务器实际使用的 Nginx:
text
Nginx 程序:
/data/nginx/sbin/nginx
主配置文件:
/data/nginx/conf/nginx.conf
子配置目录:
/data/nginx/conf/conf.d/
确认主配置中已加载子配置:
bash
grep -n "conf.d" /data/nginx/conf/nginx.conf
创建站点配置目录:
bash
mkdir -p /data/nginx/conf/conf.d
创建本项目 Nginx 配置文件:
bash
vi /data/nginx/conf/conf.d/sdfrd.conf
也可以使用:
bash
cat > /data/nginx/conf/conf.d/sdfrd.conf
粘贴配置后按 Ctrl+D 保存。
三、配置前端访问和后端代理
项目对外前端端口配置为:
text
9010
核心配置内容如下:
nginx
server {
listen 9010;
server_name _;
root /opt/lims3.0-test/lims-3.0-sdfrd/wuk-lims3.0/web;
index index.html;
# Vue 前端路由
location / {
try_files $uri $uri/ /index.html;
}
# 保留 /api 前缀
location /api/businessAction/ {
proxy_pass http://127.0.0.1:9000;
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
}
# 去掉 /api 前缀后转发
location /api/ {
proxy_pass http://127.0.0.1:9000/;
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
}
# LIMS 业务模块
location ~ ^/(base|flow|function|customer|standard|attach|inspection|resource|test|original|cost|sample|file|client|scheduled|country|bi|saas|report|oa)/ {
proxy_pass http://127.0.0.1:9000;
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
}
}
同时配置了:
- WebSocket:
/msgWebSocket - PageOffice 相关路径
/pageofficeApi//pageoffice//h5Sign//h5Wx//static//online/
四、备份并调整 Nginx 配置
修改前对配置文件进行备份:
bash
cp /data/nginx/conf/conf.d/sdfrd.conf \
/data/nginx/conf/conf.d/sdfrd.conf.bak-before-port-$(date +%Y%m%d-%H%M%S)
最初配置中的后端地址为:
text
127.0.0.1:9013
检查后端配置后确认实际端口为:
text
9000
批量将 Nginx 配置里的 9013 改为 9000:
bash
sed -i 's/127\.0\.0\.1:9013/127.0.0.1:9000/g' \
/data/nginx/conf/conf.d/sdfrd.conf
检查修改结果:
bash
grep -n "proxy_pass" /data/nginx/conf/conf.d/sdfrd.conf
五、检查并重载 Nginx
检查 Nginx 配置语法:
bash
/data/nginx/sbin/nginx -t
配置检查成功后重载:
bash
/data/nginx/sbin/nginx -s reload
检查 9010 端口是否监听:
bash
ss -lntp | grep ':9010'
服务器本机测试前端:
bash
curl -I http://127.0.0.1:9010/login
返回:
text
HTTP/1.1 200 OK
说明:
- Nginx 已正常运行
- 前端文件目录配置正确
- Vue 路由回退配置生效
六、确认后端服务端口
在后端配置中查找端口:
bash
grep -Rni -A 5 -B 2 "server:" \
/opt/lims3.0-test/lims-3.0-sdfrd/wuk-lims3.0/service/config
确认配置:
yaml
server:
port: 9000
servlet:
context-path: /
因此 Nginx 后端代理统一指向:
text
127.0.0.1:9000
七、检查后端启停脚本
进入后端目录:
bash
cd /opt/lims3.0-test/lims-3.0-sdfrd/wuk-lims3.0/service
查看启动脚本:
bash
sed -n '1,200p' start.sh
启动脚本核心内容:
bash
#!/bin/bash
LOGFILE="server.log"
JAVA_OPTS="-Xms2048m -Xmx4096m \
-XX:MetaspaceSize=128m \
-XX:MaxMetaspaceSize=512m"
RUN_CMD="java -Dfile.encoding=utf-8 $JAVA_OPTS \
-jar /opt/lims3.0-test/lims-3.0-sdfrd/wuk-lims3.0/service/wuk-lims3.0.jar"
nohup $RUN_CMD > "$LOGFILE" 2>&1 &
echo "Started wuk-lims3.0 with PID $!"
八、修正启停脚本执行方式
最初使用:
bash
sh stop.sh
出现错误:
text
Syntax error: "(" unexpected
原因是脚本使用了 Bash 语法,sh 无法正确执行。
改为使用 Bash:
bash
bash stop.sh
停止结果:
text
开始查找端口号【9000】所占用进程
端口号【9000】相关进程已找到
进程已终止
重新启动后端:
bash
bash start.sh
返回:
text
Started wuk-lims3.0 with PID 2254294
需要注意:脚本显示 Started 只代表 Java 命令已提交,不代表 Spring Boot 一定启动完成。
九、检查后端日志
查找最新日志文件:
bash
find . -maxdepth 3 -type f \( -name "*.log" -o -name "nohup.out" \) \
-printf '%T@ %TY-%Tm-%Td %TH:%TM:%TS %p\n' \
| sort -nr | head -10
发现主要日志包括:
text
./server.log
./logs/console.log
./logs/error.log
./logs/warn.log
./logs/info.log
./log/lims3.0.console.log
查看启动日志:
bash
tail -n 500 -f ./logs/console.log
或查看启动脚本输出:
bash
tail -n 500 -f ./server.log
退出实时日志:
text
Ctrl+C
日志中最终显示:
- Tomcat 启动在
9000 - 服务成功注册到 Nacos
- Spring Boot 应用启动完成
- 启动耗时约 27 秒
十、确认后端是否真正启动成功
使用一条命令同时检查 Java 进程、端口和 HTTP 响应:
bash
pgrep -af 'wuk-lims3.0.jar'; \
ss -lntp | grep ':9000'; \
curl -sS -o /dev/null \
-w 'HTTP状态码:%{http_code}\n' \
--max-time 5 \
http://127.0.0.1:9000/
检查结果:
text
2257652 java ... -jar /opt/lims3.0-test/.../wuk-lims3.0.jar
LISTEN *:9000 users:(("java",pid=2257652,...))
HTTP状态码:404
判断结果:
- Java 进程存在
9000端口正常监听- HTTP 能够收到响应
- 根路径
/返回404,是因为后端没有配置根路径接口,不代表启动失败
因此后端服务启动成功。
十一、验证 Nginx 到后端的代理链路
通过 Nginx 测试后端代理:
bash
curl -i --max-time 5 http://127.0.0.1:9010/api/
返回:
text
404
该结果正常,因为 /api/ 本身没有对应业务接口。
关键是未返回:
text
502 Bad Gateway
说明链路已经打通:
text
Nginx 9010
↓
127.0.0.1:9000
↓
Spring Boot 后端
十二、外部访问测试及端口区别
后端端口:
text
9000
前端 Nginx 端口:
text
9010
直接访问:
text
http://123.249.98.245:9000/login
返回 404,原因是 9000 是后端端口,后端没有 /login 页面。
正确的前端访问地址应为:
text
http://123.249.98.245:9010/login
如果公网无法访问 9010,则需要运维配置防火墙或端口映射:
text
公网 123.249.98.245:9010
↓
内网 192.168.0.240:9010
服务器内部服务部署已经完成,公网访问还取决于安全组、防火墙和 NAT 映射。
最终部署结果
text
前端文件部署:完成
Nginx 站点配置:完成
前端端口 9010:正常监听
前端本机访问:HTTP 200
后端程序启动:完成
后端端口 9000:正常监听
Nacos 注册:成功
Nginx 转发后端:正常
公网访问:需确认 9010 端口开放及映射