1. 程式人生 > >Nginx+Tomcat 部署負載均衡集群

Nginx+Tomcat 部署負載均衡集群

size AS 技術 tle DG itl 靜態 lse -m

Nginx是一款輕量級的Web服務器/反向代理服務器及電子郵件(IMAP/POP3)代理服務器。在Java的Web架構中,通常使用Tomcat和Nginx進行配合,Nginx作為反向代理服務器,可以對後臺的Tomcat服務器負載均衡,也可以讓Nginx處理靜態頁面的請求、Tomcat處理JSP頁面請求達到動靜分離的目的。

系統環境:

主機 操作系統 IP地址 軟件包
Nginx服務器 CentOS 7.0 x86_64 192.168.100.25 nginx-1.6.0.tar.gz
Tomcat服務器1 CentOS 7.0 x86_64 192.168.100.26:8080 jdk-10.0.1_linux-x64_bin.rpm/apache-tomcat-8.5.11.tar.gz
Tomcat服務器2 CentOS 7.0 x86_64 192.168.100.27:8080 jdk-10.0.1_linux-x64_bin.rpm/apache-tomcat-8.5.11.tar.gz

軟件包_百度下載 密碼:6b7e

網站拓撲架構圖:

技術分享圖片

開始部署

一、Tomcat服務器1、Tomcat服務器2:

1. 安裝jdk並設置java環境

#安裝jdk軟件包
rpm -ivh /linux-tools/jdk-10.0.1_linux-x64_bin.rpm

#添加jdk的環境變量,新建java.sh並寫入以下內容
vim /etc/profile.d/java.sh

    export JAVA_HOME=/usr/java/jdk-10.0.1
    export PATH=$JAVA_HOME/bin:$PATH

#加載環境變量
source /etc/profile.d/java.sh

2. 查看jdk版本信息

java -version

如下圖表示jdk已經安裝成功了
技術分享圖片


3. 解壓並安裝tomcat

#解壓縮軟件包
tar zxvf /linux-tools/apache-tomcat-8.5.11.tar.gz

#移動tomcat目錄
mv apache-tomcat-8.5.11 /usr/local/tomcat8

4. 啟動tomcat服務

#啟動服務
/usr/local/tomcat8/bin/startup.sh

5. 默認tomcat運行在8080端口,檢查服務是否成功啟動

netstat -tunlp | grep 8080

技術分享圖片

6. 創建站點目錄

mkdir -p /web/webapp

7. 為站點新建首頁文件index.jsp

vim /web/webapp/index.jsp

#以為下index.jsp內容
<%@ page language="java" import="java.util.*" pageEncoding="UTF-8" %>
<html>
<head>
<title>hello</title>
</head>
<body>
<% out.println("<h1>This is tomcat 1 web.</h1>"); %>
</body>
</html>

8. 編輯tomcat主配置文件,以支持新站點:

vim /usr/local/tomcat8/conf/server.xml

#在<Host>標簽內,新增第二行記錄
<Context docBase="/web/webapp" path="" reloadable="false"></Context>

技術分享圖片

9. 重啟tomcat服務

#關閉服務
/usr/local/tomcat8/bin/shutdown.sh

#開啟服務
/usr/local/tomcat8/bin/startup.sh

#關閉安全設置
setenforce 0

#關閉防火墻
systemctl stop firewalld.service

Tomcat服務器1 和 Tomcat服務器2 安裝及配置等一樣,只是測試網頁內容有差異,具體網頁內容顯示如下圖

Tomcat服務器1:

技術分享圖片

Tomcat服務器2:

技術分享圖片


二、Nginx服務器:

1.安裝依賴包(需要連接網絡或者通過系統鏡像ISO文件安裝)

yum -y install pcre-devel zlib-devel gcc gcc-c++ make

2.創建管理用戶nginx

useradd -M -s /sbin/nologin nginx

3.解壓nginx,並進入解壓後nginx目錄

tar xzvf nginx-1.6.0.tar.gz -C /opt
cd /opt/nginx-1.6.0/

4.配置

./configure \
--prefix=/usr/local/nginx \
--user=nginx \
--group=nginx \
--with-http_stub_status_module //開啟stub_status狀態統計模塊//

5.編譯及安裝

make && make install

6.nginx連接至系統命令區,方便命令使用

ln -s /usr/local/nginx/sbin/nginx /usr/local/sbin/

7.創建nginx管理腳本

vi /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

8.為nginx賦予執行權限,並加入系統服務管理

chmod +x /etc/init.d/nginx
chkconfig --add nginx

三、配置nginx負載均衡集群

1. 修改nginx配置文件

vim /usr/local/nginx/conf/nginx.conf

#http{}標簽內添加以下命令
upstream tomcat_server {
server 192.168.100.6:8080 weight=1;
server 192.168.100.7:8080 weight=1;
}
#在location / {}標簽內添加
location / {
root html;
index index.html index.htm;
proxy_pass http://tomcat_server; #通過proxy_pass方法進行代理至tomcat_server的服務器組,其中http://不能省略
}

技術分享圖片

2. 檢查nginx配置

nginx -t

3. 重啟nginx服務

killall -1 nginx
#關閉selinux
setenforce 0
#關閉防火墻
systemctl stop firewalld.service

測試

客戶機訪問Nginx服務器IP地址:http://192.168.100.25/,通過不斷的刷新瀏覽器測試,可以看到哦由於權重相同,頁面在兩個tomcat站點反復切換,這樣說明負載均衡集群搭建成功了。

技術分享圖片

技術分享圖片

Nginx+Tomcat 部署負載均衡集群