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配置并兼容HTTP实现代码解析
Mar 31 Servers
Nginx使用X-Accel-Redirect实现静态文件下载的统计、鉴权、防盗链、限速等
Apr 04 Servers
uwsgi+nginx代理Django无法访问静态资源的解决
May 10 Servers
Nginx四层负载均衡的配置指南
Jun 11 Servers
Nginx配置文件详解以及优化建议指南
Sep 15 Servers
Nginx的基本概念和原理
Mar 21 Servers
Nginx反向代理、重定向
Apr 13 Servers
Windows Server 2008 修改远程登录端口以及配置防火墙
Apr 28 Servers
Win10 Anaconda安装python-pcl
Apr 29 Servers
阿里云国际版 使用Nginx作为HTTPS转发代理服务器
May 11 Servers
Nginx利用Logrotate实现日志分割
May 20 Servers
SpringBoot前端后端分离之Nginx服务器下载安装过程
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对gzip文件或者字符串解压实例参考
2008/07/25 PHP
Apache 配置详解(最好的APACHE配置教程)
2010/07/04 PHP
使用PHP实现生成HTML静态页面
2015/11/18 PHP
PHP使用PDO操作数据库的乱码问题解决方法
2016/04/08 PHP
PHP时间相关常用函数用法示例
2020/06/03 PHP
正则表达式判断是否存在中文和全角字符和判断包含中文字符串长度
2008/09/27 Javascript
javascript 写类方式之二
2009/07/05 Javascript
Javascript面向对象编程
2012/03/18 Javascript
javascript中this做事件参数相关问题解答
2013/03/17 Javascript
JS:window.onload的使用介绍
2013/11/13 Javascript
JavaScript四种调用模式和this示例介绍
2014/01/02 Javascript
JQuery使用$.ajax和checkbox实现下次不在通知功能
2015/04/16 Javascript
jQuery实现进度条效果代码
2015/12/17 Javascript
jquery及js实现动态加载js文件的方法
2016/01/21 Javascript
Vue 2中ref属性的使用方法及注意事项
2017/06/12 Javascript
angular.js + require.js构建模块化单页面应用的方法步骤
2017/07/19 Javascript
JavaScript中重名的函数与对象示例详析
2017/09/28 Javascript
vue引入新版 vue-awesome-swiper插件填坑问题
2018/01/25 Javascript
vue.js或js实现中文A-Z排序的方法
2018/03/08 Javascript
Angular Renderer (渲染器)的具体使用
2018/05/03 Javascript
node.js调用C++函数的方法示例
2018/09/21 Javascript
bootstrap table插件动态加载表头
2019/07/19 Javascript
Jquery使用each函数实现遍历及数组处理
2020/07/14 jQuery
[02:55]DOTA2英雄基础教程 发条技师
2013/12/04 DOTA
Pycharm设置界面全黑的方法
2018/05/23 Python
python实现动态数组的示例代码
2019/07/15 Python
详解Pycharm出现out of memory的终极解决方法
2020/03/03 Python
python 读取.nii格式图像实例
2020/07/01 Python
信息专业个人的自我评价
2013/12/27 职场文书
打架检讨书100字
2014/01/19 职场文书
个人求职信范文分享
2014/01/31 职场文书
无子女夫妻离婚协议书(4篇)
2014/10/20 职场文书
2015会计试用期工作总结
2014/12/12 职场文书
教师文明餐桌光盘行动倡议书
2015/04/28 职场文书
关于童年的读书笔记
2015/06/26 职场文书
pytorch实现线性回归以及多元回归
2021/04/11 Python