目錄
一、案例環境
二、部署 Tomcat(102/103)
?1、準備環境
(1)關閉firewalld 防火墻
(2)安裝JDK
2、安裝配置 Tomcat
(1)Tomcat 的安裝和配置
(2)移動并改名
(3)啟動并查看監聽
(4)打開瀏覽器測試
3、建立Java的Web站點
(1)建立目錄
(2)在webapp1目錄下建立一個index.jsp 的測試頁面
(3)修改Tomcat 的server.xml 文件
(4)關閉Tomcat,再重新啟動
(5)確認Web 站點
4、Tomcat 配置相關說明
(1)主要目錄說明
(2)配置文件說明
三、配置Nginx,實現負載均衡、動靜分離群集(101)
1、Nginx 服務器配置
(1)關閉防火墻
(2)安裝相關軟件包
(3)解壓并安裝Nginx
(4)配置nginx.conf
2、測試效果
一、案例環境
機 | IP | 操作系統 | 應用 |
Nginx服務器(101) | 192.168.10.101 | OpenEuler24 | nginx-1.26.3 |
Tomcat1服務器(102) | 192.168.10.102 | OpenEuler24 | apache-tomcat-9.0.8 |
Tomcat2服務器(103) | 192.168.10.103 | OpenEuler24 | apache-tomcat-9.0.8 |
二、部署 Tomcat(102/103)
?1、準備環境
(1)關閉firewalld 防火墻
systemctl stop firewalld
setenforce 0
(2)安裝JDK
dnf -y install java
2、安裝配置 Tomcat
(1)Tomcat 的安裝和配置
解壓本文使用的安裝包
tar zxvf apache-tomcat-9.0.8.tar.gz
(2)移動并改名
mv apache-tomcat-9.0.8 /usr/local/tomcat
(3)啟動并查看監聽
[root@localhost ~]# /usr/local/tomcat/bin/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
Using CLASSPATH: /usr/local/tomcat/bin/bootstrap.jar:/usr/local/tomcat/bin/tomcat-juli.jar
Tomcat started.
Tomcat 默認運行在8080 端口,運行netstat 命令查看8080 端口監聽的信息。
[root@localhost bin]# netstat -anpt | grep java
tcp6 0 0 127.0.0.1:8005 :::* LISTEN 1955/java
tcp6 0 0 :::8009 :::* LISTEN 1955/java
tcp6 0 0 :::8080 :::* LISTEN 1955/java
(4)打開瀏覽器測試
在瀏覽器訪問http://192.168.10.102:8080和http://192.168.10.103:8080即可查看Tomcat的默認界面。
3、建立Java的Web站點
(1)建立目錄
mkdir -p /web/webapp1
(2)在webapp1目錄下建立一個index.jsp 的測試頁面
102
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("動態頁面 1,http://www.test1.com");%></body><body><div>動態頁面的圖片 1</div><br><img src="logo.png"></body>
</html>
103
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("動態頁面 2,http://www.test2.com");%></body><body><div>動態頁面的圖片 2</div><br><img src="logo.png"></body>
</html>
(3)修改Tomcat 的server.xml 文件
定義一個虛擬主機,并將網站文件路徑指向已經建立的/web/webapp1,在 host 段增加context 段。
vim /usr/local/tomcat/conf/server.xml <Host name="localhost" appBase="webapps"unpackWARs="true" autoDeploy="true"><Context docBase="/web/webapp1" path="" /> #150,添加
(4)關閉Tomcat,再重新啟動
/usr/local/tomcat/bin/shutdown.sh
/usr/local/tomcat/bin/startup.sh
(5)確認Web 站點
然后將準備好的logo.png圖片放到/web/webapp1/目錄下,訪問192.168.10.102:8080和192.168.10.103:8080
4、Tomcat 配置相關說明
Tomcat 的主目錄為/usr/local/tomcat/
(1)主要目錄說明
- bin/:存放 Windows 或 Linux 平臺上啟動和關閉 Tomcat 的腳本文件。
- conf/:存放 Tomcat 服務器的各種全局配置文件,其中最重要的是 server.xml 和web.xml。
- lib/:存放 Tomcat 運行需要的庫文件(JARS)。
- logs:存放 Tomcat 執行時的 LOG 文件。
- webapps:Tomcat 的主要 Web 發布目錄(包括應用程序示例)。
- work:存放 JSP 編譯后產生的 class 文件。
(2)配置文件說明
- catalina.policy:權限控制配置文件。
- catalina.properties:Tomcat 屬性配置文件。
- context.xml:上下文配置文件。
- logging.properties:日志 log 相關配置文件。
- server.xml:主配置文件。
- tomcat-users.xml:manager-gui管理用戶配置文件(Tomcat安裝后提供一個manager-gui 的管理界面,通過配置該文件可以開啟訪問)
- web.xml:Tomcat 的 servlet、servlet-mapping、filter、MIME 等相關配置。
三、配置Nginx,實現負載均衡、動靜分離群集(101)
通常情況下,一臺 Tomcat 站點由于可能出現單點故障及無法應付過多客戶復雜多樣的 請求等問題,不能單獨應用于生產環境下,所以需要一套更可靠的解決方案來完善 Web 站點 架構。
Nginx 是一款非常優秀的 http 服務器軟件,它能夠支持高達 50000 個并發連接數的響應,擁有強大的靜態資源處理能力,運行穩定,并且內存、CPU 等系統資源消耗非常低。 目 前很多大型網站都應用 Nginx 服務器作為后端網站程序的反向代理及負載均衡器,來提升整個站點的負載并發能力。
Nginx 是一個非常強大的靜態 web 服務,Tomcat 處理動態請求效率不高,而一般網站大 多數的內容都是靜態文件(如圖片、html、css、js 等),經過 Nginx 前端的反向代理加速 和過濾,后端Tomcat 處理請求的壓力便可大大減少,只需負責處理動態內容就可以了。在 性能與穩定性的權衡下,使用 Nginx+Tomcat 搭配便可讓它們在各自擅長的領域大展拳腳。
1、Nginx 服務器配置
在 Nginx 服務器 192.168.10.101 上安裝 Nginx,反向代理到兩個 Tomcat 站點,并實現負載均衡。
(1)關閉防火墻
systemctl stop firewalld
setenforce 0
(2)安裝相關軟件包
dnf -y install gcc make pcre-devel zlib-devel openssl-devel perl-ExtUtils-MakeMaker
(3)解壓并安裝Nginx
useradd -M -s /sbin/nologin nginx
tar zxf nginx-1.26.3.tar.gz
cd nginx-1.26.3
./configuer --prefix=/usr/local/nginx --user=nginx --group=nginx --with-http_ssl_module --with-http_v2_module --with-pcre
(4)配置nginx.conf
在 http{…}中加入以下代碼,設定負載均衡的服務器列表,weight 參數表示權重,權重越高,被分配到的概率越大。
vim /usr/local/nginx/conf/nginx.conf#gzip on;upstream my_tomcat {server 192.168.10.102:8080 weight=1;server 192.168.10.103:8080 weight=2;}
把 Nginx 的默認站點通過 proxy_pass 方法代理到了設定好的 tomcat_server 負載均衡服務器組上。配置完整的 nginx.conf 文件內容如下。
vim /usr/local/nginx/conf/nginx.confhttp {
......#gzip on;upstream my_tomcat {server 192.168.10.102:8080 weight=1;server 192.168.10.103:8080 weight=2;}server {listen 80;server_name localhost;charset utf-8;#access_log logs/host.access.log main;location / {root html;index index.html index.htm;}location ~ .*\.jsp$ {proxy_set_header HOST $host;proxy_set_header Client-IP $remote_addr;proxy_set_header X-Real-IP $remote_addr;proxy_set_header X-Forward-For $proxy_add_x_forwarded_for;proxy_pass http://my_tomcat;}location ~ .*\.(png|gif|jpeg|jpg)$ {root /usr/local/nginx/html/img;expires 30d;}
......}
......
}
下面再 Nginx 上準備靜態圖片
mkdir /usr/local/nginx/html/img
?將圖片放到img/目錄下
cp /root/logo.jpg /usr/local/nginx/html/img/
測試Nginx 配置文件是否正確
[root@bogon html]# 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
啟動Nginx 服務
systemctl start nginx
Nginx查看端口號及PID進程號
[root@bogon ~]# netstat -anpt | grep nginx
tcp 0 0 0.0.0.0:80 0.0.0.0:* LISTEN 1907/nginx: master
2、測試效果
多次訪問192.168.10.101/index.jsp,會發現下圖會以1:2的比例輪流出現,就說明負載均衡群集搭建成功,已經可以再兩個Tomcat server站點進行切換。
查看日志?
?