前端多个项目部署在同一个nginx下,前缀不同,配置编写方式

我们前端是微前端的项目,不同模块是分开的不同项目,用访问前缀区分。开发环境部署为了节约资源,直接使用一个nginx当做静态资源服务器,服务多个微前端,示意图如下:

下面是nginx使用的配置(server部分)

conf 复制代码
server {
        listen       8888;
        server_name  localhost;
        access_log  /var/log/nginx/mobile-access.log ;


        # 静态资源
        location /project1 {
          alias /deploy/project1;
          index index.html;
          try_files $uri $uri/ /project1 /index.html;
          autoindex off;
        }

        location /project2{
          alias /deploy/project2;
          index index.html;
          try_files $uri $uri/ /project2/index.html;
          autoindex off;
        }
        
        location /project3{
          alias /deploy/project3;
          index index.html;
          try_files $uri $uri/ /project3/index.html;
          autoindex off;
        }

        location /api {
          proxy_pass http://127.0.0.1:8080;
          proxy_set_header Host $host;
          proxy_set_header X-Real-IP $remote_addr;
          proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
          proxy_set_header X-Forwarded-Proto $scheme;
          proxy_connect_timeout 300;
          proxy_read_timeout 300;
        }
        error_page   500 502 503 504  /50x.html;
        location = /50x.html {
            root   /www/html;
        }
}

特别注意的是,由于是前端项目, try_files 部分要按照上面的写,否则编译以后不能自动获取index.html,也就无法加载项目。

文件中/api部分为示意,一般是把流量转给后端网段。

相关推荐
进击的荆棘18 分钟前
Linux系统——线程概念与控制之线程封装
linux·运维·服务器·线程
Moment21 分钟前
Harness Engineering 为什么是 AI Coding 的工程底座 ❓❓❓
前端·后端·面试
风骏时光牛马42 分钟前
生成一个AI面试复盘标题,只需要一个标题,不需要其他的任何文本。
前端
Csvn9 小时前
认识 Nginx
后端·nginx
一个天蝎座 白勺 程序猿9 小时前
KingbaseES数据库归档重做日志文件管理:从配置到运维的实战指南
运维·数据库·oracle·kingbasees·金仓数据库
红尘散仙9 小时前
谁说终端只能敲键盘?我用 Rust 给小说阅读器加上了鼠标
前端·后端·rust
陈随易11 小时前
C++26 草案被否,二十八年来头一回
前端·后端·程序员
ZhengEnCi11 小时前
Agent 工具怎么折叠海量输出才「爽」:Trae、Claude Code 的渐进式披露设计原理
前端·agent
分布式存储与RustFS13 小时前
镜像仓库的层别堆本地盘:用 RustFS 给 Docker Registry 当 S3 后端
运维·云原生·开源·对象存储·分布式存储·s3·性能基准
陈希12314 小时前
Linux 防火墙配置实战:firewalld、iptables 与云安全组
linux·运维·服务器