欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

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)文章

  • Nginx的HA高可用的搭建的實現(xiàn)

    Nginx的HA高可用的搭建的實現(xiàn)

    高可用是一種系統(tǒng)設(shè)計策略,旨在確保服務(wù)或應(yīng)用在面對硬件故障、軟件缺陷或任何其他異常情況時,仍能持續(xù)穩(wěn)定地運行,本文主要介紹了Nginx的HA高可用的搭建,感興趣的可以了解一下
    2024-08-08
  • Apache和Nginx實現(xiàn)虛擬主機的3種方式小結(jié)

    Apache和Nginx實現(xiàn)虛擬主機的3種方式小結(jié)

    Apache是一個模型化的服務(wù)器,可以運行在幾乎所有的服務(wù)器上。其屬于應(yīng)用服務(wù)器,這篇文章主要介紹了Apache和Nginx實現(xiàn)虛擬主機的3種方式,需要的朋友可以參考下
    2023-11-11
  • Nginx啟用gzip壓縮的方法示例

    Nginx啟用gzip壓縮的方法示例

    這篇文章主要介紹了Nginx啟用gzip壓縮的方法示例,小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    2018-07-07
  • Nginx中break與last的區(qū)別詳析

    Nginx中break與last的區(qū)別詳析

    這篇文章主要給大家介紹了關(guān)于Nginx中break與last區(qū)別的相關(guān)資料,文中通過示例代碼介紹的非常詳細,對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2021-01-01
  • nginx 多站點配置方法集合

    nginx 多站點配置方法集合

    關(guān)于nginx的多站設(shè)置,其實和apache很相似,假設(shè)我們已經(jīng)有兩個域名,分別是:www.websuitA.com和www.websuitB.com。并且這兩個域名已經(jīng)映射給了IP為192.168.1.1的服務(wù)器。
    2011-06-06
  • 配置Nginx服務(wù)器防止Flood攻擊的方法

    配置Nginx服務(wù)器防止Flood攻擊的方法

    這篇文章主要介紹了配置Nginx服務(wù)器防止Flood攻擊的方法,包括PHP的應(yīng)用請求限制等降低負(fù)載的措施,需要的朋友可以參考下
    2015-06-06
  • Linux下Nginx安裝教程

    Linux下Nginx安裝教程

    這篇文章主要為大家詳細介紹了Linux中Nginx的安裝教程,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2017-05-05
  • 為Nginx動態(tài)添加模塊的方法

    為Nginx動態(tài)添加模塊的方法

    這篇文章主要介紹了為Nginx動態(tài)添加模塊的方法,文中講解非常細致,代碼幫助大家更好的理解和學(xué)習(xí),感興趣的朋友可以了解下
    2020-07-07
  • Centos7安裝、卸載nginx及配置,配置成系統(tǒng)服務(wù)方式(一步到位)

    Centos7安裝、卸載nginx及配置,配置成系統(tǒng)服務(wù)方式(一步到位)

    這篇文章主要介紹了Centos7安裝、卸載nginx及配置,配置成系統(tǒng)服務(wù)方式(一步到位),具有很好的參考價值,希望對大家有所幫助,如有錯誤或未考慮完全的地方,望不吝賜教
    2023-12-12
  • Nginx+FastDFS搭建圖片服務(wù)器的方法實現(xiàn)

    Nginx+FastDFS搭建圖片服務(wù)器的方法實現(xiàn)

    這篇文章主要介紹了Nginx+FastDFS搭建圖片服務(wù)器的方法實現(xiàn),文中通過示例代碼介紹的非常詳細,對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2020-03-03

最新評論