nginx部署多前端项目的几种方法


Posted in Servers onMay 25, 2021

个人总结了3种方法来实现在一台服务器上使用nginx部署多个前端项目的方法。

  • 基于域名配置
  • 基于端口配置
  • 基于location配置

在正式开始之前,我们先来看一下nginx安装的默认配置文件: /etc/nginx/nginx.conf 文件

nginx部署多前端项目的几种方法

可以看到图中的:include /usr/nginx/modules/*.conf,这句话的作用就是可以在nginx启动加载所有 /usr/nginx/modules/ 目录下的 *.conf 文件。 所以,平时我们为了方便管理,可以在此目录下面定义自己的 xx.conf 文件即可。但是注意,一定要以.conf 结尾。

介绍完毕,下面我们先来说一下最常用,也是许多公司线上使用的方式。

基于域名配置

基于域名配置,前提是先配置好了域名解析。比如说你自己买了一个域名:www.fly.com。 然后你在后台配置了2个它的二级域名: a.fly.com、 b.fly.com。

配置文件如下:

配置 a.fly.com 的配置文件:

vim /usr/nginx/modules/a.conf

server {
        listen 80;
        server_name a.fly.com;
        
        location / { 
                root /data/web-a/dist;
                index index.html;
        }
}

配置 b.fly.com 的配置文件:

vim /usr/nginx/modules/b.conf

server {
        listen 80;
        server_name b.fly.com;
        
        location / { 
                root /data/web-b/dist;
                index index.html;
        }
}

这种方式的好处是,主机只要开放80端口即可。然后访问的话直接访问二级域名就可以访问。

基于端口配置

配置文件如下:

配置 a.fly.com 的配置文件:

vim /usr/nginx/modules/a.conf

server {
        listen 8000;
        
        location / { 
                root /data/web-a/dist;
                index index.html;
        }
}

# nginx 80端口配置 (监听a二级域名)
server {
        listen  80;
        server_name a.fly.com;
        
        location / {
                proxy_pass http://localhost:8000; #转发
        }
}

配置 b.fly.com 的配置文件:

vim /usr/nginx/modules/b.conf

server {
        listen 8001;
        
        location / { 
                root /data/web-b/dist;
                index index.html;
        }
}

# nginx 80端口配置 (监听b二级域名)
server {
        listen  80;
        server_name b.fly.com;
        
        location / {
                proxy_pass http://localhost:8001; #转发
        }
}

可以看到,这种方式一共启动了4个server,而且配置远不如第一种简单,所以不推荐。

基于location配置

配置文件如下:

配置 a.fly.com 的配置文件:

vim /usr/nginx/modules/ab.conf

server {
        listen 80;
        
        location / { 
                root /data/web-a/dist;
                index index.html;
        }
        
        location /web-b { 
                alias /data/web-b/dist;
                index index.html;
        }
}

注意: 这种方式配置的话,location / 目录是root,其他的要使用alias。

可以看到,这种方式的好处就是我们只有一个server,而且我们也不需要配置二级域名。并且前端项目里要配置二级目录

react 配置请参考:https://blog.csdn.net/mollerlala/article/details/96427751

vue 配置请参考:https://blog.csdn.net/weixin_33868027/article/details/92139392

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

Servers 相关文章推荐
Nginx快速入门教程
Mar 31 Servers
解决Nginx 配置 proxy_pass 后 返回404问题
Mar 31 Servers
Nginx访问日志及错误日志参数说明
Mar 31 Servers
Nginx本地目录映射实现代码实例
Mar 31 Servers
nginx反向代理配置去除前缀案例教程
Jul 26 Servers
Linux安装apache服务器的配置过程
Nov 27 Servers
Nginx下SSL证书安装部署步骤介绍
Dec 06 Servers
深入解析Apache Hudi内核文件标记机制
Mar 31 Servers
在Windows Server 2012上安装 .NET Framework 3.5 所遇到的问题
Apr 29 Servers
tomcat正常启动但网页却无法访问的几种解决方法
May 06 Servers
Apache SeaTunnel实现 非CDC数据抽取
May 20 Servers
Win Server2016远程桌面如何允许多用户同时登录
Jun 10 Servers
Nginx如何配置Http、Https、WS、WSS的方法步骤
May 11 #Servers
windows下快速安装nginx并配置开机自启动的方法
uwsgi+nginx代理Django无法访问静态资源的解决
May 10 #Servers
教你快速开启Apache SkyWalking的自监控
Apache Calcite 实现方言转换的代码
Apr 24 #Servers
apache基于端口创建虚拟主机的示例
Apr 24 #Servers
Nginx进程管理和重载原理详解
You might like
php通过正则表达式记取数据来读取xml的方法
2015/03/09 PHP
PHP以json或xml格式返回请求数据的方法
2018/05/31 PHP
laravel withCount 统计关联数量的方法
2019/10/10 PHP
javascript 一个函数对同一元素的多个事件响应
2009/07/25 Javascript
jQuery 美元符冲突的解决方法
2010/03/28 Javascript
js冒泡法和数组转换成字符串示例代码
2013/08/14 Javascript
详谈jQuery操纵DOM元素属性 attr()和removeAtrr()方法
2015/01/22 Javascript
jQuery带时间的日期控件代码分享
2015/08/26 Javascript
js实现分割上传大文件
2016/03/09 Javascript
js中数组结合字符串实现查找(屏蔽广告判断url等)
2016/03/30 Javascript
用jQuery获取table中行id和td值的实现代码
2016/05/19 Javascript
JavaScript中for循环的几种写法与效率总结
2017/02/03 Javascript
node.js中cluster的使用教程
2017/06/09 Javascript
js学习总结_基于数据类型检测的四种方式(必看)
2017/07/04 Javascript
微信小程序返回多级页面的实现方法
2017/10/27 Javascript
使用JS判断移动端手机横竖屏状态
2018/07/30 Javascript
玩转vue的slot内容分发
2018/09/22 Javascript
python动态网页批量爬取
2016/02/14 Python
SQLite3中文编码 Python的实现
2017/01/11 Python
python flask实现分页效果
2017/06/27 Python
Python实现对一个函数应用多个装饰器的方法示例
2018/02/09 Python
Python多继承原理与用法示例
2018/08/23 Python
使用Python制作新型冠状病毒实时疫情图
2020/01/28 Python
python 线程的五个状态
2020/09/22 Python
python制作一个简单的gui 数据库查询界面
2020/11/19 Python
python UIAutomator2使用超详细教程
2021/02/19 Python
Lancome兰蔻官方旗舰店:来自法国的世界知名美妆品牌
2018/06/14 全球购物
Linux文件操作命令都有哪些
2015/02/27 面试题
花卉与景观设计系大学生求职信
2013/10/01 职场文书
研究生求职推荐信范文
2013/11/30 职场文书
总经理秘书工作职责
2013/12/26 职场文书
管理专员自荐信
2014/01/26 职场文书
开展批评与自我批评发言材料
2014/05/15 职场文书
2015财务年终工作总结范文
2015/05/22 职场文书
《黄道婆》教学反思
2016/02/22 职场文书
用Python selenium实现淘宝抢单机器人
2021/06/18 Python