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配置成功。
相關推薦
Linux下Nginx負載均衡多個tomcat配置
Linux下安裝nginx和安裝多個tomcat的方法這裡不過多介紹,不清楚的可參考:Linux安裝nginx:Linux安裝多個tomcat:當我們伺服器安裝好了nginx,並且安裝了多臺tomcat
linux下Nginx反向代理多個tomcat(單獨訪問或叢集配置) Nginx upstream的5種權重分配方式
第一步需要在你的伺服器上安裝Nginx,請檢視此文章:https://blog.csdn.net/u013641234/article/details/73838472 安裝完成以後,啟動Nginx,看看是否能夠正常訪問, 然後開始配置Nginx反向代理 : 同一臺伺服器或多臺伺服
linux下Nginx反向代理多個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
linux下apache負載均衡與jboss叢集配置
一、安裝並配置jdk 首先安裝JDK,執行命令./ jdk-6u27-linux-x64.bin,JDK安裝目錄為當前指定目錄或者是./jdk-6u33-linux-x64-rpm.bin,或者(如果是rpm格式)執行 rpm –ivh jdk-6u33-linux-amd
linux的Nginx負載均衡、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 /
window下nginx負載均衡簡單配置-----權重的實現
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參數 最
Windows下Nginx負載均衡實現
Nginx+iis站點實現負載均衡方法: 1.官網下載nginx壓縮檔案解壓。我本地解壓路徑D盤 2.配置nginx 開啟nginx.conf檔案 在http模組內新增 upstream 模組,插入 upstream www.g.cn {server
linux 下shell指令碼執行多個命令的方法
1.每個命令之間用;隔開 說明:各命令的執行給果,不會影響其它命令的執行。換句話說,各個命令都會執行, 但不保證每個命令都執行成功。 2.每個命令之間用&&隔開說明:若前面的命令執行成功,才會去執行後面的命令。這樣可以保證所有的命令執行完畢後,執行過程都是
Linux之nginx負載均衡
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上的存儲資源,各自訪問各自的資源,相互