使用Nginx部署前后端分离的Vue项目。使用同一个IP+端口,通过不同项目前缀实现部署。如从http://127.0.0.1直接跳转项目变成http://127.0.0.1/myProject

1. 修改vue.config.js文件

  • 找到  module.exports ={} 代码块。
  • 修改 publicPath: process.env.NODE_ENV === "production" ? "/myProject" : "/",

2. 修改.env.production文件,这个文件是打包部署时需要配置的文件

# 生产环境

ENV = 'production'

VUE_APP_BASE_API = '/myProject/prod-api'

3.修改/src/router/index.js文件,加上base: '/myProject'

export default new Router({

  base: '/myProject/',

  mode: 'history', // 去掉url中的#

  scrollBehavior: () => ({ y: 0 }),

  routes: constantRoutes

})

4.修改nginx安装目录下的nginx.conf文件

server { 
    listen 80; 
    server_name bjjzpxxdc; 

    # 访问前端的请求
    location /myProject { 
        alias /etc/nginx/myProject/
        index index.html index.htm; 
        try_files $uri $uri/ /myProject/index.html; 
    } error_page 500 502 503 504 /50x.html; 


    # 访问后端的请求,此处与第2步,VUE_APP_BASE_API = '/myProject/prod-api' 要一致
    location /myProject/prod-api/ { 
        proxy_set_header Host $http_host:8080; 
        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://127.0.0.1:8080/; 
    } 
}

5.重启nginx

# 直接重启

systemctl reload nginx

# 或者是先关闭在打开

systemctl stop nginx
systemctl start nginx

评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值