三步安裝完成nginx負(fù)載均衡設(shè)置
在反向代理的配置中,nginx的服務(wù)器負(fù)載均衡存在很多優(yōu)勢,不少企業(yè)都用這種軟件環(huán)境進行業(yè)務(wù)流程。那么現(xiàn)在就來為大家介紹一下nginx負(fù)載均衡器的軟件配置過程。包含的內(nèi)容比較多,那么大家可以仔細(xì)瀏覽一下。
Nginx負(fù)載均衡器的優(yōu)點許多,簡單概括為:
①實現(xiàn)了可彈性化的架構(gòu),在壓力增大的時候可以臨時添加tomcat服務(wù)器添加到這個架構(gòu)里面去;
②upstream具有負(fù)載均衡能力,可以自動判斷下面的機器,并且自動踢出不能正常提供服務(wù)的機器;而Keepalvied可保證單個nginx負(fù)載均衡器的有效性,避免單點故障.
IP地址
nginx(主負(fù)載均衡器):192.168.1.106
nginx(從負(fù)載均衡器):192.168.1.107
VIP地址:192.168.1.108
tomcat1的IP:192.168.1.102
tomcat2的IP:192.168.1.103
tomcat3的IP:192.168.1.105
布置整個環(huán)境用到的軟件為:
- apache-tomcat-6.0.20.tar.gz
 - jdk-6u16-linux-i586.bin
 - nginx-0.7.17.tar.gz
 - prce-7.7.tar.gz
 
①首先分別在3臺tomcat主機上布置java環(huán)境,安裝tomcat,具體步驟為:
安裝java環(huán)境:
- JDK的安裝
 - #chmod +x jdk-6u16-linux-i586.bin
 - #./jdk-6u16-linux-i586.bin
 - 到此JDK已經(jīng)安裝完成
 - 建立符號鏈接
 - # ln -s /usr/local/jdk-1.6.0-16/bin/java /usr/bin/java
 - # ln -s /usr/local/jdk-1.6.0-16/bin/javac /usr/bin/javac
 - ln -s /usr/local/jdk-1.6.0-16 /usr/local/jdk
 - ln -s /usr/local/jdk-1.6.0-16/jre /usr/local/jre
 - TOMCAT的安裝
 - #tar zxvf apache-tomcat-6.0.20.tar.gz
 - #mv apache-tomcat-6.0.20 /usr/local/tomcat
 
設(shè)置環(huán)境變量: vim /etc/rc.d/rc.local,以追加的形式添加如下內(nèi)容
- JAVA_HOME=/usr/local/jdk
 - export JAVA_HOME
 - JRE_HOME=/usr/local/jre
 - export JRE_HOME
 - CLASSPATH=/usr/local/tomcat/common/lib/:/usr/local/jdk/lib:/usr/local/jre/lib
 - export CLASSPATH
 - PATH=$PATH:/usr/local/tomcat/bin/:/usr/local/apache/bin:/usr/local/jdk/bin:/usr/local/jre/bin
 - export PATH
 - TOMCAT_HOME=/usr/local/tomcat
 - export TOMCAT_HOME
 - 重啟服務(wù)器,啟動tomcat以檢查是否存在錯誤:
 - #cd /usr/local/tomcat/bin
 - #./startup.sh
 - http://IP地址:8080 可以看到貓頭:)成功了。
 
#p#②分別在二臺nginx負(fù)載均衡器上安裝nginx及配置
下載及安裝nginx:
- wget ftp://ftp.csx.cam.ac.uk/pub/software/programming/pcre/pcre-7.7.tar.gz
 - tar zxvf pcre-7.7.tar.gz
 - cd pcre-7.7/
 - ./configure
 - make && make install
 - wget http://sysoev.ru/nginx/nginx-0.7.17.tar.gz
 - tar zxvf nginx-0.7.17.tar.gz
 - cd nginx-0.7.17/
 - ./configure --prefix=/usr/local/nginx --with-http_stub_status_module
 - make && make install
 
這里貼上nginx.conf配置文件,不加任何說明,方便用X-shell直接粘貼,很人性化的噢:)二個nginx負(fù)載均衡器的文件一樣,配置完成后分別用/usr/local/nginx/sbin/nginx啟動。
- user nobody nobody;
 - worker_processes 1;
 - pid /usr/local/nginx/logs/nginx.pid;
 - worker_rlimit_nofile 51200;
 - events
 - {
 - use epoll;
 - worker_connections 51200;
 - }
 - http{
 - include mime.types;
 - default_type application/octet-stream;
 - server_names_hash_bucket_size 128;
 - client_header_buffer_size 32k;
 - large_client_header_buffers 4 32k;
 - client_max_body_size 8m;
 - sendfile on;
 - tcp_nopush on;
 - keepalive_timeout 60;
 - tcp_nodelay on;
 - fastcgi_connect_timeout 300;
 - fastcgi_send_timeout 300;
 - fastcgi_read_timeout 300;
 - fastcgi_buffer_size 64k;
 - fastcgi_buffers 4 64k;
 - fastcgi_busy_buffers_size 128k;
 - fastcgi_temp_file_write_size 128k;
 - gzip on;
 - gzip_min_length 1k;
 - gzip_buffers 4 16k;
 - gzip_http_version 1.0;
 - gzip_comp_level 2;
 - gzip_types text/plain application/x-javascript text/css application/xml;
 - gzip_vary on;
 - upstream backend
 - {
 - server 192.168.1.102:8080;
 - server 192.168.1.103:8080;
 - server 192.168.1.105:8080;
 - }
 - server {
 - listen 80;
 - server_name www.yuhongchun027.com;
 - location / {
 - root /var/www ;
 - index index.jsp index.htm index.html;
 - proxy_redirect off;
 - proxy_set_header Host $host;
 - proxy_set_header X-Real-IP $remote_addr;
 - proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
 - proxy_pass http://backend;
 - }
 - #location /nginx {
 - #access_log on;
 - #auth_basic "NginxStatus";
 - #auth_basic_user_file /usr/local/nginx/htpasswd;
 - #}
 - log_format access '$remote_addr - $remote_user [$time_local] "$request" '
 - '$status $body_bytes_sent "$http_referer" '
 - '"$http_user_agent" $http_x_forwarded_for';
 - access_log /var/log/access.log access;
 - }
 - }
 
#p#③在二臺Nginx機上安裝及配置keepalived,做雙機互備。
- #wget http://www.keepalived.org/software/keepalived-1.1.15.tar.gz
 - #tar zxvf keepalived-1.1.15.tar.gz
 - #cd keepalived-1.1.15
 - #./configure
 - #make
 - #make install
 - 將keepalived做成啟動腳務(wù),方便管理:
 - #cp /usr/local/etc/rc.d/init.d/keepalived /etc/rc.d/init.d/
 - #cp /usr/local/etc/sysconfig/keepalived /etc/sysconfig/
 - #mkdir /etc/keepalived
 - #cp /usr/local/etc/keepalived/keepalived.conf /etc/keepalived/
 - #cp /usr/local/sbin/keepalived /usr/sbin/
 - #service keepalived start|stop
 
在二臺Nginx上,我分別貼出keepalived.conf配置文件,配置完成后分別用service keepalived start啟動。檢驗keepalived是否成功可用命令
- ip avrrp_instance VI_INET1 {
 - state MASTER
 - interface eth0
 - virtual_router_id 53
 - priority 200
 - advert_int 1
 - authentication {
 - auth_type pass
 - auth_pass yourpass
 - }
 - virtual_ipaddress {
 - 192.168.1.108
 - }
 - }
 - vrrp_instance VI_INET1 {
 - state BACKUP
 - interface eth0
 - virtual_router_id 53
 - priority 100
 - advert_int 1
 - authentication {
 - auth_type pass
 - auth_pass yourpass
 - }
 - virtual_ipaddress {
 - 192.168.1.108
 - }
 - }
 
以上三步完成nginx負(fù)載均衡設(shè)置后,就是檢測了,大家可任意停掉其中一臺的任何服務(wù);在正常結(jié)果中大家應(yīng)該發(fā)現(xiàn),其中任意一臺服務(wù)器宕機后,不影響整個系統(tǒng)的運作。















 
 
 




 
 
 
 