先准备几台虚拟机写下对应的配置
192.168.1.54 ------------------------>ubuntu11.4+nginx0.8.54 +php5.3.5 +msyql5.1(负载均衡服务器,这里没用到php和mysql)
192.168.1.53 ------------------------>centos5.5 + apache+php5.3.5+mysql5.1(web服务器)
192.168.1.55 ------------------------>centos5.5 + apache+php5.3.5+mysql5.1(web服务器)
1.简单的根据请求后缀名来分别访问不同服务器,修改/etc/nginx/site_available/default
要求对*.php的访问都指向1.55,对*.html的访问都指向1.53
server {
listen 80;
index index.php index.html index.htm;
server_namewww.test.com;#关键配置
location ~ .php$ {
proxy_pass http://192.168.1.55; location ~ .html$ {
proxy_pass http://192.168.1.53;
}
2.简单的按域名分别访问不同的服务器,好像又叫反向代理
这个版本的nginx配置分散在几个文件中,其中/etc/nginx/nginx.conf配置为全局配置,而/etc/nginx/site_available/default文件中包含的是各个虚拟服务器的配置信息,然后/etc/nginx/nginx.conf再包含进/etc/nginx/site_available/default
这里我们有两个域名img.test.com和www.test.com,都指向192.168.1.54,所有访问都到192.168.1.54 ,然后192.168.1.54 再根据不同的域名访问后端不同的服务器,所有对img.test.com的访问都导向192.168.1.53,而所有对www.test.com的访问都导向192.168.1.55
处理方法:
先配置/etc/nginx/nginx.conf
加入如下设置,
upstream img.test.com{
server 192.168.1.53:80;
}
upstream www.test.com{
server 192.168.1.55:80;
}
然后修改/etc/nginx/site_available/default,配置两个sever
server {
listen 80;
index index.php index.html index.htm;
server_name jssns.jse.edu.cn; location / {
proxy_pass http://jssns.jse.edu.cn;
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
}
}server {
listen 80;
index index.php index.html index.htm; server_name img.jse.edu.cn; location / {
proxy_pass http://img.jse.edu.cn;
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
}
}
3.多服务器简单负载均衡
在二的基础上直接在修改/etc/nginx/nginx.conf,假设我们还有两个服务器1.56:8080,1.57,55上开启了两个web服务器,分别使用80和8081端口
upstream img.test.com{
server 192.168.1.53:80;
server 192.168.1.56:8080;
}
upstream www.test.com{
server 192.168.1.55:80;
server 192.168.1.55:8081;
server 192.168.1.57:80;
}
nginx会在将所有到img.test.com,均衡到192.168.1.53:80和192.168.1.56:8080; 所有www.test.com的请求均衡到192.168.1.55:80; 192.168.1.55:8081; 192.168.1.57:80;
4.多服务器同步负载均衡(session复制)
待补充。。。
声明: 此文观点不代表本站立场;转载须要保留原文链接;版权疑问请联系我们。