鼎盈拉链
概述
前后分离项目。后端 springboot 由3个项目:前端、后端、FineReport 构成,所以跨网访问的话是要访问其前端项目 https://www.新东方智能化云域名.club/zfe
服务器
本节点创建于 2025年8月11日,域名 wxbezipper.网筒项目域名.fit 部署在 织造云数据 服务器上,nginx 配置文件路径是 /etc/nginx/conf.d/wxbezipper.conf ,本域名归属武的 qq 号的腾讯云账号下
各项目
硬件
计划开单使用的电脑就是服务器,没有别人使用了。车间一个触摸屏用于工序刷卡(原本设计有3个工序,后来只有一个工序在刷卡)
本地服务器 nginx 配置
域名 zipperdye 的行号 23,24 是解决 FineReport 在 iframe 中显示出错的问题
# 报表后台服务
location /fr {
proxy_set_header Host $host;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_pass http://127.0.0.1:8083/fr;
}
# zipperdye 前端项目
location /zfe {
alias D:\zipperdye\frontend;
index index.html;
try_files $uri $uri/ /index.html;
}
# zipperdye 后端项目
location /zipperdye {
proxy_set_header Host $host;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_pass http://127.0.0.1:7075/zipperdye;
proxy_redirect http://127.0.0.1:7075/zipperdye /zipperdye;
proxy_cookie_path /zipperdye /zipperdye;
proxy_hide_header X-Frame-Options;
add_header X-Frame-Options "ALLOWALL";
}
由于报表的域名 fr 和前端页面的域名 zfe 不同,在前端项目的主页面上要引用 FineReport 的 js 文件,要这样写:
<script type="text/javascript" src="../fr/ReportServer?op=emb&resource=finereport.js"></script>
表示上移后使用 fr 域名替换前端页面的域名 zfe ,然后按照路径找到 finereport.js
本地服务器 frp 配置
nginx 默认代理了80端口,那么 frp 要使用端口号 15975 代理 80,15976 代理 zipperdye 的后台服务,15977 代理 FineReport 后台服务,配置内容见:
[web80_chanchaw]
type = tcp
local_ip = 127.0.0.1
local_port = 80
remote_port = 15975
[webzipper_chanchaw]
type = tcp
local_ip = 127.0.0.1
local_port = 7075
remote_port = 15976
[fr_chanchaw]
type = tcp
local_ip = 127.0.0.1
local_port = 8083
remote_port = 15977
云端服务器 nginx 配置
在服务器上安装了 nginx、frp ,财务要跨网访问项目。由于 nginx 代理了80端口,跨网访问时 15975 被自动更换为80,又被浏览器默认省略,导致跨网访问有问题,需要云服务器(染厂微信)在 nginx 中配置项目名称映射到线下服务器 frp 上。此时需要调整前端的 【协议+主机+端口号】,要同时满足可以局域网访问和跨网访问。又由于云端服务器上设置的 80 自动跳转443,所以要在 nginx 的 443 下设置,代码如下:
# zipper front end
location /zfe {
proxy_set_header Host $host;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_pass http://127.0.0.1:15975/zfe;
}
location /zipperdye {
proxy_set_header Host $host;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_pass http://127.0.0.1:15976/zipperdye;
proxy_redirect http://127.0.0.1:15976/zipperdye /zipperdye;
proxy_cookie_path /zipperdye /zipperdye;
}
# 映射到拉链服务器的后台报表服务
location /fr {
proxy_set_header Host $host;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_pass http://127.0.0.1:15977/fr;
}
之后访问项目:https://互联网域名/zfe/index.html
部署多项目解决方案
该解决方案分3个项目:前端、后端、报表。三者通过 nginx 反向代理整合一起,这样部署可以减小后端项目的大小,之后更新方便。解决方案目录: 前端项目 - D:\zipperdye\frontend 后端项目 - D:\zipperdye\prime。访问地址:http://localhost/zipperdye 报表服务 - D:\zipperdye\report。访问地址:http:/localhost/fr 完整项目文件见阿里云盘客户资料下的 zipperdye 目录下的 zipperdye.zip nginx 配置:
server {
listen 80;
server_name localhost xzyerpserver three;
#charset koi8-r;
#access_log logs/host.access.log main;
location / {
root html;
index index.html index.htm;
}
# 报表服务
location /fr {
proxy_set_header Host $host;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_pass http://127.0.0.1:8083/fr;
}
# zipperdye 前端项目
location /zfe {
alias D:\zipperdye\frontend;
index index.html;
try_files $uri $uri/ /index.html;
}
# zipperdye 后端项目
location /zipperdye {
proxy_set_header Host $host;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_pass http://127.0.0.1:7075/zipperdye;
proxy_redirect http://127.0.0.1:7075/zipperdye /zipperdye;
proxy_cookie_path /zipperdye /zipperdye;
proxy_hide_header X-Frame-Options;
add_header X-Frame-Options "ALLOWALL";
}
error_page 500 502 503 504 /50x.html;
location = /50x.html {
root html;
}
}
软件逻辑
成品入库
车间刷卡最后一道工序系统即产生成品入库 - 不是生成成品入库数据,拿工序刷卡数据作为成品入库数据。
