Nginx下载:http://nginx.org/en/download.html
假定有4台服务器,IP地址分别为:
192.168.1.2 、
192.168.1.3、
192.168.1.4 、
192.168.1.5。
其中192.168.1.2 、192.168.1.3两台服务器部署为WEB应用服务器,192.168.1.4 、192.168.1.5两台服务器为外部或者映射出口。
一、反向代理
1.在192.168.1.2 、192.168.1.3分别安装两个arcserver,端口都是6080,启动两个arcserver,nginx安装在192.168.1.4上,外部访问端口为80,以192.168.1.4做反向代理,
2.打开nginx.conf文件,在nginx.conf的 server中配置反向代理的信息,如下:
server {
listen 80;
server_name 192.168.1.4;
location / {
proxy_pass 192.168.1.2:6080;
}
}
server {
listen 80;
server_name 192.168.1.4;
location / {
proxy_pass 192.168.1.3:6080;
}
}
(以上表达的意思是,192.168.1.4监听80端口,当外部访问192.168.1.4的80端口时,通过proxy_pass代理转发到92.168.1.2或者192.168.1.3的6080端口上,实现反向代理)
重启Nginx,访问192.168.1.4:80,即可跳转至192.168.1.2或者192.168.1.3,有多少个需要代理的服务器,就加多少个server代理。
二、负载均衡
1、在192.168.1.2 、192.168.1.3分别安装两个arcserver,端口都是6080,启动两个arcserver,nginx安装在192.168.1.4上,以192.168.1.4做负载均衡,设置轮询方式,
2、打开nginx.conf文件,在nginx.conf的 server和upstream中配置负载均衡信息,如下:
#gzip on;
upstream mygisserver.com{
server 192.168.1.2:6080 weight=1;
server 192.168.1.3:6080 weight=1;
}
server {
listen 80;
server_name 192.168.1.4;
location / {
proxy_pass http://mygisserver.com;
}
}
以上表达的意思是,192.168.1.4监听80端口,当外部访问192.168.1.4的80端口时,通过proxy_pass反向代理到mygisserver.com集群,mygisserver.com转发到192.168.1.2:6080、 server 192.168.1.3:6080端口。
重启Nginx,访问192.168.1.4:80,1即可实现192.168.1.2,192.168.3到192.168.1.4的负载均衡。
三、高可用
1、在192.168.1.2 、192.168.1.3分别安装两个arcserver,端口都是6080,启动两个arcserver,nginx安装在192.168.1.4、192.168.1.5上,设置轮询方式。
2、分别在192.168.1.4、192.168.1.5的nginx中配置负载均衡信息,如下:
192.168.1.4
#gzip on;
upstream mygisserver.com{
server 192.168.1.2:6080 weight=1;
server 192.168.1.3:6080 weight=1;
}
server {
listen 80;
server_name 192.168.1.4;
location / {
proxy_pass http://mygisserver.com;
}
}
192.168.1.5
#gzip on;
upstream mygisserver.com{
server 192.168.1.2:6080 weight=1;
server 192.168.1.3:6080 weight=1;
}
server {
listen 80;
server_name 192.168.1.5;
location / {
proxy_pass http://mygisserver.com;
}
}
当其中一个nginx宕机时,另外一个nginx一样可以使用。如果使用主备的方式,可以使用keepalived配置两个nginx节点。
附件一、apache配置反向代理和负载均衡
修改apache配置文件httpd.conf
1、增加监听端口
Listen 8080
2、开启反向代理模块
LoadModule proxy_module modules/mod_proxy.so
LoadModule proxy_connect_module modules/mod_proxy_connect.so
LoadModule proxy_ftp_module modules/mod_proxy_ftp.so
LoadModule proxy_http_module modules/mod_proxy_http.so
3、配置虚拟主机反向代理链接
ServerName 192.168.1.4
<VirtualHost *:8080>
ProxyPass / http://192.168.1.2:6080/
ProxyPassReverse / http://192.168.168.2:6080/
ProxyPass / http://192.168.1.3:6080/
ProxyPassReverse / http://192.168.168.3:6080/
</VirtualHost>
ProxyRequests On
3 负载均衡
Listen 8080
ServerName 192.168.1.4
<Proxy balancer://mysgisserver>
BalancerMember 192.168.1.2:6080
BalancerMember 192.168.1.3:6080 loadfactor=1
ProxySet lbmethod=byrequests
</Proxy>
<VirtualHost *:8080>
ProxyPass / "balancer://mysgisserver"
ProxyPassReverse / "balancer://mysgisserver"
</VirtualHost>
ProxyRequests On