中文字幕av专区_日韩电影在线播放_精品国产精品久久一区免费式_av在线免费观看网站

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

tomcat+nginx集群是怎樣的

發布時間:2021-09-26 17:29:41 來源:億速云 閱讀:122 作者:柒染 欄目:系統運維

tomcat+nginx集群是怎樣的,很多新手對此不是很清楚,為了幫助大家解決這個難題,下面小編將為大家詳細講解,有這方面需求的人可以來學習下,希望你能有所收獲。

內容要點:

一、原理解釋:

(1)動靜分離

(2)正向代理和反向代理

二、實驗示例

一、原理解釋:

(1)動靜分離

為了提高網站的響應速度,減輕程序服務器(Tomcat,Jboss等)的負載,對于靜態資源比如圖片,js,css等文件,我們可以在反向代理服務器中進行緩存,這樣瀏覽器在請求一個靜態資源時,代理服務器就可以直接處理,而不用將請求轉發給后端服務器。用戶請求的動態文件比如servlet,jsp則轉發給Tomcat,Jboss服務器處理,這就是動靜分離。這也是反向代理服務器的一個重要的作用。

(2)正向代理和反向代理

1、正向代理:

解釋:也就是傳說中的代理,他的工作原理就像一個跳板,簡單的說,我是一個用戶,我訪問不了某網站,但是我能訪問一個代理服務器,這個代理服務器呢,他能訪問那個我不能訪問的網站,于是我先連上代理服務器,告訴他我需要那個無法訪問網站的內容,代理服務器去取回來,然后返回給我,從網站的角度,只在代理服務器來取內容的時候有一次記錄,有時候并不知道是用戶的請求,也隱藏了用戶的資料,這取決于代理告不告訴網站。

結論:正向代理是一個位于客戶端和原始服務器(origin server)之間的服務器,為了從原始服務器取得內容,客戶端向代理發送一個請求并指定目標(原始服務器),然后代理向原始服務器轉交請求并將獲得的內容返回給客戶端。客戶端必須要進行一些特別的設置才能使用正向代理。就像要訪問google用***代理***去訪問(用戶知道要訪問真正的服務器)

2、反向代理:

解釋:例用戶訪問 http://www.example.com/readme ,但www.example.com上并不存在readme頁面,他是偷偷從另外一臺服務器上取回來,然后作為自己的內容吐給用戶,但用戶并不知情,這里所提到的 www.example.com 這個域名對應的服務器就設置了反向代理功能。

結論:反向代理正好相反,對于客戶端而言它就像是原始服務器,并且客戶端不需要進行任何特別的設置。客戶端向反向代理 的命名空間(name-space)中的內容發送普通請求,接著反向代理將判斷向何處(原始服務器)轉交請求,并將獲得的內容返回給客戶端,就像這些內容 原本就是它自己的一樣。(用戶不知道要訪問真正的服務器)

Nginx 實現負載均衡就是通過反向代理來實現的

二、實驗示例

實驗環境:

主機                              操作系統               IP地址                          主要軟件

Nginx服務器          CentOS 7.4x86_64       192.168.109.185            nginx-1.12.0.tar.gz

Tomcat服務器1     CentOS 7.4x86_64      192.168.109.188             apache-tomcat-9.0.16.tar.gz

Tomcat服務器2     CentOS 7.4x86_64       192.168.109.189             apache-tomcat-9.0.16.tar.gz

----------------------------------------------------------------------------------------------------------------------------------------

實驗步驟:

-----------------------------------------------------------------安裝JDK--------------------------------------------------------------------
將jdk 軟件包上傳到 /root目錄下 安裝jdk
[root@localhost ~]# rpm -ivh jdk-8u201-linux-x64.rpm 
警告:jdk-8u201-linux-x64.rpm: 頭V3 RSA/SHA256 Signature, 密鑰 ID ec551f03: NOKEY
準備中...                          ################################# [100%]
正在升級/安裝...
   1:jdk1.8-2000:1.8.0_201-fcs        ################################# [100%]
Unpacking JAR files...
        tools.jar...
        plugin.jar...
        javaws.jar...
        deploy.jar...
        rt.jar...
        jsse.jar...
        charsets.jar...
        localedata.jar...
●確認jdk安裝目錄●
[root@localhost ~]# cd /usr/java/jdk1.8.0_201-amd64/
[root@localhost jdk1.8.0_201-amd64]# ll
總用量 25980
drwxr-xr-x 2 root root     4096 3月   7 22:09 bin
-rw-r--r-- 1 root root     3244 12月 16 03:45 COPYRIGHT
drwxr-xr-x 3 root root      132 3月   7 22:09 include
-rw-r--r-- 1 root root  5207434 12月 12 17:07 javafx-src.zip
drwxr-xr-x 5 root root      185 3月   7 22:09 jre
drwxr-xr-x 5 root root      245 3月   7 22:09 lib
-rw-r--r-- 1 root root       40 12月 16 03:45 LICENSE
drwxr-xr-x 4 root root       47 3月   7 22:09 man
-rw-r--r-- 1 root root      159 12月 16 03:45 README.html
-rw-r--r-- 1 root root      424 12月 16 03:45 release
-rw-r--r-- 1 root root 21103945 12月 16 03:45 src.zip
-rw-r--r-- 1 root root   108109 12月 12 17:07 THIRDPARTYLICENSEREADME-JAVAFX.txt
-rw-r--r-- 1 root root   155002 12月 16 03:45 THIRDPARTYLICENSEREADME.txt
##設置JDK環境變量###
[root@localhost ~]# vi /etc/profile      ##末行參數新增#
export JAVA_HOME=/usr/java/jdk1.8.0_201-amd64
export CLASSPATH=$JAVA_HOME/lib/tools.jar:$JAVA_HOME/lib/dt.jar
export PATH=$JAVA_HOME/bin:$PATH
[root@localhost ~]# source /etc/profile   ##環境變量生效##
[root@localhost ~]# java -version            ###查看java版本##
java version "1.8.0_201"
Java(TM) SE Runtime Environment (build 1.8.0_201-b09)
Java HotSpot(TM) 64-Bit Server VM (build 25.201-b09, mixed mode)
##編輯java基礎腳本,測試環境
[root@localhost profile.d]# cd /opt
[root@localhost opt]# ls
rh
[root@localhost opt]# vim abc.java
public class HelloWorld{
    public static void main(String[] args){ 
      System.out.println( "Hello, World!" );
    }
}
[root@localhost opt]# javac abc.java       #編譯
[root@localhost opt]# ls
abc.class  abc.java rh
[root@localhost opt]# java abc                #運行
abc
-------------------------------------安裝配置tomcat--------------------------------------------------------------
tar zxvf apache-tomcat-9.0.16.tar.gz -C /opt
cd /opt/
ls
mv apache-tomcat-9.0.16/ /usr/tomcat8
cd /usr/
ls
cd tomcat8/
cd conf/
cd ../bin/
##開啟tomcat服務
[root@localhost 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/java
Using CLASSPATH:       /usr/local/tomcat8/bin/bootstrap.jar:/usr/local/tomcat8/bin/tomcat-juli.jar
Tomcat started.
[root@localhost bin]# netstat -natp | grep 8080
##關閉防火墻
[root@localhost bin]# systemctl disable firewalld.service 
Removed symlink /etc/systemd/system/multi-user.target.wants/firewalld.service.
Removed symlink /etc/systemd/system/dbus-org.fedoraproject.FirewallD1.service.
[root@localhost bin]# systemctl stop firewalld.service 
[root@localhost bin]# setenforce 0
[root@localhost bin]# 
##測試
win10 網頁訪問   http://192.168.109.187:8080
#加入測試頁面
mkdir -pv /web/webapp1
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>
cd ../conf/
vim server.xml
<Host name="localhost" appBase="webapps"
               unpackWARs="true" autoDeploy="true" >
        <Context docBase="/web/webapp1" path="" reloadable="false">
</Context>
//添加//后兩行  docBase:web應用的文檔基準目錄
                       reloadable 設置監聽”類“是否變化
                       path=""設置默認"類"
##啟動服務
cd ../bin/
./shutdown.sh
./startup.sh
##測試
win10 網頁訪問   http://192.168.109.187:8080
--------------------------------------------安裝另一臺tomcat------------------------------------------
同樣步驟
#測試網頁改為teas2 與1做區分
    <% out.println("Welcome to test site,http://www.test2.com");%>
##測試
win10 網頁訪問   http://192.168.109.187:8080
--------------------------------------------編譯nginx--------------------------------------------------
yum -y install gcc gcc-c++ make pcre-devel zlib-devel openssl-devel 
cd /opt/nginx-1.12.0
useradd -s /bin/false www
[root@localhost 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 \
--with-http_flv_module \
--with-http_ssl_module
make && make install
[root@localhost nginx-1.12.0]# cd /usr/local/nginx/
[root@localhost nginx]# cd conf/
[root@localhost conf]# vim nginx.conf
    keepalive_timeout  65;
    #gzip  on;
        upstream tomcat-server {
                server 192.168.109.188:8080 weight=1;                   #添加
                server 192.168.109.189:8080 weight=1;
                }
...
        #access_log  logs/host.access.log  main;
        location / {
            root   html;
            index  index.html index.htm;
            proxy_pass http://tomcat-server;             #添加此行配置網頁跳轉
        }
###啟動服務,關閉防火墻
[root@localhost conf]# cd ../
[root@localhost nginx]# ls
conf  html  logs  sbin
[root@localhost nginx]# cd sbin/
[root@localhost sbin]# ls
nginx
[root@localhost 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
[root@localhost sbin]# ./nginx 
[root@localhost sbin]# netstat -natp | grep nginx 
tcp        0      0 0.0.0.0:80              0.0.0.0:*               LISTEN      53555/nginx: master 
[root@localhost sbin]# systemctl disable firewalld.service 
Removed symlink /etc/systemd/system/multi-user.target.wants/firewalld.service.
Removed symlink /etc/systemd/system/dbus-org.fedoraproject.FirewallD1.service.
[root@localhost sbin]# systemctl stop firewalld.service 
[root@localhost sbin]# setenforce 0
[root@localhost sbin]# 
-------------------------------------------------測試------------------------------
win10訪問

看完上述內容是否對您有幫助呢?如果還想對相關知識有進一步的了解或閱讀更多相關文章,請關注億速云行業資訊頻道,感謝您對億速云的支持。

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

蕲春县| 汉源县| 昭苏县| 通州市| 新河县| 任丘市| 安宁市| 驻马店市| 临安市| 普洱| 定远县| 新河县| 四平市| 连州市| 台北市| 秦皇岛市| 南丰县| 饶平县| 福贡县| 大同县| 锦州市| 乌拉特中旗| 慈利县| 临邑县| 庆云县| 霍林郭勒市| 井陉县| 中西区| 云安县| 泰顺县| 淮南市| 衡阳县| 龙陵县| 巢湖市| 北川| 谢通门县| 昌平区| 丹江口市| 大冶市| 连山| 万全县|