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配置并兼容HTTP实现代码解析
Mar 31 Servers
Nginx开启Brotli压缩算法实现过程详解
Mar 31 Servers
nginx里的rewrite跳转的实现
Mar 31 Servers
Nginx域名转发使用场景代码实例
Mar 31 Servers
Nginx反向代理至go-fastdfs案例讲解
Aug 02 Servers
Nginx图片服务器配置之后图片访问404的问题解决
Mar 21 Servers
阿里云ECS云服务器快照的概念以及如何使用
Apr 21 Servers
Nginx配置使用详解
Jul 07 Servers
本地搭建minio文件服务器(使用bat脚本启动)的方法
Jul 15 Servers
CentOS7设置ssh服务以及端口修改方式
Dec 24 Servers
Valheim服务器 Mod修改安装教程 【ValheimPlus】
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
火影忍者:三大瞳力之一的白眼,为什么没有写轮眼那么出色?
2020/03/02 日漫
PHP中simplexml_load_string函数使用说明
2011/01/01 PHP
mongo Table类文件 获取MongoCursor(游标)的实现方法分析
2013/07/01 PHP
PHP实现将base64编码字符串转换成图片示例
2018/06/22 PHP
关于实现代码语法标亮 dp.SyntaxHighlighter
2007/02/02 Javascript
一个简单的jQuery插件制作 学习过程及实例
2010/04/25 Javascript
JavaScript代码编写中各种各样的坑和填坑方法
2014/06/06 Javascript
AngularJS基础 ng-mouseenter 指令示例代码
2016/08/02 Javascript
Google 地图叠加层实例讲解
2016/08/06 Javascript
JS常见疑难点分析之match,charAt,charCodeAt,map,search用法分析
2016/12/25 Javascript
Angular 表单控件示例代码
2017/06/26 Javascript
详解node如何让一个端口同时支持https与http
2017/07/04 Javascript
Thinkjs3新手入门之添加一个新的页面
2017/12/06 Javascript
在Vue组件中使用 TypeScript的方法
2018/02/28 Javascript
vue 组件的封装之基于axios的ajax请求方法
2018/08/11 Javascript
详解Vue.js使用Swiper.js在iOS
2018/09/10 Javascript
node.js实现简单的压缩/解压缩功能示例
2019/11/05 Javascript
JavaScript 实现自己的安卓手机自动化工具脚本(推荐)
2020/05/13 Javascript
vue实现前端分页完整代码
2020/06/17 Javascript
Python实现基本线性数据结构
2016/08/22 Python
python按综合、销量排序抓取100页的淘宝商品列表信息
2018/02/24 Python
Python学生信息管理系统修改版
2018/03/13 Python
numpy中的高维数组转置实例
2018/04/17 Python
python 解决动态的定义变量名,并给其赋值的方法(大数据处理)
2018/11/10 Python
Python面向对象魔法方法和单例模块代码实例
2020/03/25 Python
pycharm无法安装第三方库的问题及解决方法以scrapy为例(图解)
2020/05/09 Python
哪种Python框架适合你?简单介绍几种主流Python框架
2020/08/04 Python
浅谈Selenium 控制浏览器的常用方法
2020/12/04 Python
俄罗斯运动鞋商店:Sneakerhead
2018/05/10 全球购物
Linux如何压缩可执行文件
2013/10/21 面试题
《春晓》教学反思
2014/04/20 职场文书
社区学习党的群众路线教育实践活动心得体会
2014/11/03 职场文书
有限责任公司股东合作协议书
2014/12/02 职场文书
2019单位介绍信怎么写
2019/06/24 职场文书
公司要求试用期员工提交“述职报告”,该怎么写?
2019/07/17 职场文书
Apache SeaTunnel实现 非CDC数据抽取
2022/05/20 Servers