worker_processes 1;
error_log logs/error.log info;
events {
worker_connections 1024;
}
http {
include mime.types;
default_type application/octet-stream;
sendfile on;
keepalive_timeout 75 20;
upstream localhost{
server localhost:18081;
server localhost:18080;
}
server {
#default
listen 800;
server_name 192.168.1.2;
location ~ ^/ {
#proxy_pass http://192.168.180.1:18081;
proxy_pass http://localhost;
proxy_redirect default;
}
error_page 500 502 503 504 /50x.html;
location = /50x.html {
root html;
}
}
server {
#监听80端口号,注意:对于Http请求如果不指定端口,默认监听的就是80,
listen 80;
#server_name www.hello.com;
server_name 192.168.1.3;
location /aaaaaa {
proxy_pass http://localhost;
proxy_redirect default;
}
}
}
总结:nginx可以配置多个serve,
1、每个serve根据配置的端口号监听相应的请求。注意http请求默认的端口号就是80,所以如果配置的serve端口都不是80那么对于默认的Http请求都无法代理成功;
2、当有一个域请求访问到nginx服务器之后,nginx会根据访问的端口号去匹配各个serveName,先扫描所有的serveName,如果找到相对应的,那么就执行,如果没有一个匹配上,那么就会根据配置的顺序从上到下默认只要有一个location配置匹配,那么这个serve就是指定的serve,当然如果手动设置某个serve为default,那么匹配不成功就直接推出,同样,如果所有的serve监听端口号都不是请求的端口号,自然访问就失败了。
Nginx 文档地址: