假设你有以下多个 Vue + Spring Boot 项目:
项目 | Vue 构建目录 | 端口 | 后端地址 |
---|---|---|---|
项目A | /var/www/projectA | 9090 | localhost:9099 |
项目B | /var/www/projectB | 9091 | localhost:9100 |
对应 Nginx 配置
# 项目A
server {
listen 9090;
server_name 192.168.217.137;
root /var/www/projectA;
index index.html;
access_log /var/log/nginx/projectA_access.log;
error_log /var/log/nginx/projectA_error.log;
location / {
try_files $uri /index.html;
}
location /api/ {
proxy_pass http://localhost:9099/;
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
}
}
# 项目B
server {
listen 9091;
server_name 192.168.217.137;
root /var/www/projectB;
index index.html;
access_log /var/log/nginx/projectB_access.log;
error_log /var/log/nginx/projectB_error.log;
location / {
try_files $uri /index.html;
}
location /api/ {
proxy_pass http://localhost:9100/;
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
}
}
启动服务后查看日志
tail -f /var/log/nginx/projectA_access.log
tail -f /var/log/nginx/projectA_error.log
若你使用的是 Vue + Spring Boot 分离部署,确保后端的 @CrossOrigin
已正确设置,或者在 nginx 中使用统一 /api/
代理。