天天看點

搭建Nginx+Tomcat 負載均衡叢集

實驗拓撲:

<a href="http://s3.51cto.com/wyfs02/M01/6F/4C/wKiom1WXm2yynI5BAAC65Hm6F9E879.jpg" target="_blank"></a>

實驗要求:

  客戶通路192.168.10.10,第一次或者第一個請求将請求交給10.101,第二次或者第二個請求交給10.102。實作兩台伺服器負載,多台的搭建方法相同。

試驗環境:

主機

作業系統

所需軟體

Nginx伺服器

rhel 6.5 x86_64

nginx-1.6.0.tar.gz

Tomcat伺服器1

CentOS 6.5   x86_64

apache-tomcat-7.0.54.tar.gz  jdk-7u65-linux-x64.gz

Tomcat伺服器2

2.       此處為了友善實驗,将3台linux主機和1台真機客戶機連在一個區域網路,網卡都連接配接到VMnet1,

<a href="http://s3.51cto.com/wyfs02/M02/6F/49/wKioL1WXnUSSE6aEAAAit9NcGEY666.jpg" target="_blank"></a>

3.IP位址如拓撲圖

配置檔案:

client的IP配置:

<a href="http://s3.51cto.com/wyfs02/M01/6F/49/wKioL1WXnVDgICy5AAB6BAztD9A198.jpg" target="_blank"></a>

2.       Tomcat1伺服器的配置:

1)     IP位址配置與通信

<a href="http://s3.51cto.com/wyfs02/M00/6F/49/wKioL1WXnV6A_mQDAABpN2_zahg924.jpg" target="_blank"></a>

Ping Tomcat2伺服器

<a href="http://s3.51cto.com/wyfs02/M01/6F/49/wKioL1WXnWjSXZJ5AACvQH5IVoQ104.jpg" target="_blank"></a>

Ping Nginx伺服器

<a href="http://s3.51cto.com/wyfs02/M01/6F/4C/wKiom1WXm7OR2QppAACs6GAcI6g139.jpg" target="_blank"></a>

搭建java環境

[root@localhost~]# service iptables stop  //關閉防火牆

[root@localhost~]# setenforce 0  //關閉安全linux

<a href="http://s3.51cto.com/wyfs02/M01/6F/4C/wKiom1WXm76w6eHiAABb86Gfi7c214.jpg" target="_blank"></a>

[root@localhost~]# cd /opt

[root@localhostopt]# tar xzvf jdk-7u65-linux-x64.gz

[root@localhostopt]# ls

<a href="http://s3.51cto.com/wyfs02/M02/6F/49/wKioL1WXnZDTQd35AABVC_4Tmk8251.jpg" target="_blank"></a>

[root@localhostopt]# mv jdk1.7.0_65/ /usr/local/java

[root@localhostopt]# vi /etc/profile.d/java.sh  //建立java.sh腳本:設定java根目錄,在PATH環境變量中添加java的bin目錄

<a href="http://s3.51cto.com/wyfs02/M02/6F/4C/wKiom1WXm9PyWOTGAAA8ee8Jcg4832.jpg" target="_blank"></a>

[root@localhost opt]# yum remove java  //删除系統自帶的java程式       

[root@localhostopt]# source /etc/profile.d/java.sh  //運作腳本

[root@localhostopt]# java –version  //檢視java版本

<a href="http://s3.51cto.com/wyfs02/M00/6F/4C/wKiom1WXnBjCE4FTAAByG0vfJ1c359.jpg" target="_blank"></a>

搭建Tomcat

[root@localhostopt]# tar xzvf apache-tomcat-7.0.54.tar.gz

<a href="http://s3.51cto.com/wyfs02/M01/6F/49/wKioL1WXnfDA_HcxAABeOqrvh7E482.jpg" target="_blank"></a>

[root@localhostopt]# mv apache-tomcat-7.0.54 /usr/local/tomcat7

[root@localhostopt]# /usr/local/tomcat7/bin/startup.sh  //啟動tomcat

[root@localhostopt]# netstat -anpt | grep 8080

<a href="http://s3.51cto.com/wyfs02/M01/6F/4C/wKiom1WXnDDhAkPZAABFrWk_1W4050.jpg" target="_blank"></a>

<a href="http://s3.51cto.com/wyfs02/M02/6F/49/wKioL1WXngSS_YYzAAC_R7zB9oM197.jpg" target="_blank"></a>

搭建java的web站點

[root@localhostopt]# mkdir -p /web/webapp1

[root@localhostopt]# vi /web/webapp1/index.jsp  //建立測試頁

<a href="http://s3.51cto.com/wyfs02/M02/6F/49/wKioL1WXniWxb3zZAAB1yeGQhSE642.jpg" target="_blank"></a>

[root@localhostopt]# vi /usr/local/tomcat7/conf/server.xml //修改配置檔案:定義一個虛拟主機,指定web網站根目錄

<a href="http://s3.51cto.com/wyfs02/M00/6F/49/wKioL1WXnkyQGw1fAABf7b8rSHA780.jpg" target="_blank"></a>

[root@localhostopt]# /usr/local/tomcat7/bin/shutdown.sh  //

[root@localhostopt]# /usr/local/tomcat7/bin/startup.sh   //重新開機Tomcat

3.       依此搭建Tomcat2伺服器

 IP位址配置與通信

<a href="http://s3.51cto.com/wyfs02/M02/6F/49/wKioL1WXntSwjJXkAABcRGJmKDI234.jpg" target="_blank"></a>

Ping Nginx伺服器  

<a href="http://s3.51cto.com/wyfs02/M00/6F/49/wKioL1WXnuDS-RlqAACvayrftNE184.jpg" target="_blank"></a>

[root@localhost~]# service iptables stop

[root@localhost~]# setenforce 0

<a href="http://s3.51cto.com/wyfs02/M00/6F/49/wKioL1WXnurjR7yZAACMgOgmylw001.jpg" target="_blank"></a>

4.       Nginx伺服器的配置:

<a href="http://s3.51cto.com/wyfs02/M01/6F/4C/wKiom1WXnTqjTSF5AABiaRB2GSs154.jpg" target="_blank"></a>

搭建Nginx伺服器

[[email protected]]# service iptables stop

[[email protected]]# setenforce 0

<a href="http://s3.51cto.com/wyfs02/M00/6F/4C/wKiom1WXnUiy1RZdAAA6aYsp9ys399.jpg" target="_blank"></a>

[root@localhostopt]# yum install -y \   //安裝相關軟體包

&gt; pcre-devel \

&gt; zlib-devel \

&gt; openssl-devel

[root@localhostopt]# yum -y install \   //安裝編譯工具

&gt; gcc \

&gt; gcc-c++ \

&gt; make

[root@localhostopt]# useradd www -s /bin/false   //建立nginx使用者www,禁止登陸shell

[root@localhostopt]# tar xzvf nginx-1.6.0.tar.gz

<a href="http://s3.51cto.com/wyfs02/M02/6F/49/wKioL1WXn0Cwy-PnAAA9kW0Rz6w024.jpg" target="_blank"></a>

[root@localhostopt]# cd nginx-1.6.0

[[email protected]]# ./configure \ 

&gt;--prefix=/usr/local/nginx \

&gt; --user=www \

&gt; --group=www \

&gt; --with-file-aio\

&gt;--with-http_stub_status_module \

&gt;--with-http_gzip_static_module \

&gt;--with-http_flv_module \

&gt;--with-http_ssl_module

[[email protected]]# make

[[email protected]]# make install

[[email protected]]# ln -s /usr/local/nginx/sbin/nginx /usr/local/sbin/  //為了便于管理,為主程式nginx建立連結

[[email protected]]# vi /usr/local/nginx/conf/nginx.conf

<a href="http://s3.51cto.com/wyfs02/M01/6F/49/wKioL1WXn1myjIYGAABpAsAQcU4657.jpg" target="_blank"></a>

 如果有多台伺服器,就照格式向下寫。

設定tomcat負載均衡伺服器組

<a href="http://s3.51cto.com/wyfs02/M02/6F/4C/wKiom1WXnZjRzKxeAABIcpv6Trc003.jpg" target="_blank"></a>

把nginx的預設站點通過proxy_pass方式代理到tomcat_server負載均衡伺服器組上

[[email protected]]# nginx –t  //檢查配置檔案

<a href="http://s3.51cto.com/wyfs02/M00/6F/49/wKioL1WXn2zStuZWAABtkVYFLK0513.jpg" target="_blank"></a>

[[email protected]]# nginx  //啟動nginx

[[email protected]]# netstat -anpt | grep 80

<a href="http://s3.51cto.com/wyfs02/M00/6F/4C/wKiom1WXnazRYSgzAABcKbSWUuI331.jpg" target="_blank"></a>

結果驗證:

<a href="http://s3.51cto.com/wyfs02/M01/6F/49/wKioL1WXn4Dzym63AACEino8HSI618.jpg" target="_blank"></a>

重新整理

<a href="http://s3.51cto.com/wyfs02/M01/6F/4C/wKiom1WXncDCLqTxAACACPFa5-Q625.jpg" target="_blank"></a>

再重新整理

<a href="http://s3.51cto.com/wyfs02/M01/6F/4C/wKiom1WXncrQDrZtAAB8qlZi4Og331.jpg" target="_blank"></a>

本文轉自Y.weisheng 51CTO部落格,原文連結:http://blog.51cto.com/yuan2/1670924,如需轉載請自行聯系原作者