具体参阅:
1.https://blog.csdn.net/xyang81/article/details/51702900
配置参考
Nginx配置详解
代理多个项目
server {
listen 8082;
server_name 192.168.2.17 zyc.com;
client_max_body_size 50m;
location /p1 {
proxy_pass http://localhost:8083/p1/;
proxy_set_header Host zyc.com;
}
location /p2{
proxy_pass http://localhost:8080/p2/;
proxy_set_header Host zyc.com;
}
location /p3 {
proxy_pass http://localhost:8080/p3/;
proxy_set_header Host zyc.com;
}
location /p4 {
root E:/Java/nginx-1.14.0/work;
index index.html;
}
location /p5 {
root E:/Java/nginx-1.14.0/work;
index index.html;
}
...
server_name:如果只有一个虚拟主机可以不写。
如果nginx中只配置一个server域的话,则nginx是不会去进行server_name的匹配的。因为只有一个server域,也就是这有一个虚拟主机,那么肯定是发送到该nginx的所有请求均是要转发到这一个域的,即便做一次匹配也是没有用的。还不如干脆直接就省了。如果一个http域的server域有多个,nginx才会根据$hostname去匹配server_name进而把请求转发到匹配的server域中。此时的匹配会按照匹配的优先级进行,一旦匹配成功进不会再进行匹配,关于具体的匹配规则可以参见nginx官网提供的文档。