请求某个ip和端口转向指定地址
当请求server_name + listen 时转向 proxy_pass
localhost:8081 -> 127.0.0.1:8080
server {
listen 8081; #监听端口
server_name localhost; #监听地址
location / {
root html; #/html目录
proxy_pass http://127.0.0.1:8080; #请求转向
index index.html index.htm; #设置默认页
}
}
https://zhuanlan.zhihu.com/p/431181851?utm_id=0
请求http://127.0.0.1:9000/nginx8081/ --》 http://localhost:8081/nginx8081/
请求http://127.0.0.1:9000/nginx8083/ --》 http://localhost:8083/nginx8083/
注意‘’location ~ /nginx8081/ ‘’ 加了/
#根据在浏览器输入的路径不同,跳转到不同端口的服务中。
server {
listen 9000;
server_name localhost; #监听地址
location ~ /nginx8081/ {
proxy_pass http://localhost:8081;
}
location ~ /nginx8083/ {
proxy_pass http://localhost:8083;
}
}
后端 起两个程序8081,8083
会将请求指向localhost:8081和localhost:8083两个服务。
用于实现多个服务器实现负载均衡。
两个服务器相同负载
#负载均衡
upstream myserver {
server localhost:8081;
server localhost:8083;
}
server {
listen 9001; #监听端口
server_name localhost; #监听地址
location / {
root html; #html目录
index index.html index.htm; #设置默认页
proxy_pass http://myserver; #请求转向 myserver 定义的服务器列表
}
}
#负载均衡
upstream myserver {
server localhost:8081 weight=1;
server localhost:8083 weight=2;
}
按请求 ip 的 hash 值分配,每个访客固定访问一个后端服务器
upstream myserver {
ip_hash;
server localhost:8081;
server localhost:8083;
}
autoindex on; #自动打开文件列表
location / {
# root html;
root E:\gzw\ROOT;
index index.html index.htm;
autoindex on; #自动打开文件列表
}