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 String 对象
Apr 25 Javascript
事件绑定之小测试  onclick &amp;&amp; addEventListener
Jul 31 Javascript
JS getAttribute和setAttribute(取得和设置属性)的使用介绍
Jul 10 Javascript
js实现点小图看大图效果的思路及示例代码
Oct 28 Javascript
js中replace的用法总结
Dec 27 Javascript
javascript+HTML5的Canvas实现Lab单车动画效果
Aug 07 Javascript
关于JS中setTimeout()无法调用带参函数问题的解决方法
Jun 21 Javascript
JavaScript实现简单评论功能
Aug 17 Javascript
打字效果动画的4种实现方法(超简单)
Oct 18 Javascript
vue elementUI tree树形控件获取父节点ID的实例
Sep 12 Javascript
JS使用栈判断给定字符串是否是回文算法示例
Mar 04 Javascript
在vue中高德地图引入和轨迹的绘制的实现
Oct 11 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
全世界最小的php网页木马一枚 附PHP木马的防范方法
2009/10/09 PHP
php实现文件下载简单示例(代码实现文件下载)
2014/03/10 PHP
PHP动态规划解决0-1背包问题实例分析
2015/03/23 PHP
PHP生成指定随机字符串的简单实现方法
2015/04/01 PHP
php修改文件上传限制方法汇总
2015/04/07 PHP
WordPress开发中短代码的实现及相关函数使用技巧
2016/01/05 PHP
验证token、回复图文\文本、推送消息的实用微信类php代码
2016/06/28 PHP
yii2实现Ueditor百度编辑器的示例代码
2018/11/02 PHP
js利用div背景,做一个竖线的效果。
2008/11/22 Javascript
js中将字符串转换成json的三种方式
2011/01/12 Javascript
DOM基础教程之使用DOM + Css
2015/01/20 Javascript
基于JavaScript将表单序列化类型的数据转化成对象的处理(允许对象中包含对象)
2015/12/28 Javascript
跨域请求的完美解决方法(JSONP, CORS)
2016/06/12 Javascript
利用Angularjs和原生JS分别实现动态效果的输入框
2016/09/01 Javascript
基于BootStrap与jQuery.validate实现表单提交校验功能
2016/12/22 Javascript
VueJs路由跳转——vue-router的使用详解
2017/01/10 Javascript
vue.js如何更改默认端口号8080为指定端口的方法
2017/07/14 Javascript
Vue自定义属性实例分析
2019/02/23 Javascript
vue组件库的在线主题编辑器的实现思路
2020/04/03 Javascript
简单了解Vue + ElementUI后台管理模板
2020/04/07 Javascript
vue路由的配置和页面切换详解
2020/09/09 Javascript
在vue中获取wangeditor的html和text的操作
2020/10/23 Javascript
vue3.0实现插件封装
2020/12/14 Vue.js
[41:08]TNC vs VG 2018国际邀请赛小组赛BO2 第一场 8.16
2018/08/17 DOTA
Python有序查找算法之二分法实例分析
2017/12/11 Python
Flask之pipenv虚拟环境的实现
2019/11/26 Python
pytorch三层全连接层实现手写字母识别方式
2020/01/14 Python
Python matplotlib修改默认字体的操作
2020/03/05 Python
HTML5实现简单图片上传所遇到的问题及解决办法
2016/01/20 HTML / CSS
Skyscanner阿联酋:全球领先的旅游搜索平台
2017/11/25 全球购物
质检部职责
2013/12/28 职场文书
办理居住证介绍信
2014/01/15 职场文书
商场父亲节活动方案
2014/08/27 职场文书
领导班子个人对照检查剖析材料
2014/09/29 职场文书
2015年简历自我评价范文
2015/03/11 职场文书
公司周年庆典致辞
2015/07/30 职场文书