構建nginx+Tomcat負載均衡集羣

一、基本環境

主機

系統版本

IP

軟件包

Nginx服務器

CentOS 6.5 64位

192.168.10.128

nginx-1.6.0.tar.gz

Tomcat服務器1

CentOS 6.5 64位

192.168.10.129

jdk-7u65-linux-x64.gz

apache-tomcat-7.0.54.tar.gz

Tomcat服務器2

CentOS 6.5 64位

192.168.10.130

jdk-7u65-linux-x64.gz

apache-tomcat-7.0.54.tar.gz

 

二、實施過程

1、Tomact服務器配置

-兩臺服務器配置相同

-安裝JDK,配置Java環境

--卸載已有JDK

[root@tomcat2 src]# yum -y remove java-*

--解壓

[root@tomcat1 src]# tar zxfjdk-7u65-linux-x64.gz

--將解壓生成的文件夾,移動到/usr/local/下並重命名

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

--添加環境變量

[root@tomcat1 src]# echo"PATH=$PATH:/usr/local/java/bin" >> /etc/profile
[root@tomcat1 src]# . /etc/profile

--查看版本

[root@tomcat1 src]# java -version
java version "1.7.0_65"
Java(TM) SE Runtime Environment (build1.7.0_65-b17)
Java HotSpot(TM) 64-Bit Server VM (build24.65-b04, mixed mode)
-安裝Tomcat

--解壓

[root@tomcat1 src]# tar zxfapache-tomcat-7.0.54.tar.gz

--將解壓生成的文件夾,移動到/usr/local/下並重命名

[root@tomcat1 src]# mvapache-tomcat-7.0.54/ /usr/local/tomcat7

--啓動

[root@tomcat1 src]#/usr/local/tomcat7/bin/startup.sh
Using CATALINA_BASE:   /usr/local/tomcat7
Using CATALINA_HOME:   /usr/local/tomcat7
Using CATALINA_TMPDIR:/usr/local/tomcat7/temp
Using JRE_HOME:        /usr/local/java
Using CLASSPATH:      /usr/local/tomcat7/bin/bootstrap.jar:/usr/local/tomcat7/bin/tomcat-juli.jar
Tomcat started.
[root@tomcat1 src]# netstat -anpt | grep8080
tcp       0      0 :::8080                     :::*                        LISTEN      58687/java

 

--訪問測試

wKioL1hGlu_Rt3GZAAC3Yr8w85Q632.jpg-wh_50

-建立不同的測試頁

--創建web目錄

[root@tomcat1 src]# mkdir -p /web/webapp1

--建立測試頁(此處不同)

[root@tomcat1 src]# vim/web/webapp1/index.jsp
<%@ page language="java"import="java.util.*" pageEncoding="UTF-8"%>
<html>
 <head>
       <title>192.168.10.129</title>
 </head>
 <body>
       <% out.println("192.168.10.129");%>
 </body>
</html>

--修改Tomcat的server.xml文件

[root@tomcat1 src]# vim/usr/local/tomcat7/conf/server.xml
     <Host name="localhost" appBase="webapps"
           unpackWARs="true" autoDeploy="true">
           <Context docBase="/web/webapp1" path=""reloadable="false" >
           </Context>


--重啓Tomcat

[root@tomcat1 src]#/usr/local/tomcat7/bin/shutdown.sh
[root@tomcat1 src]# /usr/local/tomcat7/bin/startup.sh

--測試

wKiom1hGlxLyHClAAAA5uZTFR00009.jpg-wh_50

wKiom1hGlxKw4QgzAABK38RUloU250.jpg-wh_50

2、nginx服務器配置

-安裝

--安裝相關包

[root@tomcat2 src]# yum -y installpcre-devel zlib-devel openssl-devel

--創建程序用戶

[root@nginx src]# useradd -s /bin/false www

--解壓

[root@nginx src]# tar zxf nginx-1.6.0.tar.gz
[root@nginx src]# cd nginx-1.6.0

--配置、編譯、安裝

[root@nginx nginx-1.6.0]# ./configure--prefix=/usr/local/nginx --user=www --group=www --with-file-aio--with-http_stub_status_module --with-http_gzip_static_module--with-http_ssl_module --with-http_flv_module && make && makeinstall

---注:

--prefix=/usr/local/nginx#指定安裝路徑
--user=www--group=www  #指定運行的用戶和組
--with-file-aio #啓用文件修改支持
--with-http_stub_status_module#啓用狀態統計
--with-http_gzip_static_module#啓用gzip靜態壓縮
--with-http_ssl_module#啓用ssl模塊
--with-http_flv_module#啓用flv模塊

-創建連接文件

[root@nginx nginx-1.6.0]# ln -s/usr/local/nginx/sbin/nginx /usr/local/sbin/

-編寫服務腳本

[root@nginx nginx-1.6.0]# vim/etc/init.d/nginx
#!/bin/bash
# chkconfig: - 99 20
 
PROG="/usr/local/nginx/sbin/nginx"
PIDF="/usr/local/nginx/logs/nginx.pid"
 
 
case "$1" in
start) 
       $PROG
;;
stop)
       kill -s QUIT $(cat $PIDF)
;;
restart)
       $0 stop
       $0 start
;;
reload)
       kill -s HUP $(cat $PIDF)
;;
*)
       echo "Usage: $0 {start|stop|restart|reload}"
       exit 1
esac
 
exit 0
[root@nginx nginx-1.6.0]# chmod 755/etc/init.d/nginx
[root@nginx nginx-1.6.0]# chkconfig --addnginx

-配置

[root@nginx nginx-1.6.0]# vim/usr/local/nginx/conf/nginx.conf

--http{……}

      

 upstream tomcat {
                server 192.168.10.129:8080weight=1;
                server 192.168.10.130:8080weight=1;
       }

--http{……}—sever{……}—

       location / {
           root   html;
           index  index.html index.htm;
           proxy_pass  http://tomcat;
       }

--其他

#user nobody;
worker_processes  1; #工作進程數量
 
#error_log logs/error.log;
#error_log logs/error.log  notice;
#error_log logs/error.log  info;
 
#pid       logs/nginx.pid;
 
 
events {
   use epoll;       #I/O響應模型
   worker_connections  4096;#每個進程處理的連接數
}


--測試配置文件是否正確

[root@nginx nginx-1.6.0]# nginx -t
nginx: the configuration file/usr/local/nginx/conf/nginx.conf syntax is ok
nginx: configuration file/usr/local/nginx/conf/nginx.conf test is successful

-啓動服務

[root@nginx nginx-1.6.0]# nginx -c/usr/local/nginx/conf/nginx.conf

 

三、測試效果

wKioL1hGlzThZfokAAA4emK_isI747.jpg-wh_50


wKiom1hGlzTAQMJ7AAA4Z-ML84s135.jpg-wh_50


發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章