'Tomcat+Nginx負載均衡集群由Linux環境搭建'

"

Tomcat服務器是一個免費的開放源代碼的web應用服務器,屬於輕量級應用服務器,是開發和調試JSP程序的首選。由於Tomcat處理靜態HTML的能力運不及Apache或者Nginx,所以Tomcat通常是作為一個Servlet和JSP容器,單獨運行在後端。

  • Nginx服務器能支持高達50000個併發連接數的響應,擁有強大的靜態資源處理能力,運行穩定,並且內存、CPU等系統資源消耗非常低.

通常情況下,一個Tomcat站點由於可能出現單點故障及無法應付過多客戶複雜請求等問題,不能單獨應用於生產環境下,目前很多大型網站都應用Nginx服務器作為後端網站程序的反向代理及負載均衡器,簡單來說就是Nginx作為負載均衡器,響應客戶端的請求,Tomcat作為應用服務器的負載集群,處理客戶端的請求,也就是說Nginx將訪問請求轉發給後端服務器池的服務器來處理。網站拓撲圖如圖所示:

"

Tomcat服務器是一個免費的開放源代碼的web應用服務器,屬於輕量級應用服務器,是開發和調試JSP程序的首選。由於Tomcat處理靜態HTML的能力運不及Apache或者Nginx,所以Tomcat通常是作為一個Servlet和JSP容器,單獨運行在後端。

  • Nginx服務器能支持高達50000個併發連接數的響應,擁有強大的靜態資源處理能力,運行穩定,並且內存、CPU等系統資源消耗非常低.

通常情況下,一個Tomcat站點由於可能出現單點故障及無法應付過多客戶複雜請求等問題,不能單獨應用於生產環境下,目前很多大型網站都應用Nginx服務器作為後端網站程序的反向代理及負載均衡器,簡單來說就是Nginx作為負載均衡器,響應客戶端的請求,Tomcat作為應用服務器的負載集群,處理客戶端的請求,也就是說Nginx將訪問請求轉發給後端服務器池的服務器來處理。網站拓撲圖如圖所示:

Tomcat+Nginx負載均衡集群由Linux環境搭建

案例環境:

主機操作系統IP地址主要軟件Nginx服務器RedHat7.3 x86_64192.168.113.151nginx-1.12.0.tar.gzTomcat服務器1CentOS7.4 x86_64192.168.113.129jdk-8u91-linux-x64.tar.gz / apache-tomcat-8.5.16.tar.gzTomcat服務器2CentOS7.4 x86_64192.168.113.150jdk-8u91-linux-x64.tar.gz / apache-tomcat-8.5.16.tar.gz

  • Tomcat1 server配置

1.啟動主機後關閉防火牆

systemctl disable firewalld.service //禁用防火牆服務
systemctl stop firewalld.service //關閉防火牆服務

2.安裝JDK,配置Java環境

(1).解壓jdk軟件至/opt目錄下,並將解壓後生成的jdk文件夾移到/usr/local/下,改名為java。

tar zxvf jdk-7u65-linux-x64.gz -C /opt
mv jdk1.7.0_65/ /usr/local/java

(2).在/etc/profile.d/下建立java.sh腳本。

[root@centos7-1 ~]# vim /etc/profile.d/java.sh 
export JAVA_HOME=/usr/local/java //設置Java根目錄
export PATH=$PATH:$JAVA_HOME/bin //在PATH環境變量中添加Java根目錄下的bin/子目錄

(3).將java.sh腳本導入到環境變量,使其生效

source /etc/profile.d/java.sh

(4).運行java-version命令查看java版本是否和之前安裝的一致。

[root@centos7-1 ~]# java -version
openjdk version "1.8.0_131"
OpenJDK Runtime Environment (build 1.8.0_131-b12)
OpenJDK 64-Bit Server VM (build 25.131-b12, mixed mode)

3.安裝配置Tomcat

(1).解壓apache-tomcat-8.5.16.tar.gz包至/opt目錄,並將解壓後生成的文件夾移動到/usr/local/下,改名為tomcat8。

tar zxvf apache-tomcat-8.5.16.tar.gz -C /opt/
mv apache-tomcat-8.5.16/ /usr/local/tomcat8

(2).啟動Tomcat

[root@centos7-1 ~]# /usr/local/tomcat8/bin/startup.sh 
Using CATALINA_BASE: /usr/local/tomcat8
Using CATALINA_HOME: /usr/local/tomcat8
Using CATALINA_TMPDIR: /usr/local/tomcat8/temp
Using JRE_HOME: /usr/local/java
Using CLASSPATH: /usr/local/tomcat8/bin/bootstrap.jar:/usr/local/tomcat8/bin/tomcat-juli.jar
Tomcat started.

Tomcat默認運行在8080端口,運行netstat命令查看8080端口監聽的信息。

[root@centos7-1 ~]# netstat -ntap | grep 8080 
tcp6 0 0 :::8080 :::* LISTEN 1583/java

(3).打開瀏覽器訪問測試http://192.168.113.129:8080/, 如果出現x下面的界面,則表示Tomcat已經配置啟動成功。

"

Tomcat服務器是一個免費的開放源代碼的web應用服務器,屬於輕量級應用服務器,是開發和調試JSP程序的首選。由於Tomcat處理靜態HTML的能力運不及Apache或者Nginx,所以Tomcat通常是作為一個Servlet和JSP容器,單獨運行在後端。

  • Nginx服務器能支持高達50000個併發連接數的響應,擁有強大的靜態資源處理能力,運行穩定,並且內存、CPU等系統資源消耗非常低.

通常情況下,一個Tomcat站點由於可能出現單點故障及無法應付過多客戶複雜請求等問題,不能單獨應用於生產環境下,目前很多大型網站都應用Nginx服務器作為後端網站程序的反向代理及負載均衡器,簡單來說就是Nginx作為負載均衡器,響應客戶端的請求,Tomcat作為應用服務器的負載集群,處理客戶端的請求,也就是說Nginx將訪問請求轉發給後端服務器池的服務器來處理。網站拓撲圖如圖所示:

Tomcat+Nginx負載均衡集群由Linux環境搭建

案例環境:

主機操作系統IP地址主要軟件Nginx服務器RedHat7.3 x86_64192.168.113.151nginx-1.12.0.tar.gzTomcat服務器1CentOS7.4 x86_64192.168.113.129jdk-8u91-linux-x64.tar.gz / apache-tomcat-8.5.16.tar.gzTomcat服務器2CentOS7.4 x86_64192.168.113.150jdk-8u91-linux-x64.tar.gz / apache-tomcat-8.5.16.tar.gz

  • Tomcat1 server配置

1.啟動主機後關閉防火牆

systemctl disable firewalld.service //禁用防火牆服務
systemctl stop firewalld.service //關閉防火牆服務

2.安裝JDK,配置Java環境

(1).解壓jdk軟件至/opt目錄下,並將解壓後生成的jdk文件夾移到/usr/local/下,改名為java。

tar zxvf jdk-7u65-linux-x64.gz -C /opt
mv jdk1.7.0_65/ /usr/local/java

(2).在/etc/profile.d/下建立java.sh腳本。

[root@centos7-1 ~]# vim /etc/profile.d/java.sh 
export JAVA_HOME=/usr/local/java //設置Java根目錄
export PATH=$PATH:$JAVA_HOME/bin //在PATH環境變量中添加Java根目錄下的bin/子目錄

(3).將java.sh腳本導入到環境變量,使其生效

source /etc/profile.d/java.sh

(4).運行java-version命令查看java版本是否和之前安裝的一致。

[root@centos7-1 ~]# java -version
openjdk version "1.8.0_131"
OpenJDK Runtime Environment (build 1.8.0_131-b12)
OpenJDK 64-Bit Server VM (build 25.131-b12, mixed mode)

3.安裝配置Tomcat

(1).解壓apache-tomcat-8.5.16.tar.gz包至/opt目錄,並將解壓後生成的文件夾移動到/usr/local/下,改名為tomcat8。

tar zxvf apache-tomcat-8.5.16.tar.gz -C /opt/
mv apache-tomcat-8.5.16/ /usr/local/tomcat8

(2).啟動Tomcat

[root@centos7-1 ~]# /usr/local/tomcat8/bin/startup.sh 
Using CATALINA_BASE: /usr/local/tomcat8
Using CATALINA_HOME: /usr/local/tomcat8
Using CATALINA_TMPDIR: /usr/local/tomcat8/temp
Using JRE_HOME: /usr/local/java
Using CLASSPATH: /usr/local/tomcat8/bin/bootstrap.jar:/usr/local/tomcat8/bin/tomcat-juli.jar
Tomcat started.

Tomcat默認運行在8080端口,運行netstat命令查看8080端口監聽的信息。

[root@centos7-1 ~]# netstat -ntap | grep 8080 
tcp6 0 0 :::8080 :::* LISTEN 1583/java

(3).打開瀏覽器訪問測試http://192.168.113.129:8080/, 如果出現x下面的界面,則表示Tomcat已經配置啟動成功。

Tomcat+Nginx負載均衡集群由Linux環境搭建

4.建立Java的web站點

(1).在根目錄下建立一個web目錄,並在裡面建立一個webapp1目錄,用於存放網站文件。

[root@centos7-1 ~]# mkdir -pv /web/webapp1
mkdir: 已創建目錄 "/web"
mkdir: 已創建目錄 "/web/webapp1"

(2).在webapp1目錄下建立一個index.jsp的測試頁面。

[root@centos7-1 ~]# 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>

(3).修改Tomcat的server.xml文件。

定義一個虛擬主機,並將網站文件路徑指向已經建立的/web/webapp1,在host段增加context段。

[root@centos7-1 ~]# vim /usr/local/tomcat8/conf/server.xml 
<Host name="localhost" appBase="webapps"
unpackWARs="true" autoDeploy="true">
<Context docBase="/web/webapp1" path="" reloadable="false">
</Context>
  • docBase:web應用的文檔基準目錄
  • reloadable: 設置監視“類”是否變化
  • path="": 設置默認“類

(4).關閉Tomcat,再重新啟動。

/usr/local/tomcat8/bin/shutdown.sh //關閉Tomcat
/usr/local/tomcat7/bin/startup.sh //重啟Tomcat

(5).通過瀏覽器訪問http://192.168.113.129:8080/, 出現下面的界面,說明Tomcat站點配置成功並且能夠運行JSP了。

"

Tomcat服務器是一個免費的開放源代碼的web應用服務器,屬於輕量級應用服務器,是開發和調試JSP程序的首選。由於Tomcat處理靜態HTML的能力運不及Apache或者Nginx,所以Tomcat通常是作為一個Servlet和JSP容器,單獨運行在後端。

  • Nginx服務器能支持高達50000個併發連接數的響應,擁有強大的靜態資源處理能力,運行穩定,並且內存、CPU等系統資源消耗非常低.

通常情況下,一個Tomcat站點由於可能出現單點故障及無法應付過多客戶複雜請求等問題,不能單獨應用於生產環境下,目前很多大型網站都應用Nginx服務器作為後端網站程序的反向代理及負載均衡器,簡單來說就是Nginx作為負載均衡器,響應客戶端的請求,Tomcat作為應用服務器的負載集群,處理客戶端的請求,也就是說Nginx將訪問請求轉發給後端服務器池的服務器來處理。網站拓撲圖如圖所示:

Tomcat+Nginx負載均衡集群由Linux環境搭建

案例環境:

主機操作系統IP地址主要軟件Nginx服務器RedHat7.3 x86_64192.168.113.151nginx-1.12.0.tar.gzTomcat服務器1CentOS7.4 x86_64192.168.113.129jdk-8u91-linux-x64.tar.gz / apache-tomcat-8.5.16.tar.gzTomcat服務器2CentOS7.4 x86_64192.168.113.150jdk-8u91-linux-x64.tar.gz / apache-tomcat-8.5.16.tar.gz

  • Tomcat1 server配置

1.啟動主機後關閉防火牆

systemctl disable firewalld.service //禁用防火牆服務
systemctl stop firewalld.service //關閉防火牆服務

2.安裝JDK,配置Java環境

(1).解壓jdk軟件至/opt目錄下,並將解壓後生成的jdk文件夾移到/usr/local/下,改名為java。

tar zxvf jdk-7u65-linux-x64.gz -C /opt
mv jdk1.7.0_65/ /usr/local/java

(2).在/etc/profile.d/下建立java.sh腳本。

[root@centos7-1 ~]# vim /etc/profile.d/java.sh 
export JAVA_HOME=/usr/local/java //設置Java根目錄
export PATH=$PATH:$JAVA_HOME/bin //在PATH環境變量中添加Java根目錄下的bin/子目錄

(3).將java.sh腳本導入到環境變量,使其生效

source /etc/profile.d/java.sh

(4).運行java-version命令查看java版本是否和之前安裝的一致。

[root@centos7-1 ~]# java -version
openjdk version "1.8.0_131"
OpenJDK Runtime Environment (build 1.8.0_131-b12)
OpenJDK 64-Bit Server VM (build 25.131-b12, mixed mode)

3.安裝配置Tomcat

(1).解壓apache-tomcat-8.5.16.tar.gz包至/opt目錄,並將解壓後生成的文件夾移動到/usr/local/下,改名為tomcat8。

tar zxvf apache-tomcat-8.5.16.tar.gz -C /opt/
mv apache-tomcat-8.5.16/ /usr/local/tomcat8

(2).啟動Tomcat

[root@centos7-1 ~]# /usr/local/tomcat8/bin/startup.sh 
Using CATALINA_BASE: /usr/local/tomcat8
Using CATALINA_HOME: /usr/local/tomcat8
Using CATALINA_TMPDIR: /usr/local/tomcat8/temp
Using JRE_HOME: /usr/local/java
Using CLASSPATH: /usr/local/tomcat8/bin/bootstrap.jar:/usr/local/tomcat8/bin/tomcat-juli.jar
Tomcat started.

Tomcat默認運行在8080端口,運行netstat命令查看8080端口監聽的信息。

[root@centos7-1 ~]# netstat -ntap | grep 8080 
tcp6 0 0 :::8080 :::* LISTEN 1583/java

(3).打開瀏覽器訪問測試http://192.168.113.129:8080/, 如果出現x下面的界面,則表示Tomcat已經配置啟動成功。

Tomcat+Nginx負載均衡集群由Linux環境搭建

4.建立Java的web站點

(1).在根目錄下建立一個web目錄,並在裡面建立一個webapp1目錄,用於存放網站文件。

[root@centos7-1 ~]# mkdir -pv /web/webapp1
mkdir: 已創建目錄 "/web"
mkdir: 已創建目錄 "/web/webapp1"

(2).在webapp1目錄下建立一個index.jsp的測試頁面。

[root@centos7-1 ~]# 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>

(3).修改Tomcat的server.xml文件。

定義一個虛擬主機,並將網站文件路徑指向已經建立的/web/webapp1,在host段增加context段。

[root@centos7-1 ~]# vim /usr/local/tomcat8/conf/server.xml 
<Host name="localhost" appBase="webapps"
unpackWARs="true" autoDeploy="true">
<Context docBase="/web/webapp1" path="" reloadable="false">
</Context>
  • docBase:web應用的文檔基準目錄
  • reloadable: 設置監視“類”是否變化
  • path="": 設置默認“類

(4).關閉Tomcat,再重新啟動。

/usr/local/tomcat8/bin/shutdown.sh //關閉Tomcat
/usr/local/tomcat7/bin/startup.sh //重啟Tomcat

(5).通過瀏覽器訪問http://192.168.113.129:8080/, 出現下面的界面,說明Tomcat站點配置成功並且能夠運行JSP了。

Tomcat+Nginx負載均衡集群由Linux環境搭建

  • Tomcat2 server配置
  • Tomcat2 server配置方法基本同Tomcat1,其中包括:

1.啟動主機後關閉防火牆。

2.安裝JDK,配置Java環境,版本與Tomcat1 server一致。

3.安裝配置Tomcat,版本與Tomcat1 server一致。

4.創建/web/webapp1目錄,修改Tomcat配置文件server.xml文件,將網站文件目錄更改到/web/webapp1/路徑下。

5.在/web/webapp1/路徑下建立index.jsp,為了區別將測試頁index.jsp的內容更改如下:

[root@localhost ~]# vim /web/webapp1/index.jsp
<%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%> //註釋
<html>
<head>
<title>JSP test2 page</title> //測試頁標題
</head>
<body>
<% out.println("Welcome to test site,http://www.test2.com");%> //測試頁主體內容
</body>
</html>

6.啟動tomcat,瀏覽器訪問http://192.168.113.150:8080/, 出現下面的界面,說明Tomcat站點配置成功並且能夠運行JSP了。

"

Tomcat服務器是一個免費的開放源代碼的web應用服務器,屬於輕量級應用服務器,是開發和調試JSP程序的首選。由於Tomcat處理靜態HTML的能力運不及Apache或者Nginx,所以Tomcat通常是作為一個Servlet和JSP容器,單獨運行在後端。

  • Nginx服務器能支持高達50000個併發連接數的響應,擁有強大的靜態資源處理能力,運行穩定,並且內存、CPU等系統資源消耗非常低.

通常情況下,一個Tomcat站點由於可能出現單點故障及無法應付過多客戶複雜請求等問題,不能單獨應用於生產環境下,目前很多大型網站都應用Nginx服務器作為後端網站程序的反向代理及負載均衡器,簡單來說就是Nginx作為負載均衡器,響應客戶端的請求,Tomcat作為應用服務器的負載集群,處理客戶端的請求,也就是說Nginx將訪問請求轉發給後端服務器池的服務器來處理。網站拓撲圖如圖所示:

Tomcat+Nginx負載均衡集群由Linux環境搭建

案例環境:

主機操作系統IP地址主要軟件Nginx服務器RedHat7.3 x86_64192.168.113.151nginx-1.12.0.tar.gzTomcat服務器1CentOS7.4 x86_64192.168.113.129jdk-8u91-linux-x64.tar.gz / apache-tomcat-8.5.16.tar.gzTomcat服務器2CentOS7.4 x86_64192.168.113.150jdk-8u91-linux-x64.tar.gz / apache-tomcat-8.5.16.tar.gz

  • Tomcat1 server配置

1.啟動主機後關閉防火牆

systemctl disable firewalld.service //禁用防火牆服務
systemctl stop firewalld.service //關閉防火牆服務

2.安裝JDK,配置Java環境

(1).解壓jdk軟件至/opt目錄下,並將解壓後生成的jdk文件夾移到/usr/local/下,改名為java。

tar zxvf jdk-7u65-linux-x64.gz -C /opt
mv jdk1.7.0_65/ /usr/local/java

(2).在/etc/profile.d/下建立java.sh腳本。

[root@centos7-1 ~]# vim /etc/profile.d/java.sh 
export JAVA_HOME=/usr/local/java //設置Java根目錄
export PATH=$PATH:$JAVA_HOME/bin //在PATH環境變量中添加Java根目錄下的bin/子目錄

(3).將java.sh腳本導入到環境變量,使其生效

source /etc/profile.d/java.sh

(4).運行java-version命令查看java版本是否和之前安裝的一致。

[root@centos7-1 ~]# java -version
openjdk version "1.8.0_131"
OpenJDK Runtime Environment (build 1.8.0_131-b12)
OpenJDK 64-Bit Server VM (build 25.131-b12, mixed mode)

3.安裝配置Tomcat

(1).解壓apache-tomcat-8.5.16.tar.gz包至/opt目錄,並將解壓後生成的文件夾移動到/usr/local/下,改名為tomcat8。

tar zxvf apache-tomcat-8.5.16.tar.gz -C /opt/
mv apache-tomcat-8.5.16/ /usr/local/tomcat8

(2).啟動Tomcat

[root@centos7-1 ~]# /usr/local/tomcat8/bin/startup.sh 
Using CATALINA_BASE: /usr/local/tomcat8
Using CATALINA_HOME: /usr/local/tomcat8
Using CATALINA_TMPDIR: /usr/local/tomcat8/temp
Using JRE_HOME: /usr/local/java
Using CLASSPATH: /usr/local/tomcat8/bin/bootstrap.jar:/usr/local/tomcat8/bin/tomcat-juli.jar
Tomcat started.

Tomcat默認運行在8080端口,運行netstat命令查看8080端口監聽的信息。

[root@centos7-1 ~]# netstat -ntap | grep 8080 
tcp6 0 0 :::8080 :::* LISTEN 1583/java

(3).打開瀏覽器訪問測試http://192.168.113.129:8080/, 如果出現x下面的界面,則表示Tomcat已經配置啟動成功。

Tomcat+Nginx負載均衡集群由Linux環境搭建

4.建立Java的web站點

(1).在根目錄下建立一個web目錄,並在裡面建立一個webapp1目錄,用於存放網站文件。

[root@centos7-1 ~]# mkdir -pv /web/webapp1
mkdir: 已創建目錄 "/web"
mkdir: 已創建目錄 "/web/webapp1"

(2).在webapp1目錄下建立一個index.jsp的測試頁面。

[root@centos7-1 ~]# 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>

(3).修改Tomcat的server.xml文件。

定義一個虛擬主機,並將網站文件路徑指向已經建立的/web/webapp1,在host段增加context段。

[root@centos7-1 ~]# vim /usr/local/tomcat8/conf/server.xml 
<Host name="localhost" appBase="webapps"
unpackWARs="true" autoDeploy="true">
<Context docBase="/web/webapp1" path="" reloadable="false">
</Context>
  • docBase:web應用的文檔基準目錄
  • reloadable: 設置監視“類”是否變化
  • path="": 設置默認“類

(4).關閉Tomcat,再重新啟動。

/usr/local/tomcat8/bin/shutdown.sh //關閉Tomcat
/usr/local/tomcat7/bin/startup.sh //重啟Tomcat

(5).通過瀏覽器訪問http://192.168.113.129:8080/, 出現下面的界面,說明Tomcat站點配置成功並且能夠運行JSP了。

Tomcat+Nginx負載均衡集群由Linux環境搭建

  • Tomcat2 server配置
  • Tomcat2 server配置方法基本同Tomcat1,其中包括:

1.啟動主機後關閉防火牆。

2.安裝JDK,配置Java環境,版本與Tomcat1 server一致。

3.安裝配置Tomcat,版本與Tomcat1 server一致。

4.創建/web/webapp1目錄,修改Tomcat配置文件server.xml文件,將網站文件目錄更改到/web/webapp1/路徑下。

5.在/web/webapp1/路徑下建立index.jsp,為了區別將測試頁index.jsp的內容更改如下:

[root@localhost ~]# vim /web/webapp1/index.jsp
<%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%> //註釋
<html>
<head>
<title>JSP test2 page</title> //測試頁標題
</head>
<body>
<% out.println("Welcome to test site,http://www.test2.com");%> //測試頁主體內容
</body>
</html>

6.啟動tomcat,瀏覽器訪問http://192.168.113.150:8080/, 出現下面的界面,說明Tomcat站點配置成功並且能夠運行JSP了。

Tomcat+Nginx負載均衡集群由Linux環境搭建

  • Nginx服務器配置
  • 在Nginx服務器192.168.113.151上安裝Nginx,反向代理兩個Tomcat站點,並實現負載均衡。
  • 1.關閉防火牆
systemctl disable firewalld.service
systemctl stop firewalld.service
  • 2.安裝支持軟件
yum install gcc gcc-c++ make pcre pcre-devel zlib-devel openssl-devel -y
  • 3.解壓並安裝Nginx
useradd -s /bin/false www //創建運行用戶www,強制禁止登陸系統shell環境
tar zxvf nginx-1.12.0.tar.gz -C /opt //解壓nginx軟件至/opt目錄下
cd /opt/nginx-1.12.0/ //切換到解壓後的nginx文件夾目錄下
./configure \\ //配置nginx的具體選項
--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
  • --prefix=/usr/l,ocal/nginx:指定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模塊

4.配置nginx.conf

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

(1).在http{...}中加入以下代碼,設定負載均衡的服務器列表,weight參數表示權值,權值越高被分配到的概率越大。為了使測試效果明顯,把權重設置為一樣。

upstream tomcat_server { 
server 192.168.113.129:8080 weight=1;
server 192.168.113.150:8080 weight=1;
} //配置後端服務池tomcat_server,以提供響應數據

(2).在http{...} - server{...} - location /{...}中加入一行“proxy_pass http://tomcat_server;” 。

location / {
root html;
index index.html index.htm;
proxy_pass http://tomcat_server; //配置將訪問請求轉發給後端服務器池的服務器處理
}

利用以上方式,把Nginx的默認站點通過proxy_pass方法代理到了設定好的tomcat_server負載均衡服務器組上。

5.測試nginx配置文件是否正確。

[root@RedHat7-1 ~]# /usr/local/nginx/sbin/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

6.啟動Nginx服務並查看其端口

[root@RedHat7-1 ~]# ln -s /usr/local/nginx/sbin/nginx /usr/local/sbin/ //創建nginx主程序的軟鏈接,方便調用nginx命令
[root@RedHat7-1 ~]# nginx //啟動nginx服務
[root@RedHat7-1 ~]# netstat -ntap | grep nginx
tcp 0 0 0.0.0.0:80 0.0.0.0:* LISTEN 17819/nginx: master
[root@RedHat7-1 ~]# killall -1 nginx //重啟nginx服務
  • 測試負載均衡效果

1.打開瀏覽器訪問http://192.168.113.151/.

2.不斷刷新瀏覽器測試,可以看到由於權重相同,頁面會反覆在以下兩個頁面切換。

第一次訪問,出現test1的測試頁面,刷新後,第二次訪問出現test2的測試頁面,這說明負載均衡集搭建成功,已經可以在兩個tomcat server站點間進行切換了。

"

Tomcat服務器是一個免費的開放源代碼的web應用服務器,屬於輕量級應用服務器,是開發和調試JSP程序的首選。由於Tomcat處理靜態HTML的能力運不及Apache或者Nginx,所以Tomcat通常是作為一個Servlet和JSP容器,單獨運行在後端。

  • Nginx服務器能支持高達50000個併發連接數的響應,擁有強大的靜態資源處理能力,運行穩定,並且內存、CPU等系統資源消耗非常低.

通常情況下,一個Tomcat站點由於可能出現單點故障及無法應付過多客戶複雜請求等問題,不能單獨應用於生產環境下,目前很多大型網站都應用Nginx服務器作為後端網站程序的反向代理及負載均衡器,簡單來說就是Nginx作為負載均衡器,響應客戶端的請求,Tomcat作為應用服務器的負載集群,處理客戶端的請求,也就是說Nginx將訪問請求轉發給後端服務器池的服務器來處理。網站拓撲圖如圖所示:

Tomcat+Nginx負載均衡集群由Linux環境搭建

案例環境:

主機操作系統IP地址主要軟件Nginx服務器RedHat7.3 x86_64192.168.113.151nginx-1.12.0.tar.gzTomcat服務器1CentOS7.4 x86_64192.168.113.129jdk-8u91-linux-x64.tar.gz / apache-tomcat-8.5.16.tar.gzTomcat服務器2CentOS7.4 x86_64192.168.113.150jdk-8u91-linux-x64.tar.gz / apache-tomcat-8.5.16.tar.gz

  • Tomcat1 server配置

1.啟動主機後關閉防火牆

systemctl disable firewalld.service //禁用防火牆服務
systemctl stop firewalld.service //關閉防火牆服務

2.安裝JDK,配置Java環境

(1).解壓jdk軟件至/opt目錄下,並將解壓後生成的jdk文件夾移到/usr/local/下,改名為java。

tar zxvf jdk-7u65-linux-x64.gz -C /opt
mv jdk1.7.0_65/ /usr/local/java

(2).在/etc/profile.d/下建立java.sh腳本。

[root@centos7-1 ~]# vim /etc/profile.d/java.sh 
export JAVA_HOME=/usr/local/java //設置Java根目錄
export PATH=$PATH:$JAVA_HOME/bin //在PATH環境變量中添加Java根目錄下的bin/子目錄

(3).將java.sh腳本導入到環境變量,使其生效

source /etc/profile.d/java.sh

(4).運行java-version命令查看java版本是否和之前安裝的一致。

[root@centos7-1 ~]# java -version
openjdk version "1.8.0_131"
OpenJDK Runtime Environment (build 1.8.0_131-b12)
OpenJDK 64-Bit Server VM (build 25.131-b12, mixed mode)

3.安裝配置Tomcat

(1).解壓apache-tomcat-8.5.16.tar.gz包至/opt目錄,並將解壓後生成的文件夾移動到/usr/local/下,改名為tomcat8。

tar zxvf apache-tomcat-8.5.16.tar.gz -C /opt/
mv apache-tomcat-8.5.16/ /usr/local/tomcat8

(2).啟動Tomcat

[root@centos7-1 ~]# /usr/local/tomcat8/bin/startup.sh 
Using CATALINA_BASE: /usr/local/tomcat8
Using CATALINA_HOME: /usr/local/tomcat8
Using CATALINA_TMPDIR: /usr/local/tomcat8/temp
Using JRE_HOME: /usr/local/java
Using CLASSPATH: /usr/local/tomcat8/bin/bootstrap.jar:/usr/local/tomcat8/bin/tomcat-juli.jar
Tomcat started.

Tomcat默認運行在8080端口,運行netstat命令查看8080端口監聽的信息。

[root@centos7-1 ~]# netstat -ntap | grep 8080 
tcp6 0 0 :::8080 :::* LISTEN 1583/java

(3).打開瀏覽器訪問測試http://192.168.113.129:8080/, 如果出現x下面的界面,則表示Tomcat已經配置啟動成功。

Tomcat+Nginx負載均衡集群由Linux環境搭建

4.建立Java的web站點

(1).在根目錄下建立一個web目錄,並在裡面建立一個webapp1目錄,用於存放網站文件。

[root@centos7-1 ~]# mkdir -pv /web/webapp1
mkdir: 已創建目錄 "/web"
mkdir: 已創建目錄 "/web/webapp1"

(2).在webapp1目錄下建立一個index.jsp的測試頁面。

[root@centos7-1 ~]# 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>

(3).修改Tomcat的server.xml文件。

定義一個虛擬主機,並將網站文件路徑指向已經建立的/web/webapp1,在host段增加context段。

[root@centos7-1 ~]# vim /usr/local/tomcat8/conf/server.xml 
<Host name="localhost" appBase="webapps"
unpackWARs="true" autoDeploy="true">
<Context docBase="/web/webapp1" path="" reloadable="false">
</Context>
  • docBase:web應用的文檔基準目錄
  • reloadable: 設置監視“類”是否變化
  • path="": 設置默認“類

(4).關閉Tomcat,再重新啟動。

/usr/local/tomcat8/bin/shutdown.sh //關閉Tomcat
/usr/local/tomcat7/bin/startup.sh //重啟Tomcat

(5).通過瀏覽器訪問http://192.168.113.129:8080/, 出現下面的界面,說明Tomcat站點配置成功並且能夠運行JSP了。

Tomcat+Nginx負載均衡集群由Linux環境搭建

  • Tomcat2 server配置
  • Tomcat2 server配置方法基本同Tomcat1,其中包括:

1.啟動主機後關閉防火牆。

2.安裝JDK,配置Java環境,版本與Tomcat1 server一致。

3.安裝配置Tomcat,版本與Tomcat1 server一致。

4.創建/web/webapp1目錄,修改Tomcat配置文件server.xml文件,將網站文件目錄更改到/web/webapp1/路徑下。

5.在/web/webapp1/路徑下建立index.jsp,為了區別將測試頁index.jsp的內容更改如下:

[root@localhost ~]# vim /web/webapp1/index.jsp
<%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%> //註釋
<html>
<head>
<title>JSP test2 page</title> //測試頁標題
</head>
<body>
<% out.println("Welcome to test site,http://www.test2.com");%> //測試頁主體內容
</body>
</html>

6.啟動tomcat,瀏覽器訪問http://192.168.113.150:8080/, 出現下面的界面,說明Tomcat站點配置成功並且能夠運行JSP了。

Tomcat+Nginx負載均衡集群由Linux環境搭建

  • Nginx服務器配置
  • 在Nginx服務器192.168.113.151上安裝Nginx,反向代理兩個Tomcat站點,並實現負載均衡。
  • 1.關閉防火牆
systemctl disable firewalld.service
systemctl stop firewalld.service
  • 2.安裝支持軟件
yum install gcc gcc-c++ make pcre pcre-devel zlib-devel openssl-devel -y
  • 3.解壓並安裝Nginx
useradd -s /bin/false www //創建運行用戶www,強制禁止登陸系統shell環境
tar zxvf nginx-1.12.0.tar.gz -C /opt //解壓nginx軟件至/opt目錄下
cd /opt/nginx-1.12.0/ //切換到解壓後的nginx文件夾目錄下
./configure \\ //配置nginx的具體選項
--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
  • --prefix=/usr/l,ocal/nginx:指定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模塊

4.配置nginx.conf

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

(1).在http{...}中加入以下代碼,設定負載均衡的服務器列表,weight參數表示權值,權值越高被分配到的概率越大。為了使測試效果明顯,把權重設置為一樣。

upstream tomcat_server { 
server 192.168.113.129:8080 weight=1;
server 192.168.113.150:8080 weight=1;
} //配置後端服務池tomcat_server,以提供響應數據

(2).在http{...} - server{...} - location /{...}中加入一行“proxy_pass http://tomcat_server;” 。

location / {
root html;
index index.html index.htm;
proxy_pass http://tomcat_server; //配置將訪問請求轉發給後端服務器池的服務器處理
}

利用以上方式,把Nginx的默認站點通過proxy_pass方法代理到了設定好的tomcat_server負載均衡服務器組上。

5.測試nginx配置文件是否正確。

[root@RedHat7-1 ~]# /usr/local/nginx/sbin/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

6.啟動Nginx服務並查看其端口

[root@RedHat7-1 ~]# ln -s /usr/local/nginx/sbin/nginx /usr/local/sbin/ //創建nginx主程序的軟鏈接,方便調用nginx命令
[root@RedHat7-1 ~]# nginx //啟動nginx服務
[root@RedHat7-1 ~]# netstat -ntap | grep nginx
tcp 0 0 0.0.0.0:80 0.0.0.0:* LISTEN 17819/nginx: master
[root@RedHat7-1 ~]# killall -1 nginx //重啟nginx服務
  • 測試負載均衡效果

1.打開瀏覽器訪問http://192.168.113.151/.

2.不斷刷新瀏覽器測試,可以看到由於權重相同,頁面會反覆在以下兩個頁面切換。

第一次訪問,出現test1的測試頁面,刷新後,第二次訪問出現test2的測試頁面,這說明負載均衡集搭建成功,已經可以在兩個tomcat server站點間進行切換了。

Tomcat+Nginx負載均衡集群由Linux環境搭建

"

Tomcat服務器是一個免費的開放源代碼的web應用服務器,屬於輕量級應用服務器,是開發和調試JSP程序的首選。由於Tomcat處理靜態HTML的能力運不及Apache或者Nginx,所以Tomcat通常是作為一個Servlet和JSP容器,單獨運行在後端。

  • Nginx服務器能支持高達50000個併發連接數的響應,擁有強大的靜態資源處理能力,運行穩定,並且內存、CPU等系統資源消耗非常低.

通常情況下,一個Tomcat站點由於可能出現單點故障及無法應付過多客戶複雜請求等問題,不能單獨應用於生產環境下,目前很多大型網站都應用Nginx服務器作為後端網站程序的反向代理及負載均衡器,簡單來說就是Nginx作為負載均衡器,響應客戶端的請求,Tomcat作為應用服務器的負載集群,處理客戶端的請求,也就是說Nginx將訪問請求轉發給後端服務器池的服務器來處理。網站拓撲圖如圖所示:

Tomcat+Nginx負載均衡集群由Linux環境搭建

案例環境:

主機操作系統IP地址主要軟件Nginx服務器RedHat7.3 x86_64192.168.113.151nginx-1.12.0.tar.gzTomcat服務器1CentOS7.4 x86_64192.168.113.129jdk-8u91-linux-x64.tar.gz / apache-tomcat-8.5.16.tar.gzTomcat服務器2CentOS7.4 x86_64192.168.113.150jdk-8u91-linux-x64.tar.gz / apache-tomcat-8.5.16.tar.gz

  • Tomcat1 server配置

1.啟動主機後關閉防火牆

systemctl disable firewalld.service //禁用防火牆服務
systemctl stop firewalld.service //關閉防火牆服務

2.安裝JDK,配置Java環境

(1).解壓jdk軟件至/opt目錄下,並將解壓後生成的jdk文件夾移到/usr/local/下,改名為java。

tar zxvf jdk-7u65-linux-x64.gz -C /opt
mv jdk1.7.0_65/ /usr/local/java

(2).在/etc/profile.d/下建立java.sh腳本。

[root@centos7-1 ~]# vim /etc/profile.d/java.sh 
export JAVA_HOME=/usr/local/java //設置Java根目錄
export PATH=$PATH:$JAVA_HOME/bin //在PATH環境變量中添加Java根目錄下的bin/子目錄

(3).將java.sh腳本導入到環境變量,使其生效

source /etc/profile.d/java.sh

(4).運行java-version命令查看java版本是否和之前安裝的一致。

[root@centos7-1 ~]# java -version
openjdk version "1.8.0_131"
OpenJDK Runtime Environment (build 1.8.0_131-b12)
OpenJDK 64-Bit Server VM (build 25.131-b12, mixed mode)

3.安裝配置Tomcat

(1).解壓apache-tomcat-8.5.16.tar.gz包至/opt目錄,並將解壓後生成的文件夾移動到/usr/local/下,改名為tomcat8。

tar zxvf apache-tomcat-8.5.16.tar.gz -C /opt/
mv apache-tomcat-8.5.16/ /usr/local/tomcat8

(2).啟動Tomcat

[root@centos7-1 ~]# /usr/local/tomcat8/bin/startup.sh 
Using CATALINA_BASE: /usr/local/tomcat8
Using CATALINA_HOME: /usr/local/tomcat8
Using CATALINA_TMPDIR: /usr/local/tomcat8/temp
Using JRE_HOME: /usr/local/java
Using CLASSPATH: /usr/local/tomcat8/bin/bootstrap.jar:/usr/local/tomcat8/bin/tomcat-juli.jar
Tomcat started.

Tomcat默認運行在8080端口,運行netstat命令查看8080端口監聽的信息。

[root@centos7-1 ~]# netstat -ntap | grep 8080 
tcp6 0 0 :::8080 :::* LISTEN 1583/java

(3).打開瀏覽器訪問測試http://192.168.113.129:8080/, 如果出現x下面的界面,則表示Tomcat已經配置啟動成功。

Tomcat+Nginx負載均衡集群由Linux環境搭建

4.建立Java的web站點

(1).在根目錄下建立一個web目錄,並在裡面建立一個webapp1目錄,用於存放網站文件。

[root@centos7-1 ~]# mkdir -pv /web/webapp1
mkdir: 已創建目錄 "/web"
mkdir: 已創建目錄 "/web/webapp1"

(2).在webapp1目錄下建立一個index.jsp的測試頁面。

[root@centos7-1 ~]# 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>

(3).修改Tomcat的server.xml文件。

定義一個虛擬主機,並將網站文件路徑指向已經建立的/web/webapp1,在host段增加context段。

[root@centos7-1 ~]# vim /usr/local/tomcat8/conf/server.xml 
<Host name="localhost" appBase="webapps"
unpackWARs="true" autoDeploy="true">
<Context docBase="/web/webapp1" path="" reloadable="false">
</Context>
  • docBase:web應用的文檔基準目錄
  • reloadable: 設置監視“類”是否變化
  • path="": 設置默認“類

(4).關閉Tomcat,再重新啟動。

/usr/local/tomcat8/bin/shutdown.sh //關閉Tomcat
/usr/local/tomcat7/bin/startup.sh //重啟Tomcat

(5).通過瀏覽器訪問http://192.168.113.129:8080/, 出現下面的界面,說明Tomcat站點配置成功並且能夠運行JSP了。

Tomcat+Nginx負載均衡集群由Linux環境搭建

  • Tomcat2 server配置
  • Tomcat2 server配置方法基本同Tomcat1,其中包括:

1.啟動主機後關閉防火牆。

2.安裝JDK,配置Java環境,版本與Tomcat1 server一致。

3.安裝配置Tomcat,版本與Tomcat1 server一致。

4.創建/web/webapp1目錄,修改Tomcat配置文件server.xml文件,將網站文件目錄更改到/web/webapp1/路徑下。

5.在/web/webapp1/路徑下建立index.jsp,為了區別將測試頁index.jsp的內容更改如下:

[root@localhost ~]# vim /web/webapp1/index.jsp
<%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%> //註釋
<html>
<head>
<title>JSP test2 page</title> //測試頁標題
</head>
<body>
<% out.println("Welcome to test site,http://www.test2.com");%> //測試頁主體內容
</body>
</html>

6.啟動tomcat,瀏覽器訪問http://192.168.113.150:8080/, 出現下面的界面,說明Tomcat站點配置成功並且能夠運行JSP了。

Tomcat+Nginx負載均衡集群由Linux環境搭建

  • Nginx服務器配置
  • 在Nginx服務器192.168.113.151上安裝Nginx,反向代理兩個Tomcat站點,並實現負載均衡。
  • 1.關閉防火牆
systemctl disable firewalld.service
systemctl stop firewalld.service
  • 2.安裝支持軟件
yum install gcc gcc-c++ make pcre pcre-devel zlib-devel openssl-devel -y
  • 3.解壓並安裝Nginx
useradd -s /bin/false www //創建運行用戶www,強制禁止登陸系統shell環境
tar zxvf nginx-1.12.0.tar.gz -C /opt //解壓nginx軟件至/opt目錄下
cd /opt/nginx-1.12.0/ //切換到解壓後的nginx文件夾目錄下
./configure \\ //配置nginx的具體選項
--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
  • --prefix=/usr/l,ocal/nginx:指定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模塊

4.配置nginx.conf

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

(1).在http{...}中加入以下代碼,設定負載均衡的服務器列表,weight參數表示權值,權值越高被分配到的概率越大。為了使測試效果明顯,把權重設置為一樣。

upstream tomcat_server { 
server 192.168.113.129:8080 weight=1;
server 192.168.113.150:8080 weight=1;
} //配置後端服務池tomcat_server,以提供響應數據

(2).在http{...} - server{...} - location /{...}中加入一行“proxy_pass http://tomcat_server;” 。

location / {
root html;
index index.html index.htm;
proxy_pass http://tomcat_server; //配置將訪問請求轉發給後端服務器池的服務器處理
}

利用以上方式,把Nginx的默認站點通過proxy_pass方法代理到了設定好的tomcat_server負載均衡服務器組上。

5.測試nginx配置文件是否正確。

[root@RedHat7-1 ~]# /usr/local/nginx/sbin/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

6.啟動Nginx服務並查看其端口

[root@RedHat7-1 ~]# ln -s /usr/local/nginx/sbin/nginx /usr/local/sbin/ //創建nginx主程序的軟鏈接,方便調用nginx命令
[root@RedHat7-1 ~]# nginx //啟動nginx服務
[root@RedHat7-1 ~]# netstat -ntap | grep nginx
tcp 0 0 0.0.0.0:80 0.0.0.0:* LISTEN 17819/nginx: master
[root@RedHat7-1 ~]# killall -1 nginx //重啟nginx服務
  • 測試負載均衡效果

1.打開瀏覽器訪問http://192.168.113.151/.

2.不斷刷新瀏覽器測試,可以看到由於權重相同,頁面會反覆在以下兩個頁面切換。

第一次訪問,出現test1的測試頁面,刷新後,第二次訪問出現test2的測試頁面,這說明負載均衡集搭建成功,已經可以在兩個tomcat server站點間進行切換了。

Tomcat+Nginx負載均衡集群由Linux環境搭建

Tomcat+Nginx負載均衡集群由Linux環境搭建

真實環境中,服務器集群站點的內容相同,這裡是為了測試負載均衡集的效果而建立2個不同的測試頁面。

其實很多技術不是一兩篇文章就能說的清楚的。

那如何快速有效的學習並精通呢?

轉發!

轉發!

轉發後關注作者,私信關鍵詞:“ Java ”

以下價值1990元資料,免費領取!

"

Tomcat服務器是一個免費的開放源代碼的web應用服務器,屬於輕量級應用服務器,是開發和調試JSP程序的首選。由於Tomcat處理靜態HTML的能力運不及Apache或者Nginx,所以Tomcat通常是作為一個Servlet和JSP容器,單獨運行在後端。

  • Nginx服務器能支持高達50000個併發連接數的響應,擁有強大的靜態資源處理能力,運行穩定,並且內存、CPU等系統資源消耗非常低.

通常情況下,一個Tomcat站點由於可能出現單點故障及無法應付過多客戶複雜請求等問題,不能單獨應用於生產環境下,目前很多大型網站都應用Nginx服務器作為後端網站程序的反向代理及負載均衡器,簡單來說就是Nginx作為負載均衡器,響應客戶端的請求,Tomcat作為應用服務器的負載集群,處理客戶端的請求,也就是說Nginx將訪問請求轉發給後端服務器池的服務器來處理。網站拓撲圖如圖所示:

Tomcat+Nginx負載均衡集群由Linux環境搭建

案例環境:

主機操作系統IP地址主要軟件Nginx服務器RedHat7.3 x86_64192.168.113.151nginx-1.12.0.tar.gzTomcat服務器1CentOS7.4 x86_64192.168.113.129jdk-8u91-linux-x64.tar.gz / apache-tomcat-8.5.16.tar.gzTomcat服務器2CentOS7.4 x86_64192.168.113.150jdk-8u91-linux-x64.tar.gz / apache-tomcat-8.5.16.tar.gz

  • Tomcat1 server配置

1.啟動主機後關閉防火牆

systemctl disable firewalld.service //禁用防火牆服務
systemctl stop firewalld.service //關閉防火牆服務

2.安裝JDK,配置Java環境

(1).解壓jdk軟件至/opt目錄下,並將解壓後生成的jdk文件夾移到/usr/local/下,改名為java。

tar zxvf jdk-7u65-linux-x64.gz -C /opt
mv jdk1.7.0_65/ /usr/local/java

(2).在/etc/profile.d/下建立java.sh腳本。

[root@centos7-1 ~]# vim /etc/profile.d/java.sh 
export JAVA_HOME=/usr/local/java //設置Java根目錄
export PATH=$PATH:$JAVA_HOME/bin //在PATH環境變量中添加Java根目錄下的bin/子目錄

(3).將java.sh腳本導入到環境變量,使其生效

source /etc/profile.d/java.sh

(4).運行java-version命令查看java版本是否和之前安裝的一致。

[root@centos7-1 ~]# java -version
openjdk version "1.8.0_131"
OpenJDK Runtime Environment (build 1.8.0_131-b12)
OpenJDK 64-Bit Server VM (build 25.131-b12, mixed mode)

3.安裝配置Tomcat

(1).解壓apache-tomcat-8.5.16.tar.gz包至/opt目錄,並將解壓後生成的文件夾移動到/usr/local/下,改名為tomcat8。

tar zxvf apache-tomcat-8.5.16.tar.gz -C /opt/
mv apache-tomcat-8.5.16/ /usr/local/tomcat8

(2).啟動Tomcat

[root@centos7-1 ~]# /usr/local/tomcat8/bin/startup.sh 
Using CATALINA_BASE: /usr/local/tomcat8
Using CATALINA_HOME: /usr/local/tomcat8
Using CATALINA_TMPDIR: /usr/local/tomcat8/temp
Using JRE_HOME: /usr/local/java
Using CLASSPATH: /usr/local/tomcat8/bin/bootstrap.jar:/usr/local/tomcat8/bin/tomcat-juli.jar
Tomcat started.

Tomcat默認運行在8080端口,運行netstat命令查看8080端口監聽的信息。

[root@centos7-1 ~]# netstat -ntap | grep 8080 
tcp6 0 0 :::8080 :::* LISTEN 1583/java

(3).打開瀏覽器訪問測試http://192.168.113.129:8080/, 如果出現x下面的界面,則表示Tomcat已經配置啟動成功。

Tomcat+Nginx負載均衡集群由Linux環境搭建

4.建立Java的web站點

(1).在根目錄下建立一個web目錄,並在裡面建立一個webapp1目錄,用於存放網站文件。

[root@centos7-1 ~]# mkdir -pv /web/webapp1
mkdir: 已創建目錄 "/web"
mkdir: 已創建目錄 "/web/webapp1"

(2).在webapp1目錄下建立一個index.jsp的測試頁面。

[root@centos7-1 ~]# 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>

(3).修改Tomcat的server.xml文件。

定義一個虛擬主機,並將網站文件路徑指向已經建立的/web/webapp1,在host段增加context段。

[root@centos7-1 ~]# vim /usr/local/tomcat8/conf/server.xml 
<Host name="localhost" appBase="webapps"
unpackWARs="true" autoDeploy="true">
<Context docBase="/web/webapp1" path="" reloadable="false">
</Context>
  • docBase:web應用的文檔基準目錄
  • reloadable: 設置監視“類”是否變化
  • path="": 設置默認“類

(4).關閉Tomcat,再重新啟動。

/usr/local/tomcat8/bin/shutdown.sh //關閉Tomcat
/usr/local/tomcat7/bin/startup.sh //重啟Tomcat

(5).通過瀏覽器訪問http://192.168.113.129:8080/, 出現下面的界面,說明Tomcat站點配置成功並且能夠運行JSP了。

Tomcat+Nginx負載均衡集群由Linux環境搭建

  • Tomcat2 server配置
  • Tomcat2 server配置方法基本同Tomcat1,其中包括:

1.啟動主機後關閉防火牆。

2.安裝JDK,配置Java環境,版本與Tomcat1 server一致。

3.安裝配置Tomcat,版本與Tomcat1 server一致。

4.創建/web/webapp1目錄,修改Tomcat配置文件server.xml文件,將網站文件目錄更改到/web/webapp1/路徑下。

5.在/web/webapp1/路徑下建立index.jsp,為了區別將測試頁index.jsp的內容更改如下:

[root@localhost ~]# vim /web/webapp1/index.jsp
<%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%> //註釋
<html>
<head>
<title>JSP test2 page</title> //測試頁標題
</head>
<body>
<% out.println("Welcome to test site,http://www.test2.com");%> //測試頁主體內容
</body>
</html>

6.啟動tomcat,瀏覽器訪問http://192.168.113.150:8080/, 出現下面的界面,說明Tomcat站點配置成功並且能夠運行JSP了。

Tomcat+Nginx負載均衡集群由Linux環境搭建

  • Nginx服務器配置
  • 在Nginx服務器192.168.113.151上安裝Nginx,反向代理兩個Tomcat站點,並實現負載均衡。
  • 1.關閉防火牆
systemctl disable firewalld.service
systemctl stop firewalld.service
  • 2.安裝支持軟件
yum install gcc gcc-c++ make pcre pcre-devel zlib-devel openssl-devel -y
  • 3.解壓並安裝Nginx
useradd -s /bin/false www //創建運行用戶www,強制禁止登陸系統shell環境
tar zxvf nginx-1.12.0.tar.gz -C /opt //解壓nginx軟件至/opt目錄下
cd /opt/nginx-1.12.0/ //切換到解壓後的nginx文件夾目錄下
./configure \\ //配置nginx的具體選項
--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
  • --prefix=/usr/l,ocal/nginx:指定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模塊

4.配置nginx.conf

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

(1).在http{...}中加入以下代碼,設定負載均衡的服務器列表,weight參數表示權值,權值越高被分配到的概率越大。為了使測試效果明顯,把權重設置為一樣。

upstream tomcat_server { 
server 192.168.113.129:8080 weight=1;
server 192.168.113.150:8080 weight=1;
} //配置後端服務池tomcat_server,以提供響應數據

(2).在http{...} - server{...} - location /{...}中加入一行“proxy_pass http://tomcat_server;” 。

location / {
root html;
index index.html index.htm;
proxy_pass http://tomcat_server; //配置將訪問請求轉發給後端服務器池的服務器處理
}

利用以上方式,把Nginx的默認站點通過proxy_pass方法代理到了設定好的tomcat_server負載均衡服務器組上。

5.測試nginx配置文件是否正確。

[root@RedHat7-1 ~]# /usr/local/nginx/sbin/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

6.啟動Nginx服務並查看其端口

[root@RedHat7-1 ~]# ln -s /usr/local/nginx/sbin/nginx /usr/local/sbin/ //創建nginx主程序的軟鏈接,方便調用nginx命令
[root@RedHat7-1 ~]# nginx //啟動nginx服務
[root@RedHat7-1 ~]# netstat -ntap | grep nginx
tcp 0 0 0.0.0.0:80 0.0.0.0:* LISTEN 17819/nginx: master
[root@RedHat7-1 ~]# killall -1 nginx //重啟nginx服務
  • 測試負載均衡效果

1.打開瀏覽器訪問http://192.168.113.151/.

2.不斷刷新瀏覽器測試,可以看到由於權重相同,頁面會反覆在以下兩個頁面切換。

第一次訪問,出現test1的測試頁面,刷新後,第二次訪問出現test2的測試頁面,這說明負載均衡集搭建成功,已經可以在兩個tomcat server站點間進行切換了。

Tomcat+Nginx負載均衡集群由Linux環境搭建

Tomcat+Nginx負載均衡集群由Linux環境搭建

真實環境中,服務器集群站點的內容相同,這裡是為了測試負載均衡集的效果而建立2個不同的測試頁面。

其實很多技術不是一兩篇文章就能說的清楚的。

那如何快速有效的學習並精通呢?

轉發!

轉發!

轉發後關注作者,私信關鍵詞:“ Java ”

以下價值1990元資料,免費領取!

Tomcat+Nginx負載均衡集群由Linux環境搭建

"

相關推薦

推薦中...