Nginx+Tomcat負載均衡群集
Nginx+Tomcat網站拓撲架構
實驗環境
主機 | 操作系統 | IP地址 | 主要軟件 |
---|---|---|---|
Nginx服務器 | Redhat6.5 | 192.168.100.107 | Nginx-1.12 |
Tomcat服務器1 | Redhat6.5 | 192.168.100.109:8080 | ①jdk-8u91 ②apache-tomcat-8.5.16 |
Tomcat服務器2 | Redhat6.5 | 192.168.100.109:8080 | ①jdk-8u91 ②apache-tomcat-8.5.16 |
Nginx服務器配置
手動編譯Nginx時需要檢查依賴包是否存在,然後安裝所需依賴包:
yum install gcc gcc-c++ pcre-devel zlib-devel openssl-devel -y
解壓安裝Nginx:
useradd -s /sbin/false www //添加Nginx系統賬戶
tar zxvf nginx-1.12.0.tar.gz -C /opt //解壓Nginxcd /opt/nginx-1.12.0/
./configure --prefix=/usr/local/nginx \ //指定安裝路徑 --user=www \ //指定用戶 --group=www \ //指定組 --with-file-aio \ //啟用文件修改支持 --with-http_stub_status_module \ //啟用狀態統計 --with-http_gzip_static_module \ //啟用gzip靜態壓縮 --with-http_flv_module \ //啟用flv模塊,提供尋求內存使用基於時間的偏移量文件 --with-http_ssl_module //啟用SSL模塊
編輯Nginx主配置文件,讓Nginx可以調度提供服務的Tomcat服務器:
vim /usr/local/nginx/conf/nginx.conf
keepalive_timeout 65; #gzip on; upstream tomcat_server { //添加服務器地址池,配置權重為1; server 192.168.100.109:8080 weight=1; server 192.168.100.111:8080 weight=1; } (......省略代碼) location / { root html; index index.html index.htm; proxy_pass http://tomcat_server; //添加行,調用前面地址池名稱
/usr/local/nginx/sbin/nginx -t //檢查配置文件
ln -s /usr/local/nginx/sbin/nginx /usr/local/sbin/
nginx //啟動Nginx服務
netstat -ntap | grep nginx //查看服務是否開啟
service iptables stop
setenforce 0
Tomcat服務器配置
1、配置Java環境
tar zxvf jdk-8u91-linux-x64.gz -C /opt 解壓jdk軟件包
mv jdk1.7.0_65/ /usr/local/java 設置工作目錄
cd /etc/profile.d/ 配置環境變量
vim java.sh 配置環境變量腳本
export JAVA_HOME=/usr/local/java //設置Java根目錄//
export PATH=$PATH:$JAVA_HOME/bin //在PATH環境變量中添加
2、安裝配置Tomcat1
tar zxvf apache-tomcat-8.5.16.tar.gz -C /opt/
mv apache-tomcat-8.5.16/ /usr/local/tomcat8
/usr/local/tomcat8/bin/startup.sh 啟動tomcat
netstat -ntap | grep 8080 監聽8080端
創建測試頁:
mkdir -pv /web/webapp1 //創建web目錄//
vim /web/webapp1/index.jsp
<%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%>
<html>
<head>
<title>JSP test1 page</title>
</head>
<body>
<% out.println("Welcome to test site,http://www.test1.com");%>
</body>
</html>
vim /usr/local/tomcat7/conf/server.xml
編輯Tomcat主配置文件,添加首頁內容站點
<Host name="localhost" appBase="webapps"
unpackWARs="true" autoDeploy="true">
<Context docBase="/web/webapp1" path="" reloadable="false"> //添加如下部分,以及站點目錄
</Context>
配置完成後訪問其服務:
3、安裝配置Tomcat2
Tomcat配置與Tomcat1服務器完全一致,此處為了區分當Nginx服務器調度時是兩個不同的Tomcat服務器,需要在Tomcat測試頁中修改內容為test2;
4、測試負載均衡效果
當訪問Nginx服務器時,Nginx服務會調用後面提供服務的Tomcat服務器,為了實現負載均衡,每次調用的服務器並不是同一個服務器:
Nginx+Tomcat負載均衡群集