1. 程式人生 > >Linux下Nginx負載均衡多個tomcat配置

Linux下Nginx負載均衡多個tomcat配置

Linux下安裝nginx和安裝多個tomcat的方法這裡不過多介紹,不清楚的可參考:

Linux安裝nginx:

Linux安裝多個tomcat:

當我們伺服器安裝好了nginx,並且安裝了多臺tomcat,那麼我們現在可以試著玩玩nginx的負載均衡。

先簡單介紹我的執行環境

一臺阿里雲伺服器,

Linux系統,jdk1.8, 已安裝好nginx,

安裝了4個tomcat,並且配置好了各埠號,分別對應8080,8081,8082,8083


一:進入nginx目錄下的conf目錄

   這是我的nginx安裝目錄:   

[[email protected] ~]# cd /usr/local/nginx/conf

二:編輯nginx.conf


[[email protected] conf]# vi nginx.conf

三:配置伺服器組

1:在http{}節點之間新增upstream配置。(注意不要寫localhost,不然訪問速度會很慢

upstream nginxDemo {
    server 127.0.0.1:8081;   #伺服器地址1
    server 127.0.0.1:8082;   #伺服器地址2    server 127.0.0.1:8082;   #伺服器地址3    server 127.0.0.1:8083;   #伺服器地址4
}

2:修改nginx監聽的埠號80

nginx預設埠是80,這裡我暫未更改,保持不變

server {
    listen       80;     #預設是80,也可更改為其他的,當然已被佔用的埠號不能寫。
    ......
}

3:proxy_pass配置反向代理地址

在location\{}中,利;此處“http://”不能少,後面的地址要和第一步upstream定義的名稱保持一致(也就是nginxDemo這個名稱是自定義的,兩個地方需要一致)

location / {
            root   html;
            index  index.html index.htm;
            proxy_pass http://nginxDemo; #配置方向代理地址
        }

配置完成後,如圖:


四:啟動nginx

我的安裝nginx路徑是  /usr/local/nginx

所以我的啟動命令是:

[[email protected] ~]# /usr/local/nginx/sbin/nginx

因為nginx之前安裝時就已經啟動了,現在再啟動就報錯埠號被佔用


這時我們使用命令檢視各埠號佔用情況

[[email protected] ~]# netstat -ntpl

我們看到,nginx被9097這個PID佔用著,使用kill -9殺掉

[[email protected] ~]# kill -9 9097

再次啟動nginx

[[email protected] ~]# /usr/local/nginx/sbin/nginx

沒有任何反應,這就對了,這時在瀏覽器中輸入你伺服器地址


說明nginx啟動成功,至於配置是否正確,是否能負載勻衡,現在開始驗證。。。

五:驗證

我們都知道,nginx負載均衡時客戶端所有請求都經過nginx,那麼nginx就可以決定將這些請求轉發給誰,如果伺服器A的資源更充分(CPU更多、記憶體更大等等),伺服器B沒有伺服器A處理能力強,那麼nginx就會把更多的請求轉發到A,轉發較少的請求到伺服器B,這樣就做到了負載均衡,而且就算其中一臺伺服器宕機了,對於使用者而言也能正常訪問網站。

在驗證前,需要先做點準備。

1:準備一個簡單點的jsp,如:


我一臺伺服器上安裝了4個tomcat,所以我準備了4個index.jsp檔案

分別是

<title>Tomcat8080<title>  <h1>Hellow Tomcat_8080</h1>
<title>Tomcat8081<title>  <h1>Hellow Tomcat_8081</h1>
<title>Tomcat8082<title>  <h1>Hellow Tomcat_8082</h1>
<title>Tomcat8083<title>  <h1>Hellow Tomcat_8083</h1>

這裡需要注意的是:jsp檔案的名字一定要是index.jsp,因為tomcat啟動成功的畫面,如圖:


讀取就是tomcat安裝目錄下的webapps/ROOT/index.jsp

我的地址是:/usr/java/tomcat/tomcat_8080/webapps/ROOT


將先前準備的4個index.jsp檔案,覆蓋每個tomcat預設的index.jsp檔案。

啟個各個tomcat

[[email protected] bin]# ./startup.sh

這時我們再在瀏覽器輸入 xxx.xxx.xx.xx:8080  你會發現,不在出現那隻小貓了,而是。。。。。。




4個tomcat都啟動成功了,nginx也已啟動成功了。

這時輸入在瀏覽器輸入你的伺服器ip,不停的重新整理頁面,你會發現頁面一會顯示8080,一會顯示8081,一會顯示8082,一會顯示8083,當然這個是nginx根據哪個伺服器資源更充分而決定請求去什麼地方的,我們在瀏覽器的請求的地址不變,卻訪問的是不同的tomcat伺服器,說明,nginx配置成功。

相關推薦

LinuxNginx負載均衡tomcat配置

Linux下安裝nginx和安裝多個tomcat的方法這裡不過多介紹,不清楚的可參考:Linux安裝nginx:Linux安裝多個tomcat:當我們伺服器安裝好了nginx,並且安裝了多臺tomcat

linuxNginx反向代理tomcat(單獨訪問或叢集配置) Nginx upstream的5種權重分配方式

第一步需要在你的伺服器上安裝Nginx,請檢視此文章:https://blog.csdn.net/u013641234/article/details/73838472 安裝完成以後,啟動Nginx,看看是否能夠正常訪問, 然後開始配置Nginx反向代理 : 同一臺伺服器或多臺伺服

linuxNginx反向代理tomcat(單獨訪問或叢集配置)

第一步需要在你的伺服器上安裝Nginx,請檢視此文章:https://blog.csdn.net/u013641234/article/details/73838472安裝完成以後,啟動Nginx,看看是否能夠正常訪問,然後開始配置Nginx反向代理 : 同一臺伺服器或多臺伺

Nginx一臺機器上負載均衡Tomcat

預設你的機器上安裝了Java環境,解壓了Tomcat,安裝了Nginx。預設這幾個tomcat都部署在一臺機器上。   對於Tomcat需要改三個地方【你部署的所有tomcat這三個地方都不能一樣,如果你部署在不同機器上就不用改了】 vi [你的tomcat路徑]/conf/

Linux如何同時啟動Tomcat伺服器

今天遇到一個問題,就是在linux下配置啟動多個tomcat,想方設法,終於解決了,現分享給大家,如下 不同的tomcat的啟動檔案startup.sh中要指定各自的CATALINA_HOME和CATALINA_BASE這兩個環境變數 修改/etc目錄下的profil

linuxapache負載均衡與jboss叢集配置

一、安裝並配置jdk 首先安裝JDK,執行命令./ jdk-6u27-linux-x64.bin,JDK安裝目錄為當前指定目錄或者是./jdk-6u33-linux-x64-rpm.bin,或者(如果是rpm格式)執行 rpm –ivh jdk-6u33-linux-amd

linuxNginx負載均衡、ssl原理、生成ssl密鑰對、Nginx配置ssl介紹

block server u tlsv1 host fda 彈出 配置ssl 重新編譯 openssl Nginx的負載均衡 1. 查找www.qq.com域名對應IP做測試 [root@gary-tao ~]# yum install -y bind-utils /

windownginx負載均衡簡單配置-----權重的實現

post ~~ tar 執行 nginx服務器 負載均衡 臺電腦 nginx bsp 下面介紹一個在window下的nginx的負載均衡配置。 需要你在你的電腦上跑兩個tomcat。一個8080,一個9080。 需要一個nginx服務器。 需要修改本機的host

nginx負載均衡後端tomcat無法載入js資源

JS或css無法完全載入 nginx的代理快取區,預設較小導致部分檔案出現載入不全的問題,比較典型的如jQuery框架,可以通過配置調整nginx的快取區即可。主要參考proxy引數 最終完整配置如下: http { # http_proxy proxy_buffer_size 128k; proxy

nginx負載均衡後端tomcat無法加載js資源

param 均衡 轉載 nginx 來源 ups size detail 技術分享 JS或css無法完全加載 nginx的代理緩存區,默認較小導致部分文件出現加載不全的問題,比較典型的如jQuery框架,可以通過配置調整nginx的緩存區即可。主要參考proxy參數 最

WindowsNginx負載均衡實現

Nginx+iis站點實現負載均衡方法: 1.官網下載nginx壓縮檔案解壓。我本地解壓路徑D盤   2.配置nginx  開啟nginx.conf檔案 在http模組內新增 upstream 模組,插入  upstream www.g.cn {server

linux shell指令碼執行命令的方法

1.每個命令之間用;隔開 說明:各命令的執行給果,不會影響其它命令的執行。換句話說,各個命令都會執行, 但不保證每個命令都執行成功。 2.每個命令之間用&&隔開說明:若前面的命令執行成功,才會去執行後面的命令。這樣可以保證所有的命令執行完畢後,執行過程都是

Linuxnginx負載均衡

Nginx負載均衡概述 Web伺服器,直接面向用戶,往往要承載大量併發請求,單臺伺服器難以負荷,我使用多臺WEB伺服器組成叢集,前端使用Nginx負載均衡,將請求分散的打到我們的後端伺服器叢集中,實現負載的分發。那麼會大大提升系統的吞吐率、請求效能、高容災   Nginx要實現負載均

Linux批量解壓zip檔案的方法

一、首先安裝 $sudo urpmi unzip unrar 二、 進入到所在資料夾,然後有如下幾種方法可用 法一:用分號或者&&隔開(適用於物件較少的時候) unzip a.zip && unzip b.z

Linux學習12-CentOS設定tomcat開機自啟動

前言 一臺伺服器上有多個tomcat環境,重啟伺服器後,每次需要手動一個個啟動服務,非常麻煩,於是可以設定tomcat開機自啟動。 tomcat開機自啟動非常慢,可以修改jvm下配置解決tomcat開機自啟動慢的問題。 前面一篇【Linux學習10-CentOS搭建nginx負載均衡環境】已經搭建了多個to

Linux如何編譯有檔案(包括不同目錄的.c/.h檔案)的C/C++程式

在Linux下要編譯一個C/C++程式,首先要知道包含目錄的作用,對C/C++有了解的就會知道,#include是包含標頭檔案所用的,也就說說部分類、函式、或者變數宣告就在其中。而#include巨集定義又有兩種: #include""和#include <>

linux一次cp檔案

linux下使用cp命令拷貝多個檔案有幾種方法,一是使用萬用字元,二是使用管道 一.萬用字元的使用 萬用字元是一種特殊語句,主要有星號(*)和問號(?),用來模糊搜尋檔案。主要的萬用字元有: *         匹配任意長度的字串 ?        匹配一個長度的字元

一臺Linux伺服器上同時部署Tomcat方法需要注意事項

一、原理講解:  tomcat啟動可以通過兩個指令碼分別進行啟動  ./startup.sh 或者 catalina.sh run  形式執行啟動  其實startup.sh的啟動也是呼叫的catalina.sh,然後去啟動的,所以我們需要關注的就是catalina.sh檔案

linux通過命令啟動終端執行相應的命令和程式

    作者:張昌昌      在一些情況下,往往需要同時啟動多個終端並讓終端執行自動執行相應的命令,進而達到提高操作效率的目的。在linux下gnome-terminal啟動終端命令, gnome-terminal -x 後跟執行的命令,bash是linux啟動子shel

radhat7使用targetcli為啟動器配置iSCSI訪問控制

Linux targaecli iSCSI 測試環境說明: 測試環境一共使用4臺服務器,兩臺Linux、兩臺Windows,一臺Linux做為iSCSIServer,用Targetcli以iSCSI的方式提供存儲共享服務,另外三臺使用iSCSIServer上的存儲資源,各自訪問各自的資源,相互