nginx部署多个vue项目的方法示例


Posted in Javascript onSeptember 06, 2020

上一篇已经介绍了然后配置web项目;今天由于公司需求,需要在同一域名端口下,部署两个项目;今天花了一上午终于弄好了,选择赶紧做一个笔记。

如何连接阿里云服务器就不在这里说了,请看我以前的文章。

首先需要的效果

http://47.97.244.83/login
http://47.97.244.83/student/login

文件目录

nginx部署多个vue项目的方法示例

两个项目并列在同一文件夹内。

准备好两个vue的项目

http://47.97.244.83/login:这个不用修改配置直接build就可以。关键是二级域名的vue项目,需要进行一下修改。

首先在config文件夹内的index.js内修改(注意是build内)

// nginx 配置
 assetsPublicPath: '/student/',

nginx部署多个vue项目的方法示例

这样确保生产出来的文件,在index.html中都是在student下。

nginx部署多个vue项目的方法示例

index.html文件修改

添加 <meta base=/student/ >

最后build的index.html文件如下:

<!DOCTYPE html>
<html>
<head>
	<meta base=/student/ >
	<meta charset=utf-8>
	<meta http-equiv=X-UA-Compatible content="IE=edge">
	<meta name=viewport content="width=device-width,initial-scale=1"><link rel=icon href=./favicon.ico>
	<title>砺行教育管理系统</title>
	<link href=/student/static/css/app.26c5efbf7403094b0b351615f215dca8.css rel=stylesheet>
</head>
<body>
	<noscript><strong>对比起程序报错了</strong></noscript>
	<div id=app></div>
	<script type=text/javascript src=/student/static/js/manifest.c07ff685ddc74bf39577.js></script>
	<script type=text/javascript src=/student/static/js/vendor.63945df20397482ff39e.js></script>
	<script type=text/javascript src=/student/static/js/app.39f0baab8f580b8d4bc2.js></script>
</body>
</html>

在src/router/index.js文件修改
添加 base: ‘/student/',

nginx部署多个vue项目的方法示例

Nginx配置修改

server {
  listen  80;
  server_name localhost;
		# root /usr/local/sixiucheng/codes;
  location / {
   root /usr/local/sixiucheng/codes/dist;
   
	 try_files $uri $uri/ @router;
   index index.html index.htm;
  }

		location /student { 
		alias /usr/local/sixiucheng/codes/student/;
	 try_files $uri $uri/ /student/index.html;
   index index.html index.htm;
  }
  location @router {
   rewrite ^.*$ /index.html last;
  }
  error_page 500 502 503 504 /50x.html;
  location = /50x.html {
   root html;
  }
 }

注意这里的root

nginx部署多个vue项目的方法示例

一个是全局的一个单个引入,这里需要注意一下当注释掉全局的root时候,需要在二级配置下将root改为alias;如下图

nginx部署多个vue项目的方法示例

所以此时的配置为

nginx部署多个vue项目的方法示例

最后一定要注意重启!!!

nginx -s reload

注意:如果80端口失败

1.检查下nginx配置,使用nginx -t 看看有无错误信息
2.检查本地防火墙是否开启80
3.如果是云主机,检查安全组是否开放80权限。

题外话

01…刚开始将alias写成root,导致html页面中的css和js一直404;后来百度到加下面一句话,就可以解决问题;但是这样会将所有的js,css引入的位置修改。这里注意一下。

# 解决css,js引入失败
		 location ~ .*\.(jpg|jpeg|gif|png|ico|css|js|pdf|txt)$ 
		 		{
		 			root /usr/local/sixiucheng/codes;
		 			proxy_temp_path /usr/local/sixiucheng/codes;
		 		}

02…网上还有alias的路径指向,root和alias的区别在于(个人理解,出错希望点出):

location /file/{
alias /var/html/file; #这个查找文件的路径直接是/var/html/file
}
location /file/{
root /var/html/file; #这个查找文件的路径应该是/var/html/file/file
}

到此这篇关于nginx部署多个vue项目的方法示例的文章就介绍到这了,更多相关nginx部署多个vue项目内容请搜索三水点靠木以前的文章或继续浏览下面的相关文章希望大家以后多多支持三水点靠木!

Javascript 相关文章推荐
javascript或asp实现的判断身份证号码是否正确两种验证方法
Nov 26 Javascript
jquery异步调用页面后台方法&amp;#8207;(asp.net)
Mar 01 Javascript
不同Jquery版本引发的问题解决
Oct 14 Javascript
jQuery+html5实现div弹出层并遮罩背景
Apr 15 Javascript
JS简单实现仿百度控制台输出信息效果
Sep 04 Javascript
Map.vue基于百度地图组件重构笔记分享
Apr 17 Javascript
node.js操作MongoDB的实例详解
Oct 11 Javascript
如何在微信小程序里面退出小程序的方法
Apr 28 Javascript
Layui点击图片弹框预览的实现方法
Sep 16 Javascript
node.js中对Event Loop事件循环的理解与应用实例分析
Feb 14 Javascript
JavaScript 实现自己的安卓手机自动化工具脚本(推荐)
May 13 Javascript
理解JavaScript中的Proxy 与 Reflection API
Sep 21 Javascript
js实现简单的无缝轮播效果
Sep 05 #Javascript
JS+CSS实现炫酷光感效果
Sep 05 #Javascript
js实现炫酷光感效果
Sep 05 #Javascript
js实现搜索提示框效果
Sep 05 #Javascript
jQuery实现简单三级联动效果
Sep 05 #jQuery
javascript canvas实现简易时钟例子
Sep 05 #Javascript
vue中使用vue-pdf的方法详解
Sep 05 #Javascript
You might like
MySQL中create table语句的基本语法是
2007/01/15 PHP
php实现的数组转xml案例分析
2019/09/28 PHP
laravel 字段格式化 modle 字段类型转换方法
2019/09/30 PHP
用于table内容排序
2006/07/21 Javascript
Javascript中的变量使用说明
2010/05/18 Javascript
ExtJS4 组件化编程,动态加载,面向对象,Direct
2011/05/12 Javascript
JavaScript中的关键字&quot;VAR&quot;使用详解 分享
2013/07/31 Javascript
原生js实现改变随意改变div属性style的名称和值的结果
2013/09/26 Javascript
详解Javascript ES6中的箭头函数(Arrow Functions)
2016/08/24 Javascript
BootStrap CSS全局样式和表格样式源码解析
2017/01/20 Javascript
video.js使用改变ui过程
2017/03/05 Javascript
JavaScript求一组数的最小公倍数和最大公约数常用算法详解【面向对象,回归迭代和循环】
2018/05/07 Javascript
Vue CLI 3搭建vue+vuex最全分析(推荐)
2018/09/27 Javascript
vue+webpack 更换主题N种方案优劣分析
2019/10/28 Javascript
js实现拖拽与碰撞检测
2020/09/18 Javascript
JS常用跨域方法实现原理解析
2020/12/09 Javascript
[01:02:32]DOTA2-DPC中国联赛 正赛 iG vs PSG.LGD BO3 第二场 2月26日
2021/03/11 DOTA
Python中处理unchecked未捕获异常实例
2015/01/17 Python
Python使用MONGODB入门实例
2015/05/11 Python
python中利用队列asyncio.Queue进行通讯详解
2017/09/10 Python
Python内置模块turtle绘图详解
2017/12/09 Python
Django项目创建到启动详解(最全最详细)
2019/09/07 Python
keras用auc做metrics以及早停实例
2020/07/02 Python
Cpython解释器中的GIL全局解释器锁
2020/11/09 Python
CSS3 linear-gradient线性渐变生成加号和减号的方法
2017/11/21 HTML / CSS
阿拉伯世界最大的电子卖场:Souq埃及
2016/08/01 全球购物
几道PHP的面试题
2012/05/19 面试题
市场部管理制度
2014/02/02 职场文书
公司节能减排倡议书
2014/05/14 职场文书
锦旗标语大全
2014/06/23 职场文书
2014年档案管理工作总结
2014/11/17 职场文书
骆驼祥子读书笔记
2015/06/26 职场文书
教师节大会主持词
2015/07/06 职场文书
MongoDB balancer的使用详解
2021/04/30 MongoDB
vue-router中hash模式与history模式的区别
2021/06/23 Vue.js
利用JavaScript写一个简单计算器
2021/11/27 Javascript