最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

Nginx+Tomcat群集的實現(xiàn)示例

 更新時間:2024年07月15日 08:33:05   作者:henanxiaoman  
這篇文章主要介紹了Nginx+Tomcat群集的實現(xiàn)示例,文中通過示例代碼介紹的非常詳細,對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧

一.實驗環(huán)境

 二.安裝多臺Tomcat服務(wù)器

1.在安裝Tomcat之前必須先安裝JDK

JDK的全稱是Java Development Kit,是sun公司提供的JAVA語言的軟件開發(fā)工具包,其中包含Java虛擬機(JVM),編寫好的Java源程序經(jīng)過編譯可形成Java字節(jié)碼,只要安裝了JDK,就可以利用jvm解釋這些字節(jié)碼文件,從而保證了Java的跨平臺性。

yum -y install java
java -version         #查看版本

2.安裝Tomcat 

解壓二進制文件

tar zxvf apache-tomcat-9.0.8.tar.gz 
mv apache-tomcat-9.0.8 /usr/local/tomcat8

 3.啟動Tomcat

[root@localhost ~]# /usr/local/tomcat8/bin/startup.sh
[root@localhost ~]# netstat -anpt | grep java
tcp6       0      0 :::8080                 :::*                    LISTEN      12182/java          
tcp6       0      0 :::8009                 :::*                    LISTEN      12182/java          
tcp6       0      0 127.0.0.1:8005          :::*                    LISTEN      12182/java     

4.創(chuàng)建測試網(wǎng)頁

[root@localhost ~]# mkdir -p /web/webapp1
[root@localhost ~]# 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("動態(tài)頁面 1,http://www.test1.com");%>
   </body> 
   <body> 
    <div>動態(tài)頁面的圖片 1</div><br><img src="logo.jpg"> 
   </body> 
</html>

5.修改Tomcat主配置文件

[root@localhost ~]# vim /usr/local/tomcat8/conf/server.xml 

      <Host name="localhost"  appBase="webapps"
            unpackWARs="true" autoDeploy="true">
        <Context docBase="/web/webapp1" path="" />        //地址為創(chuàng)建網(wǎng)址
        <Valve className="org.apache.catalina.valves.AccessLogValve" directory="logs"
               prefix="localhost_access_log" suffix=".txt"
               pattern="%h %l %u %t &quot;%r&quot; %s %b" />
      </Host>

6.重啟Tomcat

[root@localhost ~]# /usr/local/tomcat8/bin/shutdown.sh 
[root@localhost ~]# /usr/local/tomcat8/bin/startup.sh 

 7.測試

http://192.168.10.102:8080 ##注意:此時看不到圖片,圖片要放到nginx上,由nginx解析

備注:另外一臺tomcat用同樣的方法部署

 三.安裝Nginx

1.下載相關(guān)組件

yum -y install pcre-devel bzip2-devel gcc*

備注:

  • pcre-devel: 提供PCRE庫的開發(fā)文件,用于支持NGINX的正則表達式功能。
  • zlib-devel: 提供zlib庫的開發(fā)文件,用于支持NGINX的壓縮和解壓縮功能。
  • openssl-devel: 提供OpenSSL庫的開發(fā)文件,用于支持NGINX的HTTPS和SSL/TLS功能。
  • gcc: GNU Compiler Collection,用于編譯源代碼,包括NGINX本身。

2.創(chuàng)建Nginx的程序用戶

useradd -M -s /sbin/nologin nginx

備注: -M :不為用戶創(chuàng)建家目錄;-s /sbin/nologin: 這個選項將新用戶的登錄 shell 設(shè)置為 /sbin/nologin,即禁止該用戶登錄系統(tǒng)。

3.配置和安裝Nginx

[root@localhost ~]# tar zxvf nginx-1.12.0.tar.gz 
[root@localhost ~]# cd nginx-1.12.0
[root@localhost nginx-1.12.0]# ./configure --prefix=/usr/local/nginx --user=nginx --group=nginx
[root@localhost nginx-1.12.0]# make && make install

備注:./configure 是一個常見的命令,通常用于配置和準(zhǔn)備軟件包的安裝,執(zhí)行完成后會生成一個叫Makefile的文件,--prefix指定文件安裝路徑;--user和--group指定 Nginx 在運行時所使用的用戶和組;make編譯軟件;make install安裝。

  • ln: 是用于創(chuàng)建鏈接的命令。
  • -s: 是 ln 命令的一個選項,表示創(chuàng)建符號鏈接(軟鏈接)。
  • /usr/local/nginx/sbin/nginx: 是源文件或目錄,這里指向的是 Nginx 可執(zhí)行文件的路徑。
  • /usr/local/sbin/: 是目標(biāo)路徑,表示在 /usr/local/sbin/ 目錄下創(chuàng)建符號鏈接。

因此,執(zhí)行這條命令后,將會在 /usr/local/sbin/ 目錄下創(chuàng)建一個名為 nginx 的符號鏈接,指向 /usr/local/nginx/sbin/nginx 這個實際的可執(zhí)行文件。這樣做的目的通常是為了方便在命令行直接執(zhí)行 nginx 命令,而無需輸入完整的路徑。 

4.編輯測試網(wǎng)頁文件

[root@localhost ~]# vim /usr/local/nginx/html/index.html

<body>

<h1>靜態(tài)頁面</h1>

<p>這是個靜態(tài)頁面</p> 6

</body>

5.添加圖片

[root@nginx ~]# mkdir /usr/local/nginx/html/img //創(chuàng)建靜態(tài)文件目錄

[root@nginx ~]# cp /root/logo.jpg /usr/local/nginx/html/img

6.修改主配置文件

[root@localhost ~]# vim /usr/local/nginx/conf/nginx.conf
(1)在http配置項中添加
upstream tomcat_server {
        server 192.168.10.102:8080 weight=1;
        server 192.168.10.103:8080 weight=1;
}


(2)在server.xml配置項中添加
charset utf-8;                                //字符編碼
location / {
       root   html;
       index  index.html index.htm;
}

location ~ .*\.jsp$ {
        proxy_set_header HOST $host;
        proxy_set_header X-Real-IP $remote_addr;
        proxy_set_header Client-IP $remote_addr;
        proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
        proxy_pass http://tomcat_server;
}

location ~ .*\.(gif|jpg|jpeg|png|bmp|swf)$ {
        root /usr/local/nginx/html/img;
        expires 30d;
}

 備注:

proxy_set_header HOST $host;

把原h(huán)ttp請求中的Header中的Host字段放到轉(zhuǎn)發(fā)的請求報文里,后端的web服務(wù)器利用這個host判斷請求的是哪個虛擬主機

proxy_set_header X-Real-IP $remote_addr;

使用$remote_addr變量獲得用戶的真實ip,$remote_addr一般都是設(shè)置第一個代理上面。當(dāng)一個請求通過多個代理服務(wù)器時,用戶的IP將會被代理服務(wù)器IP覆蓋

proxy_set_header Client-IP $remote_addr;

獲取客戶端ip地址

proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;

從客戶的真實ip為起點,穿過多層級的proxy ,最終到達web 服務(wù)器,都會記錄下來。所以在獲取用戶真實ip的時候,最后一個nginx配置此變量,用來獲取客戶端的ip地址

7.啟動nginx

[root@localhost ~]# nginx

8.修改tomcat的配置文件,并重啟tomcat

 <Valve className="org.apache.catalina.valves.AccessLogValve" directory="logs"
               prefix="localhost_access_log" suffix=".txt"
               pattern="%a %r %t %{X-Real-IP}i" resolveHosts="false" />

注意:在nginx配置文件中用X-Real-IP保存了客戶端的真是IP地址,在tomcat中就需要將X-Real-IP解析出來,顯示到tomcat的日志中。

9.測試

瀏覽器打開網(wǎng)站

(1)靜態(tài)網(wǎng)站測試

http://192.168.10.101

(2)動態(tài)網(wǎng)站測試

http://192.168.10.101/index.jsp

再次訪問

(3)查看tomcat的日志文件

到此這篇關(guān)于Nginx+Tomcat群集的文章就介紹到這了,更多相關(guān)Nginx+Tomcat群集內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

最新評論

徐闻县| 甘泉县| 呼图壁县| 武汉市| 乌恰县| 湘西| 新巴尔虎左旗| 常山县| 河津市| 莱阳市| 盐津县| 湖北省| 奉新县| 凤山县| 定南县| 射阳县| 河北区| 区。| 汉中市| 达孜县| 元朗区| 克山县| 阳新县| 台东市| 古田县| 邹平县| 南陵县| 福鼎市| 筠连县| 阿瓦提县| 棋牌| 兴业县| 如东县| 武穴市| 土默特左旗| 盖州市| 亚东县| 沁源县| 临江市| 荥经县| 永胜县|