實驗環(huán)境:
Nginx服務(wù)器
Centos-6.5
192.168.1.102
nginx-1.6.0.tar.gz
Tomcat服務(wù)器1
Centos-6.5
192.168.1.100
jdk-7u65-linux-x64.gz
apache-tomcat-7.0.54.tar.gz
Tomcat服務(wù)器2
Redhat-6.5
192.168.1.101
jdk-7u65-linux-x64.gz
apache-tomcat-7.0.54.tar.gz
注:將所需軟件拷貝至/usr/src中
四:實驗思路:
部署nginx與Tomcat
實現(xiàn)Tomcat負載均衡
測試實驗結(jié)果
一:環(huán)境準備--Tomcat1 Server
將所需軟件拷貝到/usr/src目錄中
設(shè)置各個服務(wù)器的ip地址
配置yum源
1:安裝java環(huán)境
[root@localhost 桌面]# service iptables stop
[root@localhost 桌面]# yum -y remove java
[root@localhost 桌面]# cd /usr/src
[root@localhost src]# tar xf jdk-7u65-linux-x64.gz
[root@localhost src]# mv jdk1.7.0_65/ /usr/local/java
[root@localhost src]# vi /etc/profile.d/java.sh? ? \\建立java腳本
輸入(或者將下面兩行直接輸入到/etc/profile中推励,然后source /etc/profile)
export JAVA_HOME=/usr/local/java
export PATH=$PATH:$JAVA_HOME/bin
[root@localhost src]# source /etc/profile.d/java.sh
[root@localhost src]# java -version
2:安裝tomcat
[root@localhost ~]# cd /usr/src
[root@localhost src]# tar xf apache-tomcat-7.0.54.tar.gz
[root@localhost src]# mv apache-tomcat-7.0.54 /usr/local/tomcat7
[root@localhost src]# /usr/local/tomcat7/bin/startup.sh
[root@localhost src]# netstat -anpt | grep 8080
打開瀏覽器驗證tomcat
http://127.0.0.1:8080
[root@localhost conf]#cd /usr/local/tomcat7/conf
[root@localhost conf]# vi server.xml? ? \\tomcat的配置文件爆价,內(nèi)容保持默認
3:建立java的web站點
[root@localhost conf]# mkdir -pv /web/webapp1
[root@localhost conf]# vi /web/webapp1/index.jsp
添加網(wǎng)頁代碼
<%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%>
<html>
<head>
<title>JSP test1 page</title>
</head>
<body>
<% out.println("welcom to test site,http://www.test1.com");%>
</body>
</html>
[root@localhost conf]# vi server.xml? ? ? ? \\cd /usr/local/tomcat7/conf
找到host name位置哆键,添加紅色代碼,注意大小寫(124行)
<Host name="localhost"? appBase="webapps"
? ? ? ? ? ? unpackWARs="true" autoDeploy="true">
? ? ? ? ? <Context docBase="/web/webapp1" path="" reloadable="false">
? ? ? ? ? </Context>
解釋:
path:表示web應(yīng)用程序的URL前綴,這樣請求的URL為http://IP:8080/path
Reloadable:是否開啟類的監(jiān)控功能,如果為true 谎势,則tomcat 會自動檢測應(yīng)用程序的/WEB-INF/lib 和/WEB-INF/classes 目錄的變化朝聋,自動裝載新的應(yīng)用程序,我們可以在不重起tomcat 的情況下改變應(yīng)用程序
[root@localhost conf]# /usr/local/tomcat7/bin/shutdown.sh
[root@localhost conf]# /usr/local/tomcat7/bin/startup.sh
瀏覽器訪問test1測試網(wǎng)站http://192.168.1.100:8080
二:環(huán)境準備--Tomcat2 Server
和tomcat1 Server的設(shè)置是一樣的
唯一不同的網(wǎng)站码党,為了看出負載均衡德崭,第二個站點的代碼做了調(diào)整,這樣能看到效果揖盘,其實這兩個網(wǎng)站提供的是同一個網(wǎng)頁眉厨。
<%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%>
<html>
<head>
<title>JSP test2 page</title>
</head>
<body>
<% out.println("welcom to test site,http://www.test2.com");%>
</body>
</html>
[root@localhost conf]# /usr/local/tomcat7/bin/shutdown.sh
[root@localhost conf]# /usr/local/tomcat7/bin/startup.sh
瀏覽器訪問test2測試網(wǎng)站http://192.168.1.101:8080
三:Nginx服務(wù)器配置
先配置光盤為yum源
[root@localhost ~]# service iptables stop
[root@localhost ~]# yum -y install pcre-devel zlib-devel openssl-devel
[root@localhost ~]# groupadd www
[root@localhost ~]# useradd -g www www -s /bin/false
[root@localhost ~]# cd /usr/src
[root@localhost src]# tar xf nginx-1.6.0.tar.gz
[root@localhost src]# cd nginx-1.6.0
[root@localhost nginx-1.6.0]#yum -y install gcc*? ? ? \\安裝gcc編譯器
[root@localhost 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_flv_module --with-http_ssl_module
注釋:
--with-file-aio :啟用file aio支持(一種APL文件傳輸格式)
--with-http_gzip_static_module:在線實時壓縮輸出數(shù)據(jù)流
--with-http_flv_module:提供尋求內(nèi)存使用基于時間的偏移量文件
--with-http_ssl_module:使支持https請求,需已安裝openssl
[root@localhost nginx-1.6.0]# make && make install
[root@localhost nginx-1.6.0]# vi /usr/local/nginx/conf/nginx.conf
在http{? ? }中添加下列語句
upstream tomcat_server{
? ? ? ? ? ? server 192.168.10.100:8080 weight=1;
? ? ? ? ? ? server 192.168.10.101:8080 weight=1;
? ? ? ? ? ? ? ? ? ? ? ? ? }
在http{……..}中找到server{……..}兽狭,在localtion/中添加下列紅色語句
location / {
? ? ? ? ? ? root? html;
? ? ? ? ? ? index? index.html index.htm;
? ? ? ? ? ? proxy_pass http://tomcat_server;
? ? ? ? }
最終完成的nginx.conf配置文件的內(nèi)容
? #keepalive_timeout? 0;
? ? keepalive_timeout? 65;
? ? #gzip? on;
upstream tomcat_server{
? ? ? ? ? ? server 192.168.10.100:8080 weight=1;
? ? ? ? ? ? server 192.168.10.101:8080 weight=1;
? ? ? ? ? ? ? ? ? ? ? }
? ? server {
? ? ? ? listen? ? ? 80;
? ? ? ? server_name? localhost;
? ? ? ? #charset koi8-r;
? ? ? ? #access_log? logs/host.access.log? main;
? ? ? ? location / {
? ? ? ? ? ? root? html;
? ? ? ? ? ? index? index.html index.htm;
? ? ? ? ? ? proxy_pass http://tomcat_server;
? ? ? ? }
測試nginx配置文件是否正確
[root@localhost nginx-1.6.0]# /usr/local/nginx/sbin/nginx -t
啟動nginx服務(wù)器
[root@localhost nginx-1.6.0]# /usr/local/nginx/sbin/nginx -c /usr/local/nginx/conf/nginx.conf
查看nginx服務(wù)進程
[root@localhost nginx-1.6.0]# ps aux | grep nginx
查看端口號及PID進程號
[root@localhost nginx-1.6.0]# netstat -anpt | grep nginx
打開網(wǎng)站測試http://192.168.1.102,并不斷刷新憾股,觀察看到的頁面是否test1和test2交替出現(xiàn)
注意:此時打開的是nginx的地址,而不是那兩個tomcat的地址箕慧,nginx成為了他們的代理