- 如果有多个域名,很好办,监听不同域名来的请求,分发给前端或者后端。
server {
listen 80;
server_name url1; #域名1
location / { #前端资源
root /data/aaa/bbb/service1;
try_files $uri /index.html;
}
location ^~ /rp/service1/ { #后端服务
proxy_set_header Host $host;
proxy_set_header X-Forwarded-For $remote_addr;
proxy_pass http://ip1:port1/;
}
}
server {
listen 80;
server_name url2; #域名2
location / {
root /data/aaa/bbb/service2;
try_files $uri /index.html;
}
location ^~ /rp/service2/ {
proxy_set_header Host $host;
proxy_set_header X-Forwarded-For $remote_addr;
proxy_pass http://ip1:port2/;
}
}
}
2.如果请求全部来自同一个端口,你需要通过这个端口访问两个不同服务的前端以及他们各自的后端(只有一个域名的情况)
server {
listen 80;
server_name url1;
location / {
root /data/aaa/bbb/service1;
try_files $uri /index.html;
}
location /service2 {
alias /data/aaa/bbb/service1/service2/; #注意这个目录,必须是root下的子目录
try_files $uri /index.html;
}
location ^~ /rp/service1/ {
proxy_set_header Host $host;
proxy_set_header X-Forwarded-For $remote_addr;
proxy_pass http://ip1:port1/;
}
location ^~ /rp/service2/ {
proxy_set_header Host $host;
proxy_set_header X-Forwarded-For $remote_addr;
proxy_pass http://ip1:port2/;
}
}
}
3.负载均衡的例子比较多,我就不献丑了。
附上链接
负载均衡算法