前端多个项目部署在同一个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部分为示意,一般是把流量转给后端网段。

相关推荐
考虑考虑7 小时前
cmd局部设置java变量
运维·后端·自动化运维
benbenAItalk7 小时前
数字人口播视频的批量生产实践:素材规范、任务编排与质量验收
java·前端·音视频
2601_962885727 小时前
如何用 Python 扫描 A 股跳空缺口并统计缺口回补概率?
java·前端·python
生活爱好者!7 小时前
哇!影视新玩法!docker部署NEOWATCH NAS
运维·docker·容器
西瓜太郎12348 小时前
Claude Code、Codex CLI、Gemini CLI 能否共用一枚 Key?先看协议选择矩阵
前端·api 网关·claude code·gemini cli·codex cli
一技安身8 小时前
【信创】银河麒麟V10、统信UOS解压7Z文件
linux·运维·服务器
迷途呀9 小时前
CI/CD 自动化部署实践:让代码提交后自动上线
linux·运维·nginx·ci/cd·自动化
闲云自留地9 小时前
动手玩 Nova:Hypervisor、主机聚合、可用分区、虚拟机生命周期实操
运维·架构·openstack
binqian9 小时前
【linux】OpenSSH升级文档
linux·运维·网络
吴声子夜歌9 小时前
Shell编程——if条件语句
linux·运维·shell