### 后端页面(joolun-plus-ui)部署
-
安装nginx(自行百度)
-
推荐用VsCode打包
环境版本要求:建议使用最新稳定版本
"node": "^22.12.0+",
"npm": "^8.19.4",
"pnpm": "^9.0.5"
-
安装pnpm (如果不习惯 pnpm ,也可直接使用 npm),注意版本要求 如果您还没安装 pnpm,请执行下面命令进行安装(mac 用户遇到安装报错请在命令前加上 sudo)
安装pnpm:
npm install -g pnpm -
安装package.json依赖
pnpm install --registry=https://registry.npmmirror.com -
本地运行
pnpm dev -
打包(打包时注意项目路径不能有中文,否则可能会报错)
pnpm build
-
上传打包后的dist文件夹到/mnt/install/joolun-plus/目录下,目录自建
-
到你的域名服务商平台将后台需要使用的域名(对应下面nginx中要配置的server_name)解析指向到你服务器的公网IP,不同服务商平台操作不同这里不做详细说明,不懂的可以联系自己的服务商或百度
-
修改nginx配置
#vi /etc/nginx/conf.d/default.conf不同版本的nginx配置文件有所不同根据自己实际版本操作
在http {}标签中增加一个80的server,server_name换成自己的域名,代码如下
server { listen 80; server_name pro.joolun.com; # For WebSocket upgrade header proxy_http_version 1.1; proxy_set_header Upgrade $http_upgrade; proxy_set_header Connection "upgrade"; # 讲打包好的dist目录文件 root /mnt/install/joolun-plus/dist/; location ~* ^/(auth|code|upms|gen|weixin|mall|mallapi|pay|doc|webjars|swagger-resources|v3|live) { proxy_pass http://127.0.0.1:9999; proxy_connect_timeout 15s; proxy_send_timeout 300s; proxy_read_timeout 300s; proxy_set_header X-Real-IP $remote_addr; proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; # For WebSocket upgrade header proxy_http_version 1.1; proxy_set_header Upgrade $http_upgrade; proxy_set_header Connection "upgrade"; } # 避免端点安全问题 if ($request_uri ~ "/actuator"){ return 403; } } -
由于小程序官方规定所有请求必需是https协议,所以我们要开启https,通过nginx实现
-
申请ssl证书,推荐阿里云的,下载nginx类型的证书
-
#vi /etc/nginx/conf.d/default.conf在http {}标签中增加一个443 ssl的server,和上面的80server并列,代码如下
443做为https端口,server_name换成自己的域名
server { listen 443 ssl; server_name pro.joolun.com www.pro.joolun.com; client_max_body_size 100m; ssl_certificate /mnt/install/ssl/pro.joolun.com_nginx/pro.joolun.com.pem; ssl_certificate_key /mnt/install/ssl/pro.joolun.com_nginx/pro.joolun.com.key; ssl_session_cache shared:SSL:1m; ssl_session_timeout 5m; ssl_ciphers HIGH:!aNULL:!MD5; ssl_prefer_server_ciphers on; # 讲打包好的dist目录文件 root /mnt/install/joolun-plus/dist/; location ~* ^/(auth|code|upms|gen|weixin|mall|mallapi|pay|doc|webjars|swagger-resources|v3|live) { proxy_pass http://127.0.0.1:9999; proxy_connect_timeout 15s; proxy_send_timeout 300s; proxy_read_timeout 300s; proxy_set_header X-Real-IP $remote_addr; proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; # For WebSocket upgrade header proxy_http_version 1.1; proxy_set_header Upgrade $http_upgrade; proxy_set_header Connection "upgrade"; } # 避免端点安全问题 if ($request_uri ~ "/actuator"){ return 403; } }
-
-
启动nginx
# systemctl start nginx.service -
后台访问
浏览器中输入配置的server_name域名即可访问后台了
