使用同一个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 }