Nginx+Tomcat負載均衡羣集(實戰!!!)

實驗拓撲圖

在這裏插入圖片描述

實驗環境部署

服務器角色 IP地址 操作系統
Nginx服務器 192.168.142.131 centos 7
tomcat 01服務器 192.168.142.134 centos 7
tomcat 02服務器 192.168.142.130 centos 7

實驗步驟

第一步:配置Nginx服務器

#安裝環境
[root@nginx ~]#yum install gcc gcc-c++ pcre-devel zlib-devel 

#添加Nginx管理用戶
[root@nginx ~]# useradd -M -s /sbin/nologin nginx


#遠程共享源碼包
[root@nginx ~]# smbclient -L //192.168.142.1
[root@nginx ~]# mount.cifs //192.168.142.1/tomcat /mnt

#解壓源碼包
[root@nginx ~]# cd /mnt
[root@nginx ~]# tar zxvf nginx-1.12.0.tar.gz -C /opt

[root@nginx mnt]# cd /opt/nginx-1.12.0/

#進行configure配置
[root@nginx nginx-1.12.0]# ./configure --prefix=/usr/local/nginx --user=nginx --group=nginx --with-http_stub_status_module --with-http_gzip_static_module --with-http_flv_module

#編譯及編譯安裝

[root@nginx nginx-1.12.0]# make && make install

#創建軟連接讓系統識別nginx啓動腳本
[root@nginx nginx-1.12.0]# ln -s /usr/local/nginx/sbin/nginx /usr/local/sbin/  

#開啓服務
[root@nginx nginx-1.12.0]# nginx

[root@nginx nginx-1.12.0]# systemctl stop firewalld.service

[root@nginx nginx-1.12.0]# setenforce 0

#啓動配置文件目錄創建啓動腳本
[root@nginx nginx-1.12.0]# vim /etc/init.d/nginx  
#!/bin/bash
# chkconfig: - 99 20
# description: Nginx Service Control Script
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.12.0]# chmod +x /etc/init.d/nginx


#將nginx增加到service管理
[root@nginx nginx-1.12.0]# chkconfig --add nginx

#啓動服務
[root@nginx nginx-1.12.0]# service nginx start

#查看服務端口狀態
[root@nginx nginx-1.12.0]# netstat -ntap | grep 80
tcp        0      0 0.0.0.0:80              0.0.0.0:*               LISTEN      42092/nginx: master 

#修改配置文件
[root@nginx nginx-1.12.0]# vim /usr/local/nginx/conf/nginx.conf

 #gzip  on;
 #追加以下四行條目,用以定義tomcat服務池並分配權重
     upstream tomcat-server {
                server 192.168.142.134:8080 weight=1;
                server 192.168.142.130:8080 weight=1;
                }

    server {
        listen       80;
        server_name  localhost;

		#追加以下四行條目,用以支持
        location ~.*.jsp$ {
          proxy_pass http://tomcat-server;
          proxy_set_header Host $host;
        }

        #charset koi8-r;

        #access_log  logs/host.access.log  main;

        location / {
            root   html;
            index  index.html index.htm;
			#追加以下一行條目,用以調用tomcat服務池資源
            proxy_pass http://tomcat-server;
        }
		
		#追加以下四行條目,用以支持各類圖片的緩存30天
        location ~.*\.(gif|jpg|jpeg|png|bmp|swf|css)$ {
            root html/test;
            expires 30d;
        }
		

#檢查語法
[root@nginx nginx-1.12.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.12.0]# service nginx stop
[root@nginx nginx-1.12.0]# service nginx start
[root@nginx nginx-1.12.0]# netstat -ntap | grep nginx
tcp        0      0 0.0.0.0:80              0.0.0.0:*               LISTEN      69680/nginx: master


#創建站點目錄
[root@nginx nginx-1.12.0]# mkdir /usr/local/nginx/html/test

#複製圖片到站點目錄中
[root@nginx nginx-1.12.0]# cp /mnt/game.jpg /usr/local/nginx/html/test

第二步:配置Tomcat01服務器

#遠程共享源碼包
[root@tomcat01 ~]# smbclient -L //192.168.142.1
[root@tomcat01 ~]# mount.cifs //192.168.142.1/tomcat /mnt

#解壓源碼包
cd /mnt
[root@tomcat01 mnt]# tar zxvf jdk-8u91-linux-x64.tar.gz -C /usr/local
[root@tomcat01 mnt]# tar zxvf apache-tomcat-8.5.16.tar.gz -C /usr/local/


#聲明環境變量
[root@tomcat01 mnt]# vim /etc/profile

export JAVA_HOME=/usr/local//jdk1.8.0_91
export JRE_HOME=${JAVA_HOME}/jre
export CLASSPATH=.:${JAVA_HOME}/lib:${JRE_HOME}/lib
export PATH=${JAVA_HOME}/bin:$PATH

#生效環境變量 
[root@tomcat01 mnt]# source /etc/profile

[root@tomcat01 ~]# cd /usr/local
[root@tomcat01 local]# mv apache-tomcat-8.5.16/ tomcat

##創建tomcat啓動腳本的軟鏈接到系統目錄中,方便系統識別
[root@tomcat01 local]# ln -s /usr/local/tomcat/bin/startup.sh /usr/local/bin/

#創建tomcat關閉腳本的軟鏈接到系統目錄中,方便系統識別
[root@tomcat01 local]# ln -s /usr/local/tomcat/bin/shutdown.sh /usr/local/bin/

#啓動服務 
[root@tomcat01 local]# startup.sh 
Using CATALINA_BASE:   /usr/local/tomcat
Using CATALINA_HOME:   /usr/local/tomcat
Using CATALINA_TMPDIR: /usr/local/tomcat/temp
Using JRE_HOME:        /usr/local//jdk1.8.0_91/jre
Using CLASSPATH:       /usr/local/tomcat/bin/bootstrap.jar:/usr/local/tomcat/bin/tomcat-juli.jar
Tomcat started.

#查看服務端口狀態
[root@tomcat01 local]# netstat -ntap | grep 8080
tcp6       0      0 :::8080                 :::*                    LISTEN      111655/java 

#創建站點目錄
[root@tomcat local]# mkdir /usr/local/tomcat/webapps/test

#編輯站點首頁內容
[root@tomcat01 local]# vim /usr/local/tomcat/webapps/test/index.jsp
<!DOCTYPE html>
<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%>
<%@ page import="java.util.Date" %>
<%@ page import="java.text.SimpleDateFormat" %>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/ html4/loose.dtd">
<html>
 <head>
  <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
  <title>動態網頁</title> 
 </head>
 <body>
  <div>Welcom to Jiangsu</div><br><img src="game.jpg">
 </body>
</html>


[root@tomcat01 local]# vim /usr/local/tomcat/conf/server.xml 
#在第149行下追加以下條目,
<Context docBase="/usr/local/tomcat/webapps/test" path="" reloadable="false">
</Context>

#重啓服務
[root@tomcat01 local]# shutdown.sh 
[root@tomcat01 local]# startup.sh

#關閉防火牆和安全功能
[root@tomcat02 local]# systemctl stop firewalld.service 
[root@tomcat02 local]# setenforce 0

第三步:配置Tomcat02服務器,步驟和Tomcat01服務器一樣

#編輯站點首頁內容
[root@tomcat01 local]# vim /usr/local/tomcat/webapps/test/index.jsp
<!DOCTYPE html>
<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%>
<%@ page import="java.util.Date" %>
<%@ page import="java.text.SimpleDateFormat" %>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/ html4/loose.dtd">
<html>
 <head>
  <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
  <title>動態網頁</title> 
 </head>
 <body>
  <div>Welcom to NanJing</div><br><img src="game.jpg">
 </body>
</html>

第四步:使用客戶機驗證網頁

在這裏插入圖片描述
在這裏插入圖片描述

以下網頁內容不一樣,是爲了驗證負載均衡羣集的輪詢機制,真實線網環境中網頁內容是一樣的!


謝謝閱讀!!!

發佈了95 篇原創文章 · 獲贊 7 · 訪問量 6277
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章