使用同一个nginx同时启动两个项目
本地调试两个项目的时候,最开始使用两个配置文件切来切去的,太麻烦,遂有了用同一个服务启动两个项目的办法,百度了一下没有比较好的例子,贴在这里,以供查阅
1 worker_processes 2; 2 3 events { 4 worker_connections 1024; # 最大连接数 5 multi_accept on; 6 } 7 8 9 http { 10 include mime.types; #文件扩展名与文件类型映射表 11 default_type application/octet-stream; 12 sendfile on; # 开启文件上传 13 keepalive_timeout 180s; # 连接超时时间 14 15 16 17 upstream test { # 配置后台转发地址 test 是自定义的服务名 18 server 127.0.0.1:8213; 19 } 20 server { 21 listen 8084; # 指定前端服务1的监听地址 22 server_name localhost; 23 client_max_body_size 500m; 24 location / { 25 root html-mdp; # 服务1的前端文件存放的地址 26 if (!-e $request_filename) { 27 rewrite ^/(.*) /index.html last; 28 break; 29 } 30 index index.html; # 指定默认访问的页面 31 } 32 location ~ ^/aaa/ { # 设置代理前缀为 aaa 的所有请求到 proxy_pass 所配置的地址 33 proxy_set_header Host $host; 34 proxy_pass http://test; 35 proxy_set_header X-Real-IP $remote_addr; 36 proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; 37 proxy_set_header REMOTE-HOST $remote_addr; 38 } 39 error_page 500 502 503 504 /50x.html; 40 location = /50x.html { 41 root html; 42 } 43 } 44 45 upstream test2{ # 设置第二个后台服务地址 46 server 127.0.0.1:8280; 47 } 48 server { # 第二个前端服务 49 listen 8086; 50 server_name localhost; 51 client_max_body_size 500m; 52 location / { 53 root html-test2; # 第二个服务的html文件地址 54 if (!-e $request_filename) { 55 rewrite ^/(.*) /index.html last; 56 break; 57 } 58 index index.html; 59 } 60 location ~ ^/bbb/ { # 第二个服务的代理配置 代理前缀为 test2 的请求 61 proxy_set_header Host $host; 62 proxy_pass http://test2; 63 proxy_set_header X-Real-IP $remote_addr; 64 proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; 65 proxy_set_header REMOTE-HOST $remote_addr; 66 } 67 error_page 500 502 503 504 /50x.html; 68 location = /50x.html { 69 root html; 70 } 71 } 72 }
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· 阿里巴巴 QwQ-32B真的超越了 DeepSeek R-1吗?
· 10年+ .NET Coder 心语 ── 封装的思维:从隐藏、稳定开始理解其本质意义
· 【设计模式】告别冗长if-else语句:使用策略模式优化代码结构
· 字符编码:从基础到乱码解决
· 提示词工程——AI应用必不可少的技术