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获取IP地址都是127.0.0.1 的问题
Sep 25 Servers
Linux安装apache服务器的配置过程
Nov 27 Servers
Nginx性能优化之Gzip压缩设置详解(最大程度提高页面打开速度)
Feb 12 Servers
Shell脚本一键安装Nginx服务自定义Nginx版本
Mar 20 Servers
Nginx的基本概念和原理
Mar 21 Servers
如何Tomcat中使用ipv6地址
May 06 Servers
tomcat默认最大连接数及相关调整方法
May 06 Servers
Nginx 配置 HTTPS的详细过程
May 30 Servers
shell进度条追踪指令执行时间的场景分析
Jun 16 Servers
腾讯云服务器部署前后分离项目之前端部署
Jun 28 Servers
Linux中各个目录的作用与内容
Jun 28 Servers
教你使用RustDesk 搭建一个自己的远程桌面中继服务器
Aug 14 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下通过exec获得计算机的唯一标识[CPU,网卡 MAC地址]
2011/06/09 PHP
将酷狗krc歌词解析并转换为lrc歌词php源码
2014/06/20 PHP
php的curl封装类用法实例
2014/11/07 PHP
PHP中file_exists()判断中文文件名无效的解决方法
2014/11/12 PHP
Zend Framework连接Mysql数据库实例分析
2016/03/19 PHP
php 函数使用可变数量的参数方法
2017/05/02 PHP
laravel框架路由分组,中间件,命名空间,子域名,路由前缀实例分析
2020/02/18 PHP
HTTP头隐藏PHP版本号实现过程解析
2020/12/09 PHP
可拖动窗口,附带鼠标控制渐变透明,开启关闭功能
2006/06/26 Javascript
一个简单的JavaScript 日期计算算法
2009/09/11 Javascript
JavaScript聚焦于第一个字段的代码
2010/10/15 Javascript
js中setTimeout()与clearTimeout()用法实例浅析
2015/05/12 Javascript
深入理解逻辑表达式的用法 与或非的用法
2016/06/06 Javascript
Vue.js组件使用开发实例教程
2016/11/01 Javascript
Vuex2.0+Vue2.0构建备忘录应用实践
2016/11/30 Javascript
ES6概念 Symbol.keyFor()方法
2016/12/25 Javascript
springMVC + easyui + $.ajaxFileUpload实现文件上传注意事项
2017/04/23 Javascript
js排序与重组的实例讲解
2017/08/28 Javascript
vue 实现数字滚动增加效果的实例代码
2018/07/06 Javascript
解决Idea、WebStorm下使用Vue cli脚手架项目无法使用Webpack别名的问题
2019/10/11 Javascript
Preload基础使用方法详解
2020/02/03 Javascript
[08:53]DOTA2-DPC中国联赛 正赛 PSG.LGD vs LBZS 选手采访
2021/03/11 DOTA
Python实现抓取百度搜索结果页的网站标题信息
2015/01/22 Python
使用Python发送邮件附件以定时备份MySQL的教程
2015/04/25 Python
Python模拟三级菜单效果
2017/09/11 Python
python做反被爬保护的方法
2019/07/01 Python
Python pip替换为阿里源的方法步骤
2019/07/02 Python
北美最大的手工艺品零售商之一:Michaels Stores
2019/02/27 全球购物
酒店端午节促销方案
2014/02/18 职场文书
房地产项目建议书
2014/03/12 职场文书
意向协议书范本
2014/04/23 职场文书
《棉鞋里的阳光》教学反思
2014/04/24 职场文书
副检察长四风问题对照检查材料思想汇报
2014/10/07 职场文书
工伤认定行政答辩状
2015/05/22 职场文书
2016新年年会主持词
2015/07/06 职场文书
如何把新闻人物写得立体、鲜活?
2019/08/14 职场文书