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 tp3.2.3 404问题解决方案
Mar 31 Servers
nginx配置proxy_pass中url末尾带/与不带/的区别详解
Mar 31 Servers
Nginx 根据URL带的参数转发的实现
Apr 01 Servers
nginx实现动静分离的方法示例
Nov 07 Servers
Nginx源码编译安装过程记录
Nov 17 Servers
Nginx设置HTTPS的方法步骤 443证书配置方法
Mar 21 Servers
nginx常用配置conf的示例代码详解
Mar 21 Servers
Tomcat starup.bat 脚本实现开机自启动
Apr 20 Servers
使用Nginx的访问日志统计PV与UV
May 06 Servers
Nginx 常用配置
May 15 Servers
windows server2008 开启端口的实现方法
Jun 25 Servers
Docker部署Mysql8的实现步骤
Jul 07 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
Windows下IIS6/Apache2.2.4+MySQL5.2+PHP5.2.1安装配置方法
2007/05/03 PHP
PHP5下$_SERVER变量不再受magic_quotes_gpc保护的弥补方法
2012/10/31 PHP
PHP根据IP判断地区名信息的示例代码
2014/03/03 PHP
php数组合并的二种方法
2014/03/21 PHP
php中的curl_multi系列函数使用例子
2014/07/29 PHP
PHP删除数组中特定元素的两种方法
2019/02/28 PHP
jQuery效果 slideToggle() 方法(在隐藏和显示之间切换)
2011/06/28 Javascript
document节点对象的获取方式示例介绍
2013/12/24 Javascript
jquery加载图片时以淡入方式显示的方法
2015/01/14 Javascript
使用Angular和Nodejs、socket.io搭建聊天室及多人聊天室
2015/08/21 NodeJs
jQuery动画效果图片轮播特效
2016/01/12 Javascript
javascript与jquery动态创建html元素示例
2016/07/25 Javascript
Bootstrap Search Suggest使用例子
2016/12/21 Javascript
jquery鼠标悬停导航下划线滑出效果
2017/09/29 jQuery
利用angular、react和vue实现相同的面试题组件
2018/02/19 Javascript
JavaScript面向对象程序设计创建对象的方法分析
2018/08/13 Javascript
深入浅析golang zap 日志库使用(含文件切割、分级别存储和全局使用等)
2020/02/19 Javascript
深入理解webpack process.env.NODE_ENV配置
2020/02/23 Javascript
ES6扩展运算符和rest运算符用法实例分析
2020/05/23 Javascript
微信小程序向Java后台传输参数的方法实现
2020/12/10 Javascript
状态机的概念和在Python下使用状态机的教程
2015/04/11 Python
使用Python生成url短链接的方法
2015/05/04 Python
Python+matplotlib实现计算两个信号的交叉谱密度实例
2018/01/08 Python
对Python+opencv将图片生成视频的实例详解
2019/01/08 Python
python opencv如何实现图片绘制
2020/01/19 Python
tensorflow ckpt模型和pb模型获取节点名称,及ckpt转pb模型实例
2020/01/21 Python
tf.concat中axis的含义与使用详解
2020/02/07 Python
使用CSS3 制作一个material-design 风格登录界面实例
2016/12/12 HTML / CSS
骨干教师培训制度
2014/01/13 职场文书
兴趣小组活动总结
2014/05/05 职场文书
竞选班干部演讲稿400字
2014/08/20 职场文书
委托书范本
2014/09/13 职场文书
道歉短信大全
2015/05/12 职场文书
三严三实·严以律己心得体会
2016/01/13 职场文书
导游词之新疆尼雅遗址
2019/10/16 职场文书
MySQL实现用逗号进行拼接、以逗号进行分割
2022/12/24 MySQL