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常用命令放入shell脚本详解
Mar 31 Servers
阿里云Nginx配置https实现域名访问项目(图文教程)
Mar 31 Servers
nginx负载功能+nfs服务器功能解析
Feb 28 Servers
CKAD认证中部署k8s并配置Calico插件
Mar 31 Servers
阿里云日志过滤器配置日志服务
Apr 09 Servers
Ubuntu Server 安装Tomcat并配置systemctl
Apr 28 Servers
KVM基础命令详解
Apr 30 Servers
GPU服务器的多用户配置方法
Jul 07 Servers
阿里云服务器(windows)手动部署FTP站点详细教程
Aug 05 Servers
Nginx跨域问题解析与解决
Aug 05 Servers
Shell中的单中括号和双中括号的用法详解
Dec 24 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下MAIL的另一解决方案
2006/10/09 PHP
PHP 中提示undefined index如何解决(多种方法)
2016/03/16 PHP
PHP获取本周所有日期或者最近七天所有日期的方法
2018/06/20 PHP
thinkphp5使用无限极分类
2019/02/18 PHP
Code: write(s,d) 输出连续字符串
2007/08/19 Javascript
javascript arguments 传递给函数的隐含参数
2009/08/21 Javascript
Knockoutjs快速入门(经典)
2012/12/24 Javascript
使用jQuery.fn自定义jQuery翻页插件
2013/01/20 Javascript
js对table的td进行相同内容合并示例详解
2013/12/27 Javascript
文本域中换行符的替换示例
2014/03/04 Javascript
Javascript的setTimeout()使用闭包特性时需要注意的问题
2014/09/23 Javascript
js简单抽奖代码
2015/01/16 Javascript
js随机生成字母数字组合的字符串 随机动画数字
2015/09/02 Javascript
基于JavaScript实现通用tab选项卡(通用性强)
2016/01/07 Javascript
jquery拼接ajax 的json和字符串拼接的方法
2017/03/11 Javascript
Bootstrap响应式表格详解
2017/05/23 Javascript
详解vuex 中的 state 在组件中如何监听
2017/05/23 Javascript
nodejs开发微信小程序实现密码加密
2017/07/11 NodeJs
Node.js的进程管理的深入理解
2019/01/09 Javascript
详解ES6 export default 和 import语句中的解构赋值
2019/05/28 Javascript
python微元法计算函数曲线长度的方法
2018/11/08 Python
Python3获取拉勾网招聘信息的方法实例
2019/04/03 Python
win10子系统python开发环境准备及kenlm和nltk的使用教程
2019/10/14 Python
浅析python redis的连接及相关操作
2019/11/07 Python
Python3爬虫中Splash的知识总结
2020/07/10 Python
python 还原梯度下降算法实现一维线性回归
2020/10/22 Python
德国鞋子网上商店:Omoda.de
2017/03/31 全球购物
澳大利亚运动鞋商店:Platypus Shoes
2019/09/27 全球购物
亚马逊新加坡官方网站:Amazon.sg
2020/03/25 全球购物
演讲稿开场白台词
2014/08/25 职场文书
2015年反腐倡廉工作总结
2015/05/14 职场文书
南京南京观后感
2015/06/02 职场文书
C3 线性化算法与 MRO之Python中的多继承
2021/10/05 Python
python实现会员信息管理系统(List)
2022/03/18 Python
TypeScript 使用 Tuple Union 声明函数重载
2022/04/07 Javascript
详细介绍python操作RabbitMq
2022/04/12 Python