Nginx代理和負載均衡實驗

1、構建兩個tomcat容器並啓動

[root@localhost bin]# ps -ef|grep tomcat
root       1525      1 12 10:19 pts/0    00:00:03 /usr/bin/java -Djava.util.logging.config.file=/usr/local/tomcat-1/conf/logging.properties -Djava.util.logging.manager=org.apache.juli.ClassLoaderLogManager -Djdk.tls.ephemeralDHKeySize=2048 -Djava.protocol.handler.pkgs=org.apache.catalina.webresources -Dorg.apache.catalina.security.SecurityListener.UMASK=0027 -Dignore.endorsed.dirs= -classpath /usr/local/tomcat-1/bin/bootstrap.jar:/usr/local/tomcat-1/bin/tomcat-juli.jar -Dcatalina.base=/usr/local/tomcat-1 -Dcatalina.home=/usr/local/tomcat-1 -Djava.io.tmpdir=/usr/local/tomcat-1/temp org.apache.catalina.startup.Bootstrap start
root       1586      1 39 10:19 pts/0    00:00:02 /usr/bin/java -Djava.util.logging.config.file=/usr/local/tomcat-2/conf/logging.properties -Djava.util.logging.manager=org.apache.juli.ClassLoaderLogManager -Djdk.tls.ephemeralDHKeySize=2048 -Djava.protocol.handler.pkgs=org.apache.catalina.webresources -Dorg.apache.catalina.security.SecurityListener.UMASK=0027 -Dignore.endorsed.dirs= -classpath /usr/local/tomcat-2/bin/bootstrap.jar:/usr/local/tomcat-2/bin/tomcat-juli.jar -Dcatalina.base=/usr/local/tomcat-2 -Dcatalina.home=/usr/local/tomcat-2 -Djava.io.tmpdir=/usr/local/tomcat-2/temp org.apache.catalina.startup.Bootstrap start

2、修改兩個容器的web首頁,並測試兩個容器是否正常

3、啓動Nginx並查看進程

[root@www ~]# /usr/local/nginx/sbin/./nginx
[root@www ~]# ps -ef|grep nginx
root       5354      1  0 13:00 ?        00:00:00 nginx: master process /usr/local/nginx/sbin/./nginx
nobody     5355   5354  0 13:00 ?        00:00:00 nginx: worker process

4、開始實驗:

Nginx代理服務器IP:192.168.249.132html

Tomcat-1 IP:192.168.249.133:8080java

Tomcat-2 IP:192.168.249.133:8081nginx

1.配置測試反向代理

1)修改Nginx的配置文件

[root@www conf]# cat nginx.conf|grep -E -v "#|^$"
worker_processes  1;
events {
    worker_connections  1024;
}
http {
    include       mime.types;
    default_type  application/octet-stream;
    sendfile        on;
    keepalive_timeout  65;
    server {
        listen       80;
        server_name  localhost;
	location / { proxy_pass http://192.168.249.133:8080;  #將請求轉向後端定義的Tomcat-1上. }
        error_page   500 502 503 504  /50x.html;
        location = /50x.html {
            root   html;
        }
    }
}

2)從新載入nginx.conf

[root@www conf]# cat nginx.conf|grep -E -v "#|^$"

3)訪問Nginx代理服務器,查看是否跳轉

2.負載均衡算法測試——輪詢算法

1)在nginx.conf的server塊裏寫入upstream配置塊,並修改proxy_pass參數

[root@www conf]# cat nginx.conf|grep -E -v "#|^$"
worker_processes  1;
events {
    worker_connections  1024;
}
http {
    include       mime.types;
    default_type  application/octet-stream;
    sendfile        on;
    keepalive_timeout  65;
    upstream nginxtest {
        server 192.168.249.133:8080;
        server 192.168.249.133:8081;
    }
    server {
        listen       80;
        server_name  localhost;
	location / {
	    proxy_pass http://nginxtest;
	}
        error_page   500 502 503 504  /50x.html;
        location = /50x.html {
            root   html;
        }
    }
}

2)從新載入nginx.conf

[root@www conf]# ../sbin/./nginx -s reload

3)屢次訪問Nginx代理服務器

一直刷新頁面會發現隨機出現兩個網頁,這就是nginx默認的負載均衡算法:輪詢算法web

3.負載均衡權重測試——權重算法

1)在nginx.conf的server塊裏修改upstream配置塊,在其中server參數後添加weight參數

[root@www conf]# cat nginx.conf|grep -E -v "#|^$"
worker_processes  1;
events {
    worker_connections  1024;
}
http {
    include       mime.types;
    default_type  application/octet-stream;
    sendfile        on;
    keepalive_timeout  65;
    upstream nginxtest {
        server 192.168.249.133:8080 weight=3;
        server 192.168.249.133:8081 weight=2;
    }
    server {
        listen       80;
        server_name  localhost;
        location / {
            proxy_pass http://nginxtest;
        }
        error_page   500 502 503 504  /50x.html;
        location = /50x.html {
            root   html;
        }
    }
}

2)從新載入nginx.conf算法

[root@www conf]# ../sbin/./nginx -s reload

3)訪問nginx代理服務器apache

發現刷新三次是tomcat-1後,後兩次刷新是tomcat-2.bootstrap

剩下的兩種算法持續更新哦……

相關文章
相關標籤/搜索