Chao's Blog Chao's Blog
首页
  • vue

    • vue路由
  • 学习笔记

    • 《JavaScript教程》
    • 《JavaScript高级程序设计》
    • 《ES6 教程》
    • 《Vue》
    • 《React》
    • 《TypeScript 从零实现 axios》
    • 《Git》
    • TypeScript
    • JS设计模式总结
  • java
  • spring
  • springboot
  • springcloud
  • git
  • maven
  • nginx
  • tomcat
  • springmvc
  • jvm
  • 图数据库
  • mysql数据库
  • redis数据库
  • windows下docker安装nginx并挂载目录
  • linux命令
  • linux安装软件
  • linux脚本
  • idea
  • vscode
  • 归档
  • 综合项目

    • 若依项目
    • mall项目
  • java
  • mybatis
  • xxl-job
  • mybatis
GitHub (opens new window)

~chao

永远菜鸟,不断努力~
首页
  • vue

    • vue路由
  • 学习笔记

    • 《JavaScript教程》
    • 《JavaScript高级程序设计》
    • 《ES6 教程》
    • 《Vue》
    • 《React》
    • 《TypeScript 从零实现 axios》
    • 《Git》
    • TypeScript
    • JS设计模式总结
  • java
  • spring
  • springboot
  • springcloud
  • git
  • maven
  • nginx
  • tomcat
  • springmvc
  • jvm
  • 图数据库
  • mysql数据库
  • redis数据库
  • windows下docker安装nginx并挂载目录
  • linux命令
  • linux安装软件
  • linux脚本
  • idea
  • vscode
  • 归档
  • 综合项目

    • 若依项目
    • mall项目
  • java
  • mybatis
  • xxl-job
  • mybatis
GitHub (opens new window)
  • java

  • spring

  • springboot

  • springcloud

  • git

  • maven

  • nginx

    • nginx高可用的基本介绍
    • Nginx常用配置参数详解
    • 使用nginx部署多个前端项目(三种方式)
  • tomcat

  • springmvc

  • jvm

  • 正则表达式

  • 消息中间件

  • python

  • 后端
  • nginx
~chao
2023-04-10

使用nginx部署多个前端项目(三种方式)

# 使用nginx部署多个前端项目(三种方式)

文章转载自:https://blog.csdn.net/qq_25460159/article/details/112947177

个人总结了3种方法来实现在一台服务器上使用nginx部署多个前端项目的方法。

基于域名配置

基于端口配置

基于location配置

在正式开始之前,我们先来看一下nginx安装的默认配置文件:/etc/nginx/nginx.conf 文件

可以看到图中的: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?depth_1-utm_source=distribute.pc_relevant.none-task-blog-BlogCommendFromBaidu-2&utm_source=distribute.pc_relevant.none-task-blog-BlogCommendFromBaidu-2

vue 配置请参考:https://blog.csdn.net/weixin_33868027/article/details/92139392

编辑 (opens new window)
上次更新: 2024/01/26, 05:03:22
Nginx常用配置参数详解
tomcat部署多个项目

← Nginx常用配置参数详解 tomcat部署多个项目→

最近更新
01
python使用生成器读取大文件-500g
09-24
02
Windows环境下 Docker Desktop 安装 Nginx
04-10
03
JVM常用调优参数方法
03-29
更多文章>
Theme by Vdoing | Copyright © 2022-2024 chaos | MIT License
  • 跟随系统
  • 浅色模式
  • 深色模式
  • 阅读模式