Nginx部署多个Vue项目,配置二级域名

一、前言

  • 一个服务器需要部署多个前端项目
    • 比如需要一个企业官网
    • 比如需要一个管理系统
  • 这时候一个Nginx要怎么配置多个前端项目呢
  • 本文详细讲解: 通过二级域名的方式来部署多个项目,实现如下效果:
    • 访问www.xxx.com到企业官网
    • 访问www.xxx.com/admin到管理系统

二、配置Vue工程

  • 一级域名的view不用改
  • 二级域名的admin需要修改

2.1 配置router

src/router/index.js

  • 增加一行base: 'admin',
export default new Router({
  base: 'admin',
  mode: 'history', // 去掉url中的#
  scrollBehavior: () => ({ y: 0 }),
  routes: constantRoutes
})

2.2 配置vue.config

vue.config.js

  • 修改publicPath: "/admin/",
// vue.config.js 配置说明
//官方vue.config.js 参考文档 https://cli.vuejs.org/zh/config/#css-loaderoptions
// 这里只列一部分,具体配置参考文档
module.exports = {
  // 部署生产环境和开发环境下的URL。
  // 默认情况下,Vue CLI 会假设你的应用是被部署在一个域名的根路径上
  // 例如 https://www.ruoyi.vip/。如果应用被部署在一个子路径上,你就需要用这个选项指定这个子路径。例如,如果你的应用被部署在 https://www.ruoyi.vip/admin/,则设置 baseUrl 为 /admin/。
  publicPath: "/admin/", //process.env.NODE_ENV === "production" ? "/" : "/",
  // 在npm run build 或 yarn build 时 ,生成文件的目录名称(要和baseUrl的生产环境路径一致)(默认dist)
  outputDir: 'dist',
  // 用于放置生成的静态资源 (js、css、img、fonts) 的;(项目打包之后,静态资源会放在这个文件夹下)
  assetsDir: 'static', 
  // 是否开启eslint保存检测,有效值:ture | false | 'error'
  lintOnSave: false,

三、上传dist文件

  • dist是Vue生成的部署文件,上传到云端

在这里插入图片描述

四、配置nginx.cnf

  • 一级域名部署view_dist
  • 二级域名部署admin_dist
  • 一级域名路径用root,二级域名路径用alias
vim /usr/local/nginx/conf/nginx.conf
cd /usr/local/nginx/sbin/
./nginx -s reload
    server {
        listen       80;
        server_name  localhost;

        location / {
            root   /root/software/view_dist;
            try_files $uri $uri/ /index.html;
            index  index.html index.htm;
        }

        location /admin {
            alias   /root/software/admin_dist;
            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/;
        }
        #error_page  404              /404.html;

        # redirect server error pages to the static page /50x.html
        #
        error_page   500 502 503 504  /50x.html;
        location = /50x.html {
            root   html;
        }
    }

觉得好,就一键三连呗(点赞+收藏+关注)

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

小康师兄

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值