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 相关文章推荐
仿猪八戒网左下角的文字滚动效果
Oct 28 Javascript
10个基于浏览器的JavaScript调试工具分享
Feb 07 Javascript
jQuery调用ajax请求的常见方法汇总
Mar 24 Javascript
JSON字符串转JSON对象
Jul 31 Javascript
jquery自定义表格样式
Nov 23 Javascript
bootstrap配合Masonry插件实现瀑布式布局
Jan 18 Javascript
分享十三个最佳JavaScript数据网格库
Apr 07 Javascript
微信小程序授权获取用户详细信息openid的实例详解
Sep 20 Javascript
javascript 判断用户有没有操作页面
Oct 17 Javascript
实例解析ES6 Proxy使用场景介绍
Jan 08 Javascript
JavaScript函数IIFE使用详解
Oct 21 Javascript
vue学习笔记之过滤器的基本使用方法实例分析
Feb 01 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中截取字符串支持utf-8
2007/01/18 PHP
一些使用频率比较高的php函数
2008/10/03 PHP
php 无限分类的树类代码
2009/12/03 PHP
PHP不用第三变量交换2个变量的值的解决方法
2013/06/02 PHP
php中如何防止表单的重复提交
2013/08/02 PHP
php+ajax无刷新分页实例详解
2015/12/07 PHP
thinkPHP中U方法加密传递参数功能示例
2018/05/29 PHP
PHP时间函数使用详解
2019/03/21 PHP
laravel Validator ajax返回错误信息的方法
2019/09/29 PHP
纯js实现的论坛常用的运行代码的效果
2008/07/15 Javascript
JQueryiframe页面操作父页面中的元素与方法(实例讲解)
2013/11/19 Javascript
vue2.0 keep-alive最佳实践
2017/07/06 Javascript
浅谈用Webpack路径压缩图片上传尺寸获取的问题
2018/02/22 Javascript
angularJS开发注意事项
2018/05/26 Javascript
js 实现在2d平面上画8的方法
2018/10/10 Javascript
深度了解vue.js中hooks的相关知识
2019/06/14 Javascript
vue回到顶部监听滚动事件详解
2019/08/02 Javascript
layui-table对返回的数据进行转变显示的实例
2019/09/04 Javascript
Angular+Ionic使用queryParams实现跳转页传值的方法
2020/09/05 Javascript
全面解析Vue中的$nextTick
2020/12/24 Vue.js
[38:32]完美世界DOTA2联赛循环赛 Forest vs DM 第二场 11.06
2020/11/06 DOTA
Python使用pyh生成HTML文档的方法示例
2018/03/10 Python
Python3自定义json逐层解析器代码
2020/05/11 Python
详解CSS3中Media Queries的相关使用
2015/07/17 HTML / CSS
香港现代设计家具品牌:Ziinlife Furniture
2018/11/13 全球购物
公务员培训自我鉴定
2013/09/19 职场文书
创业者是否需要商业计划书?
2014/02/07 职场文书
善意的谎言事例
2014/02/15 职场文书
安卓程序员求职信
2014/02/28 职场文书
大学生职业生涯规划书参考模板
2014/03/05 职场文书
销售主管竞聘书
2014/03/31 职场文书
大学生社会实践活动总结
2014/07/03 职场文书
检讨书范文
2019/04/16 职场文书
Oracle以逗号分隔的字符串拆分为多行数据实例详解
2021/07/16 Oracle
【DOTA2】总决赛血虐~ XTREME GAMING vs MAGMA - OGA DOTA PIT 2022 CN
2022/04/02 DOTA
MySQL数据库实验实现简单数据库应用系统设计
2022/06/21 MySQL