前言
nginx反向代理大大节省了服务器开支,通过配置多个虚拟主机,使多个服务共同的使用虚拟的80端口。
首先,某个服务器上有多个tomcat服务,分别占用一个端口。先看配置文件。
tomcat服务1
upstream sina{
server 192.168.88.88:8080;
}
server {
listen 80;
server_name www.sina.com.cn;
location / {
proxy_pass http://sina;
index index.html index.htm;
}
error_page 500 502 503 504 /50x.html;
location = /50x.html {
root html;
}
}
tomcat服务2
upstream sohu{
server 192.168.88.88:8081;
}
server {
listen 80;
server_name www.sohu.com;
location / {
proxy_pass http://sohu;
index index.html index.htm;
}
error_page 500 502 503 504 /50x.html;
location = /50x.html {
root html;
}
}
在该服务器上,搭建了两个tomcat服务器,分别占用了8080和8081端口发布服务,通过按照域名区分的方式,将请求代理到相应的tomcat服务上,打开浏览器,输入www.sina.com.cn,就会访问到8080绑定的服务,同理,访问www.sohu.com,就会访问8081绑定的服务,实现了反向代理。
那负载均衡呢,很简单,所谓负载均衡,其实是tomcat集群的体现,只需要在配置文件中。
upstream sohu{
server 192.168.88.88:8081;
server 192.168.88.88:8082 weight=2;
}
这样,当我们访问www.sohu.com的时候,请求就会被分发到8081和8082两台服务中去,当然,还可以设置权重,来设置特定服务器所承担的压力,如8082端口的weight=2,即8082服务承载的压力是8081端口的二倍。
总结
这些简单的配置只是在学习过程中的小笔记,欢迎提出宝贵建议。