Nginx+Tomcat 部署負載均衡集群
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 部署負載均衡集群