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
fastdfs+nginx集群搭建的实现
Mar 31 Servers
Nginx域名转发使用场景代码实例
Mar 31 Servers
Nginx location 和 proxy_pass路径配置问题小结
Sep 04 Servers
Nginx性能优化之Gzip压缩设置详解(最大程度提高页面打开速度)
Feb 12 Servers
Docker官方工具docker-registry案例演示
Apr 13 Servers
IIS服务器中设置HTTP重定向访问HTTPS
Apr 29 Servers
关于windows server 2012 DC 环境 重启后蓝屏代码:0xc00002e2的问题
May 25 Servers
详解ZABBIX监控ESXI主机的问题
Jun 21 Servers
Linux中各个目录的作用与内容
Jun 28 Servers
Linux安装Docker详细教程
Jul 07 Servers
VMware虚拟机安装 Windows Server 2022的详细图文教程
Sep 23 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
Terran兵种介绍
2020/03/14 星际争霸
php中截取字符串支持utf-8
2007/01/18 PHP
php入门学习知识点八 PHP中for循环基本应用之九九乘法口绝表
2011/07/14 PHP
PHP常用开发函数解析之数组篇[未完结]
2012/07/30 PHP
php小技巧之过滤ascii控制字符
2014/05/14 PHP
PHP Curl出现403错误的解决办法
2014/05/29 PHP
ThinkPHP+EasyUI之ComboTree中的会计科目树形菜单实现方法
2017/06/09 PHP
PHP实现通过CURL上传文件功能示例
2018/05/30 PHP
Extjs学习笔记之二 初识Extjs之Form
2010/01/07 Javascript
javascript简单实现表格行间隔显示颜色并高亮显示
2013/11/29 Javascript
JavaScript实现页面5秒后自动跳转的方法
2015/04/16 Javascript
textarea 在浏览器中固定大小和禁止拖动的实现方法
2016/12/03 Javascript
JavaScript 中 apply 、call 的详解
2017/03/21 Javascript
为你的微信小程序体积瘦身详解
2017/05/20 Javascript
详解vue嵌套路由-params传递参数
2017/05/23 Javascript
微信小程序 获取session_key和openid的实例
2017/08/17 Javascript
web前端开发中常见的多列布局解决方案整理(一定要看)
2017/10/15 Javascript
vue 实现数字滚动增加效果的实例代码
2018/07/06 Javascript
理顺8个版本vue的区别(小结)
2018/09/17 Javascript
前端插件之Bootstrap Dual Listbox使用教程
2019/07/23 Javascript
layui关闭层级、简单监听的实例
2019/09/06 Javascript
解决layui table表单提示数据接口请求异常的问题
2019/09/24 Javascript
JQuery实现ul中添加LI和删除指定的Li元素功能完整示例
2019/10/16 jQuery
Python转码问题的解决方法
2008/10/07 Python
Python实现购物车程序
2018/04/16 Python
python实现文本界面网络聊天室
2018/12/12 Python
Python 3.8 新功能全解
2019/07/25 Python
Tensorflow中批量读取数据的案列分析及TFRecord文件的打包与读取
2020/06/30 Python
Html5原生拖拽相关事件简介以及基础实现
2020/11/19 HTML / CSS
LookFantastic丹麦:英国美容护肤精品在线商城
2016/08/18 全球购物
法国高保真音响和家庭影院商店:Son Video
2019/04/26 全球购物
KIKO MILANO俄罗斯官网:意大利领先的化妆品和护肤品品牌
2021/01/09 全球购物
华为慧通面试题
2012/09/11 面试题
客户表扬信范文
2014/01/10 职场文书
2015年出纳个人工作总结
2015/04/02 职场文书
Go本地测试解耦任务拆解及沟通详解Go本地测试的思路沟通的重要性总结
2022/06/21 Golang