Nginx + Tomcat負載均衡集羣

Nginx是一個高性能的 HTTP 和反向代理服務器,也是一個 IMAP/POP3/SMTP 服務器。
Tomcat 服務器是一個免費的開放源代碼的Web 應用服務器,屬於輕量級應用服務器,在中小型系統和併發訪問用戶不是不少的場合下被廣泛使用,是開發和調試JSP 程序的首選。
基於 Nginx 的高併發鏈接處理,咱們能夠經過 Tomcat 做爲應用服務器, Nginx 做爲負載均衡器來設置負載均衡羣集。html

部署目標

搭建兩臺 Tomcat 服務器,使用 Nginx 服務器實現反向代理去調度實現負載均衡。

部署環境

主機 操做系統 IP地址 主要軟件
Nginx 服務器 CentOS 7.4 x86_64 192.168.100.203 nginx-1.12.0.tar.gz
Tomcat 服務器1 CentOS 7.4 x86_64 192.168.100.201 ① jdk-8u91-linux-x64.tar.gz 、② apache-tomcat-8.5.16.tar.gz
Tomcat 服務器2 CentOS 7.4 x86_64 192.168.100.202 ① jdk-8u91-linux-x64.tar.gz 、② apache-tomcat-8.5.16.tar.gz

網絡拓撲圖

後續上傳。。。java

開始部署

Tomcat 服務器一、Tomcat 服務器2部署

在安裝 Tomcat 以前必須先安裝 JDK ,JDK 的全稱是 Java Development Kit ,是 Sun 公司免費提供的 Java 語言的軟件開發工具包,其中包含 Java 虛擬機( JVM )。編寫好的 Java源程序經過編譯可造成 Java 字節碼,只要安裝了 JDK ,就能夠利用 JVM 解釋這些字節碼文件,從而保證了 Java 的跨平臺性。linux

安裝 JDK 環境包

  • 關閉防火牆nginx

    systemctl enable firewalld
    systemctl stop firewalld
    setenforce 0
  • 安裝 JDK 軟件包c++

    tar zxvf jdk-8u91-linux-x64.tar.gz -C /opt
    cd /opt
    mv jdk1.8.0_91/ /usr/local/java
  • 創建腳本,添加到環境變量中web

    cd /etc/profile.d
    vim java.sh
    添加下面的行
    export JAVA_HOME=/usr/local/java ##設置Java根目錄
    export PATH=$PATH:$JAVA_HOME/bin ##在PATH環境變量中添加Java根目錄下的bin/子目錄apache

    source java.sh ##運行腳本vim

  • 查看 Java 版本是否一致
    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)

安裝 Tomcat軟件包

  • 解壓軟件包,並移動到 /usr/local/目錄下tomcat

    tar zxvf apache-tomcat-8.5.16.tar.gz -C /opt
    cd /opt
    mv apache-tomcat-8.5.16/ /usr/local/tomcat8
  • 啓動 tomcat
    /usr/local/tomcat8/bin/startup.sh服務器

  • 查看8080端口,檢查服務是否成功開啓

    netstat -ntap | grep 8080
    tcp6       0      0 :::8080                 :::*                    LISTEN      2181/java
  • 添加測試頁面

    mkdir -pv /web/webapp1 ##建立web目錄
    vim /web/webapp1/index.jsp

    <%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%>
    <html>
    <head>
    <title>hello world</title>
    </head>
    <body>
    <% out.println("This is Tomcat1 web");%>
    </body>
    </html>

  • 添加網站到主配置文件,以便識別
    vim /usr/local/tomcat8/conf/server.xml

<Host name="localhost" appBase="webapps"
unpackWARs="true" autoDeploy="true">
<Context docBase="/web/web1" path="" reloadable="false">
</Context> ##添加

重啓服務,嘗試訪問主頁

./usr/local/tomcat8/bin/shutdown.sh
./usr/local/tomcat8/bin/startup.sh

  • 須要注意的是 Tomcat 的默認訪問是 8080 端口,
    Nginx + Tomcat負載均衡集羣
    Nginx + Tomcat負載均衡集羣

部署 Nginx 調度服務器

  • 安裝所需環境包

    yum install pcre-devel zlib-devel openssl-devel gcc gcc-c++ -y
  • 建立管理用戶

    useradd  -s /bin/false www
  • 解壓 Nginx 軟件包,執行編譯安裝

    tar zxvf nginx-1.12.0.tar.gz -C /opt
    cd /opt/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
  • 添加主配置文件配置

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

    #keepalive_timeout 0;
    keepalive_timeout 65;

    #gzip  on;
    
    upstream tomcat_server {                             #添加兩臺Tomcat調度服務器
              server 192.168.100.201:8080 weight=1;
              server 192.168.100.202:8080 weight=1;    
            }
    
    server {
        listen       80;

    .....省略
    location / {
    root html;
    index index.html index.htm;
    proxy_pass http://tomcat_server; #支持訪問Tomcat首頁
    }

  • 檢查 nginx 語法是否存在錯誤

    /usr/local/nginx/sbin/nginx -t
  • 創建軟連接,啓用 nginx 服務,關閉防火牆及加強×××
    ln -s /usr/local/nginx/sbin/nginx /usr/local/sbin/  
    nginx     //啓用nginx服務//
    systemctl enable firewalld
    systemctl stop firewalld
    setenforce 0

能夠看到,經過不停的刷新咱們會訪問不一樣的主頁,至此nginx+tomcat部署負載均衡集羣成功。

Nginx + Tomcat負載均衡集羣
Nginx + Tomcat負載均衡集羣

相關文章
相關標籤/搜索