Tips
項目是前后端分離的,需要前端和后端分別部署
一、后端部署
- 在
fastbee\springboot\bin
目錄下執(zhí)行package.bat 打包成Web工程,生成war/jar包文件。
# 生成包目錄
fastbee\springboot\fastbee-admin\target
- jar部署方式:
# 使用命令行執(zhí)行
java –jar fastbee-admin.jar
- war部署方式:
# 修改fastbee\springboot\fastbee-admin\pom.xml 文件中的packaging為war,打包后放到tomcat服務器webapps
<packaging>war</packaging>
二、前端打包
- 修改根目錄的
.env.production
文件,mqtt消息服務器地址使用ws協(xié)議對應8083端口,使用wss協(xié)議建議配置代理訪問8083端口。
# EMQX接口賬號(后端地址和EMQX接口地址,通過nginx配置代理)
VUE_APP_EMQX_API_USER_NAME = 'admin'
VUE_APP_EMQX_API_PASSWORD = 'public'
# EMQX消息服務器連接地址
VUE_APP_EMQX_SERVER_URL = 'ws://localhost:8083/mqtt'
# 百度地圖AK
VUE_APP_BAI_DU_AK = 'nAtaBg9FYzav6c8P9rF9qzsXXXXXX'
- 運行命令,打包應用
# 打包正式環(huán)境
npm run build:prod
打包前請確保安裝依賴包,打包成功之后,會在根目錄生成 dist 文件夾,里面就是構建打包好的文件,通常是 .js 、.css、index.html 等靜態(tài)文件。
三、Nginx配置部署前端
前端打包后,dist目錄里面文件上傳的路徑配置: /var/data/vue
。后端部署的地址: http://localhost:8080/
端口默認8080 。全部配置如下:
worker_processes 1;
events {
worker_connections 1024;
}
http {
include mime.types;
default_type application/octet-stream;
sendfile on;
keepalive_timeout 65;
client_max_body_size 10m;
gzip on;
gzip_min_length 1k;
gzip_buffers 16 64K;
gzip_http_version 1.1;
gzip_comp_level 5;
gzip_types text/plain application/javascript application/x-javascript text/javascript text/css application/xml;
gzip_vary on;
gzip_proxied expired no-cache no-store private auth;
gzip_disable "MSIE [1-6]\.";
# Http跳轉Https
# server {
# listen 80;
# server_name localhost;
# location / {
# rewrite ^(.*) https://$server_name$1 permanent;
# }
# }
server {
listen 80;
# SSL 默認訪問端口號為443
# listen 443 ssl;
server_name localhost;
charset utf-8;
# 證書文件的路徑
# ssl_certificate /usr/share/nginx/ssl/fastbee.crt;
# 私鑰文件的路徑
# ssl_certificate_key /usr/share/nginx/ssl/fastbee.key;
# ssl_session_timeout 10m;
# 請按照以下協(xié)議配置
# ssl_protocols TLSv1.2 TLSv1.3;
# 請按照以下套件配置,配置加密套件,寫法遵循openssl 標準
# ssl_ciphers ECDHE-RSA-AES128-GCM-SHA256:ECDHE:ECDH:AES:HIGH:!NULL:!aNULL:!MD5:!ADH:!RC4;
# ssl_prefer_server_ciphers on;
# 前端
location / {
root /usr/share/nginx/html;
try_files $uri $uri/ /index.html;
index index.html index.htm;
}
# 后端接口
location /prod-api/ {
proxy_set_header Host $http_host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header REMOTE-HOST $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_pass http://localhost:8080/;
}
# wss連接代理到ws
location /mqtt {
proxy_pass http://localhost:8083/mqtt;
proxy_read_timeout 60s;
proxy_set_header Host $host;
proxy_set_header X-Real_IP $remote_addr;
proxy_set_header X-Forwarded-for $remote_addr;
proxy_http_version 1.1;
proxy_set_header Upgrade $http_upgrade;
proxy_set_header Connection 'Upgrade';
}
error_page 500 502 503 504 /50x.html;
location = /50x.html {
root html;
}
}
}
Tips
更多部署資料參考若依系統(tǒng)文檔