前言

  • 最近在实际开发过程中,需要在服务器部署2个项目。需要nginx二级域名。

  • 开始时候在网上查了一圈,各有说法,不是很全,很头大。这里把自己成功的二级域名代理记录一下。

  • 网上有很多文章说要该router.js文件,要该vue.config.js中的publicPath的路径问题。不用这么麻烦。

  • 很多文章都是说在nginx配置2个server就行了,但其实你不在域名哪里解析的话是访问不到的(重点)。

具体实现

1.两个项目的router.js都不用该

2.vue.config.js中的publicPath的路径使用相对路径就行了。

publicPath: './',

3.在服务器域名哪里解析二级域名(在购买域名地方,比如阿里云)

以阿里云为例

1.找到控制台-域名-解析设置地方

2.点击解析设置添加记录,只需要设置2个地方,二级域名名字,域名绑定服务器地址

4.Nginx配置

在配置之前给大家讲解一下server,以我们域名是www.baidu.com为例子

server {listen       80;#1.定义服务器的默认网站根目录位置(就是默认域名比如www.baidu.com)server_name  localhost;#2.dist文件放在位置location / {root   html/dist;index  index.html index.htm;try_files $uri $uri/ /index.html; #解决页面刷新404问题}#3.服务器运行的后端架包地址location /api/ {proxy_pass http://localhost:8080;proxy_set_header Host $HOST;rewrite "^/api/(.*)" /$1 break;}
​error_page   500 502 503 504  /50x.html;location = /50x.html {root   html;}
​}

1.server_name可以理解为域名地址,localhost就是www.baidu.com

2.root是你的dist文件在nginx中位置,一般都放在nginx-html文件夹中。

3./api/ 就是前端vue.config.js跨域代理的标识,rewrite "^/api/(.*)" /$1 break;这一句就是去除这个标识跟config文件中这个是一样道理

pathRewrite: {// 重写路径: 去掉路径中开头的'/dev-api''^/dev-api': ''
}

我们要有清楚概念,前端项目打完包之后vue.config.js就已经失效,通过nginx转发,但是我们打完包之后是生产上线环境,所以这个/api/需要跟前端.env.production文件中的标识对应起来。

4.这样我们一个server重要配置就这几个了,当我们上线2个项目的时候,在复制一个server,域名解析后,配置server这几个重要地方就可以二级域名访问了。

Nginx-conf文件夹-nginx.conf全部配置

worker_processes  1;
events {worker_connections  1024;
}
​
​
http {include       mime.types;default_type  application/octet-stream;sendfile        on;keepalive_timeout  65;
​
​server {listen       80;#定义服务器的默认网站根目录位置server_name  localhost;location / {root   html/dist;index  index.html index.htm;try_files $uri $uri/ /index.html; #解决页面刷新404问题}location /api/ {proxy_pass http://localhost:8080;proxy_set_header Host $HOST;rewrite "^/api/(.*)" /$1 break;}error_page   500 502 503 504  /50x.html;location = /50x.html {root   html;}
​}#二级域名server {listen       80;server_name  weibao.baidu.com;#这里root是因为我在html文件夹中新建了一个main文件夹,这个文件夹中放第二个项目dist文件location / {root   html/main/dist;index  index.html index.htm;try_files $uri $uri/ /index.html; #解决页面刷新404问题}error_page   500 502 503 504  /50x.html;location = /50x.html {root   html;}location /prod-api/ {proxy_pass http://localhost:8800;proxy_set_header Host $HOST;rewrite "^/prod-api/(.*)" /$1 break;}}
​
}

结果:这样我们就在服务器部署2个项目,更多同理

1.主项目访问 www.baidu.com

2.第二个项目 www.weibao.baidu.com

注意:

可以复制,但需要改上面说的几个重要地方,二级域名解析非常重要(不然怎么也没用)


总结:

经过这一趟流程下来相信你也对 Nginx-部署2个vue项目(多个项目)-二级域名设置代理 有了初步的深刻印象,但在实际开发中我 们遇到的情况肯定是不一样的,所以我们要理解它的原理,万变不离其宗。加油,打工人!

什么不足的地方请大家指出谢谢 -- 風过无痕

Nginx-部署2个vue项目(多个项目)-二级域名设置代理相关推荐

  1. 用uwsgi和nginx 部署 django和vue打造的前后端分离项目

    用uwsgi和nginx 部署 django和vue打造的前后端分离项目 前言 由于现在没有彻底掌握nginx的使用,部署起来有点磕磕绊绊,为了防止以后再次需要部署的时候无法快速找到适合的资料,以此文 ...

  2. 蚂蚁分类信息系统Nginx伪静态规则支持二级域名设置方法

    蚂蚁分类信息系统Nginx伪静态规则支持二级域名设置方法 nginx环境中蚂蚁分类信息系统支持二级域名访问实现方法 1.后台生成所有城市目录 2.nginx伪静态增加配置 if ( $host ~* ...

  3. 同一域名端口下,通过nginx部署多个vue项目

    情景介绍 服务器上80端口已部署一套vue项目,现在乃至未来还可能要部署n个前端项目,而已部署的项目的nginx的配置不能修改 项目配置 假设需要部署的第二个vue项目是放在服务器的  "p ...

  4. nginx部署多个vue多页面项目

    众所周知,vue主要是用于开发单页应用的,在网上,也可以通过修改配置文件,实现多页面应用的开发,通过配置方式的开发多页面会有较多的缺点,在网上有许多论述,在此不再多言.此篇文章主要讲的是vue多页面的 ...

  5. nginx配置vue项目500_一个Nginx部署多个vue前端项目总结

    摘要: 近来接手了一个二次开发的前后端分离模式的项目,其中在前端项目的部署上需要让2个前端项目都部署到一个IP地址和端口下,那么我们这里就要用到Nginx了,接下来我们看看如何在一个Nginx下部署2 ...

  6. nginx证书绑定及二级域名反向代理

    两个需求,一是nginx绑定证书并反向代理http服务:二是二级域名的反向代理         一.nginx绑定证书并反向代理: 首先需要nginx服务器及证书,证书包括.pem证书文件和.key证 ...

  7. ruoyi-vue Nginx配置二级域名

    一.前言 若依官网项目部署手册,前端部署到80端口一级域名下的.一级域名官网占用,这时就需要配置二级域名. 二.ruoyi-ui 前端vue配置 2.1 配置vue.config.js 修改publi ...

  8. vue项目nginx部署子目录_vue 多项目部署---二级目录

    新项目:同一域名下部署多个vue项目, 根目录vue项目不需要按下面的方式进行打包部署 https://www.bitedit.com/ 下面三个项目以二级目录部署 https://www.bited ...

  9. 【Vue】Docker + Nginx 部署 Vue3.0 项目

    Docker + Nginx 部署 Vue3.0 项目 1.用指令 npm run build 打包vue.js项目(该项目是在WebStorm里面新建的Vue空项目). 打包成功后,会生成一个目录d ...

最新文章

  1. 正则化与L0、L1、L2范数略解
  2. 居中符号怎么打_小学语文标点符号的正确书写格式(附图文展示),让孩子牢记考试不丢分!...
  3. python即时标记_【Python】读书笔记:Python基础教程-项目1-即时标记
  4. c++中的全排列函数next_permutation()
  5. java学习(121):treeset排序集合
  6. login.html id=9453,SN100C Sublizenzierung und Aufnahme in die ISO 9453
  7. linux查看共享内存max,浅析Linux的共享内存与tmpfs文件系统
  8. python语言的主网址-python调用浏览器,打开一个网址
  9. 惊呆了!这一操作将让NLP再次腾飞!
  10. jQuery-星级评价
  11. odoo采购单入库代码剖析
  12. 2021年秋互联网思维期末考试
  13. python中的pika模块
  14. NAR:vRhyme - 对宏基因组中的病毒基因组进行分选的生信工具
  15. Snapper 1.3, FireFox截屏插件
  16. 菩萨到底能不能保佑我们
  17. win10系统VMware虚拟机安装linux使用NAT模式上网配置-命令行上网
  18. 记canvas优化图片抠图历程
  19. C初阶必写的C语言小游戏—扫雷,一看就会,看完就能写
  20. JAVA基础 - 数组中有没有length()这个方法?String中有没有 length()这个方法?

热门文章

  1. 异星工厂机器人教程_异星工厂 系统教程及全任务图文攻略
  2. C++成员是指针的处理(二)-引用技术
  3. D/P: 付款交单(documents against payment)
  4. 手游工作室怎么防封?
  5. redmine mysql 默认密码_redmine密码忘记了,折腾了一晚上
  6. python音视频开发_Python音视频开发:消除抖音短视频Logo的图形化工具实现
  7. 跳出内循环,继续下一次外循环的写法
  8. 新浪微博批量加关注的方法
  9. [转载] 赚客吧网站修改hosts
  10. Lesson 15 I WANT TO FLY