nginx配置多个vue项目

文章介绍了两种在nginx中配置多个vue项目的方法。一种是通过设置多个server块,每个项目绑定不同端口;另一种是在同一server块内配置,通过调整vue项目的publicPath和router基路径,使多个项目共享同一端口。在后者中,vue项目的打包配置也需要相应调整。
摘要由CSDN通过智能技术生成

两种配置方式

如何在nginx配置多个vue项目?第一种是使用不同的端口,既配置多个server即可。第二种是同一个端口,既在一个server里面配置多个vue项目。

使用多个server配置多个vue项目(使用多个端口)

这个方式最简单,将第一份server配置拷贝一下,稍微调整一下就可以了,示例如下:

server {
    listen       9001;
    server_name  localhost;
	# 这个是第一个vue项目 页面访问地址 http://ip:9001/one
    location /one {
         root   /home/project/dist/;
         index  index.html index.htm;
         try_files $uri $uri/ /index.html; # 防止页面刷新404
    }
    ... ...
}

server {
    listen       9002;
    server_name  subhost;
	# 这个是第二个vue项目 页面访问地址 http://ip:9002/two
    location  /two {
         root   /home/sub_project/dist/;
         index   index.html;
         try_files $uri $uri/ /index.html; # 防止页面刷新404
    }
    ... ...
}

在一个server配置多个项目(共用一个端口)

多个端口,只需要调整nginx配置,若使用同一个端口,则需要稍微调整一下vue打包配置。

  • 调整子项目vue.config.js文件的publicPath属性值
... ...
module.exports = {
  publicPath: '/sub', # 非主项目,这边要修改一下指定路径
  outputDir: 'dist',  # 这个不用调整
  assetsDir: 'static',# 这个也不需要调整
  ... ...
}
  • 调整子项目router配置的创建路由配置
... ...
const createRouter = () => new Router({
  base: '/sub', # 调整这里,路径跟publicPath保持一致即可
  mode: 'history', // require service support
  scrollBehavior: () => ({ y: 0 }),
  routes: routers 
})
... ...
  • 调整完毕后,直接执行build打包命令,可以发现index.html引入js路径增加了/sub
... ...
<script type="text/javascript" src="/sub/static/js/chunk-vendors.js"></script>
<script type="text/javascript" src="/sub/static/js/app.js"></script>
... ...
  • 最后,调整nginx的server配置
server {
    listen       9001;
    server_name  localhost;
	# 这个是第一个vue项目 页面访问地址 http://ip:9001
    location / {
         root   /home/project/dist/;
         index  index.html index.htm;
         try_files $uri $uri/ /index.html;
    }
    # 这个是第二个vue项目 页面访问地址 http://ip:9001/sub
    location  /sub {
         alias   /home/sub_project/dist/;
         index   index.html;
         try_files $uri $uri/ /index.html;
    }
}
  • 5
    点赞
  • 19
    收藏
    觉得还不错? 一键收藏
  • 4
    评论
你使用Docker部署多个Vue应用到Nginx上。首先,确保你的Vue应用已经被打包成dist文件夹。接下来,需要进行以下几个步骤: 1. 使用以下命令拉取Nginx的镜像:docker pull nginx。这个命令会将Nginx下载到你的本地环境中。 2. 将dist文件夹放到/opt/nginx目录下,与其他文件夹处于同一层级。 3. 执行以下命令来运行Nginx容器并将dist文件夹映射到Nginx中: sudo docker run --name nginx01 -p 8080:80 -v /opt/nginx/html:/usr/share/nginx/html -v /opt/nginx/logs:/var/log/nginx -v /opt/nginx/conf:/etc/nginx -v /opt/nginx/dist:/opt/dist -d nginx。 这个命令会创建一个名为nginx01的Nginx容器,并将本地的8080端口映射到容器的80端口,同时将dist文件夹映射到Nginx容器中的相应目录。 通过这个步骤,你就可以在Nginx部署多个Vue应用了。每个应用都可以通过不同的端口进行访问。你可以根据需要,使用类似的命令创建多个Nginx容器来部署更多的Vue应用。<span class="em">1</span><span class="em">2</span><span class="em">3</span> #### 引用[.reference_title] - *1* *2* [docker部署nginxvue(可以部署多个nginxvue)](https://blog.csdn.net/qq_35498696/article/details/124484135)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_1"}}] [.reference_item style="max-width: 50%"] - *3* [Docker结合Jenkins部署vue项目](https://download.csdn.net/download/weixin_38672807/14885048)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_1"}}] [.reference_item style="max-width: 50%"] [ .reference_list ]
评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值