1. 程式人生 > >【Nginx-反向代理伺服器】實踐篇(三)之Tomcat+Nginx搭建叢集

【Nginx-反向代理伺服器】實踐篇(三)之Tomcat+Nginx搭建叢集

繼前面的部落格,本篇部落格來實踐操作體會一下

Nginx配置過程如下:

(1)到Nginx官網下載Nginx的Windows版本:點選開啟連結(這裡我們使用nginx/Windows-1.4.7版本進行實驗)

(2)解壓到磁碟任意目錄,例如這裡我解壓到虛擬機器1中:C:\software\nginx-1.4.7

(3)啟動、停止和重新載入服務:通過cmd以守護程序方式啟動nginx.exe:start nginx.exe,停止服務:nginx-s stop,重新載入配置:nginx -s  reload

修改Nginx核心配置檔案nginx.conf

(1)程序數與每個程序的最大連線數:

      •nginx程序數,建議設定為等於CPU總核心數

      •單個程序最大連線數,那麼該伺服器的最大連線數=連線數*程序數


(2)Nginx的基本配置:

      •監聽埠一般都為http埠:80;

      •域名可以有多個,用空格隔開:例如 server_name www.sohu.combaidu.com;


(3)負載均衡列表基本配置:

•location/ {}:對什麼樣的字尾進行負載均衡請求,假如我們要對所有的aspx字尾的檔案進行負載均衡時,可以這樣寫:location ~ .*\.aspx$ {}

•proxy_pass:請求轉向自定義的伺服器列表,這裡我們將請求都轉向標識為http://netitcast.com;的負載均衡伺服器列表;


•在負載均衡伺服器列表的配置中,weight是權重,可以根據機器配置定義權重(如果某臺伺服器的硬體配置十分好,可以處理更多的請求,那麼可以為其設定一個比較高的weight;而有一臺的伺服器的硬體配置比較差,那麼可以將前一臺的weight配置為weight=2,後一臺差的配置為weight=1)。weigth引數表示權值,權值越高被分配到的機率越大;


以上僅僅是nginx的基礎配置

測試說明:

分別向兩臺虛擬機器中的tomcat伺服器中部署hjy.war這個web專案(為了以示訪問的是不同的web伺服器,我們的兩臺虛擬機器中部署的hjy這個專案在頁面顯示上略有不同),虛擬機器1中,頁面顯示test1,虛擬機器2中頁面顯示test2

注:1254是虛擬機器1,配置的權重為2,

2nginx部署到254這臺機子上了

啟動nginx,並啟動兩臺虛擬機器的tomcat


執行結果:

訪問nginx:http://localhost/hjy/test.jsp


由於權重的不同,在我們不斷重新整理頁面的過程中,顯示test1的可能性會大一些

擴充套件:新增Nginx對於靜態檔案的快取配置

為了提高響應速度,減輕真實伺服器的負載,對於靜態資源我們可以在反向代理伺服器中進行快取,這也是反向代理伺服器的一個重要的作用。

(1)快取靜態資源之圖片檔案

root/nginx-1.4.7/staticresources/image:對於配置中提到的jpg/png等檔案均定為到/nginx-1.4.7/staticresources/image資料夾中進行尋找匹配並將檔案返回;

expires7d:過期時效為7天,靜態檔案不怎麼更新,過期時效可以設大一點,如果頻繁更新,則可以設定得小一點;

tips:下面的樣式、指令碼快取配置同這裡一樣,只是定位的資料夾不一樣而已,不再贅述。


(2)快取靜態資源之樣式檔案


(3)快取靜態資源之指令碼檔案


(4)在nginx服務資料夾中建立靜態資原始檔夾,並要快取的靜態檔案拷貝進去:這裡我主要將Web程式中用到的image、css以及js檔案拷貝了進去;


(5)總結:通過配置靜態檔案的快取設定,對於這些靜態檔案的請求可以直接從反向代理伺服器中直接返回,而無需再將這些靜態資源請求轉發到具體的Web伺服器進行處理了,可以提高響應速度,減輕真實Web伺服器的負載壓力。

總結:

本文中我們使用Nginx在Windows環境下搭建了一個反向代理服務,並模擬了一個Tomcat伺服器叢集的負載均衡效果。從這個demo中,我們可以簡單地感受到反向代理為我們所做的事情,並體會負載均衡是怎麼一回事。

附:

每次以cmd方式啟動Nginx服務不符合實際要求,於是我們想到將其註冊為Windows服務,並設定為自動啟動模式。這裡,我們使用一個不錯的小程式:“WindowsService Wrapper”,將nginx.exe註冊為Windows服務,具體的步驟如下:

①下載最新版的 Windows Service Wrapper 程式,比如我下載的名稱是 “winsw-1.8-bin.exe”(本文底部有下載地址),然後把它命名成你想要的名字(比如:“nginx-service.exe”,當然,你也可以不改名)

②將重新命名後的 nginx-service.exe 複製到 nginx 的安裝目錄(比如,我這裡是 “D:\Servers\nginx-1.4.7″

③在同一個目錄下建立一個Windows Service Wrapper XML配置檔案,名稱必須與第一步重新命名時使用的名稱一致(比如我這裡是 “nginx-service.xml”,  如果,你沒有重新命名,則應該是 “winsw-1.8-bin.xml”),這個XML的內容如下:

<?xmlversion="1.0" encoding="UTF-8"?>
<service>
<id>nginx</id>
<name>Nginx Service</name>
<description>High Performance NginxService</description>
<executable>D:\Servers\nginx-1.4.7\nginx.exe</executable>
<logpath>D:\Servers\nginx-1.4.7\</logpath>
<logmode>roll</logmode>
<depend></depend>
<startargument>-p D:\Servers\nginx-1.4.7</startargument>
<stopargument>-p D:\Servers\nginx-1.4.7 -sstop</stopargument>
</service>

④在命令列下執行以下命令,以便將其註冊成Windows服務:nginx-service.exe install

⑤接下來就可以在Windows服務列表看到Nginx服務了,這裡我們可以將其設定為自動啟動了:


(5)總結:在Windows環境中,要對外提供的Windows服務一般都要將其啟動型別設定為自動。

相關推薦

Nginx-反向代理伺服器實踐篇Tomcat+Nginx搭建叢集

繼前面的部落格,本篇部落格來實踐操作體會一下Nginx配置過程如下:(1)到Nginx官網下載Nginx的Windows版本:點選開啟連結(這裡我們使用nginx/Windows-1.4.7版本進行實驗

2017.7.1 nginx反向代理伺服器域名解析配置已驗證可使用

 前提:ftpserver已經開啟,並且設定為: 1.獲得安裝檔案  2.修改配置檔案 2.1 修改conf/nginx.conf 引入此資料夾內的配置檔案。   2.2 vhost資料夾 新建資料夾:vhost和相關配置檔案。  2.3 資料夾轉發 vh

初識nginx反向代理和緩存機制簡單實現

修改 請求轉發 b- nginx bin text pan types con 實現的需求圖: 環境: nginx緩存和反向代理服務器:192.168.0.224 實際存儲數據機器:192.168.0.37 一、實現反向代理 1、安裝nginx,兩臺服務器

nginx反向代理cas應用實踐多地址跳轉

遇到 根據 ddl spa 每次 com war con 架設 問題的提出:最近單位遇到一個需求,單位a和單位b,都通過專線連接到我單位,單位b提出需要訪問單位a網絡中的一個網站應用,本來很簡單問題,只需要我單位中一臺可以訪問兩邊網絡的服務器上,架設nginx就可以解決該問

nginx反向代理伺服器的安裝

1.解壓 tar zxvf nginx-1.8.1.tar.gz 2.安裝依賴 需要用到的依賴gcc-c++,zlib-devel,pcre-devel yum install gcc-c++ zlib-devel pcre-devel 3.配置與檢測(解壓目錄下進行) 建立

Nginx反向代理伺服器的安裝與啟動

1.什麼是nginx Nginx 是一款高效能的 http 伺服器/反向代理伺服器及電子郵件(IMAP/POP3)代理伺服器。由俄羅斯的程式設計師伊戈爾·西索夫(Igor Sysoev)所開發,官方測試 nginx 能夠支支撐 5 萬併發連結,並且 cpu、記憶體等資源消耗卻非常

配置Nginx反向代理伺服器及使用

Nginx是一款輕量級的Web 伺服器/反向代理伺服器及電子郵件(IMAP/POP3)代理伺服器,並在一個BSD-like 協議下發行。其特點是佔有記憶體少,併發能力強,事實上nginx的併發能力確實在同類型的網頁伺服器中表現較好,中國大陸使用nginx網站使用者有:百度、京東、新浪、網易

nginx反向代理伺服器 並實現負載均衡

nginx不但可以做web伺服器,也可以做反向代理伺服器。 說反向代理之前先說一下正向代理,正向代理相信很多大陸同胞都在這片神奇的土地上用過了。就是訪問國外網被牆了,然後找個代理服務,通過該伺服器訪問國外網站,這個是正向代理。 反向代理是 客戶端訪問代理伺服器,但是代理伺

Mac下使用nginx反向代理伺服器解決資源跨域問題

使用homebrew來安裝nginx,開啟終端 1.  安裝homebrew包 ruby -e "$(curl-fsSL https://raw.githubusercontent.com/Homeb

Nginx反向代理伺服器安裝和使用教程

Nginx使用教學 目錄 Nginx簡介 Nginx優點 Nginx安裝教程 Nginx簡單使用 Nginx簡介 Nginx(“engine x”)是一款是由俄羅斯的程式設計師Igor Sysoev所開發高效能的 Web和

linux、centos系統安裝配置nginx反向代理伺服器教程

訪問的速度稍微有點慢,加上今天又是週末,閒來無事,那就給伺服器加個叢集吧!也好提高下使用者的訪問速度 2、放到contos系統後,解壓命令: tar zvxf nginx-1.8.1.tar.gz 3、安裝相關元件,先進入ngix目錄 cd n

Linux CentOS7部署ASP.NET Core應用程式,並配置Nginx反向代理伺服器

前言:   本篇文章主要講解的是如何在Linux CentOS7作業系統搭建.NET Core執行環境併發布ASP.NET Core應用程式,以及配置Nginx反向代理伺服器。因為公司的專案一直都是託管在Window伺服器IIS上,對於Linux伺服器上託管.NET Core專案十分好奇。因為好奇,因此就有了

初識keepalived——keepalived與nginx代理實現高可用

keepalived nginx 背景介紹nginx除了可以作為web服務器外,同時也是一個反向代理軟件,nginx不能完全取代apache,所以很多場景下nginx作為apache的反向代理服務器。nginx運行在用戶空間,代替用戶向服務器發起請求,請求返回時再經由nginx服務器返回給用戶。不同於

Meteor學習路程資料庫的例子5刪除

這個例子插入的例子是在http://blog.csdn.net/miss_ll/article/details/54573802資料庫基礎進行繼續完善的。 與update類似,也需要指定目標文件ID。 新增“刪除”按鈕,單擊後彈出確認提示框,確認後在集合中刪除模板文件。 (1)

Meteor學習路程資料庫的例子4修改

這個例子插入的例子是在http://blog.csdn.net/miss_ll/article/details/54377748資料庫基礎進行繼續完善的。 這幾個例子都是仿照著《Meteor全棧開發》完成的哦。 接下來,會在每條展示的使用者資訊後面新增“修改”按鈕,單擊後,詞條記錄文字變

Meteor學習路程資料庫的例子3查詢

這個例子插入的例子是在http://blog.csdn.net/miss_ll/article/details/54573400資料庫基礎進行繼續完善的,資料庫中存在著三條資料。 查詢的方式: (1)條件查詢 修改資料庫helper,我這裡是testsusers.js Tem

Meteor學習路程資料庫的例子2插入

這個例子插入的例子是在http://blog.csdn.net/miss_ll/article/details/54377748資料庫基礎進行繼續完善的。 (1)在client/template資料夾下面新建一個插入表單模板insertform.html <template name

Meteor學習路程資料庫的例子1查詢

接下來會用Meteor的幾種方式展示出資料: 第一步:命令列新建工程 meteor create dbTest ....... cd dbTest ....... meteor npm install ....... meteor第二步: 第一種方式:模擬資料 在clien

NOJ1084演算法實驗四DP_動態規劃花生米

1084.花生米(三) 時限:1000ms 記憶體限制:10000K  總時限:3000ms 描述 五一長假第三天,Tom和Jerry在倉庫散步的時候又發現了一堆花生米(倉庫,又見倉庫……)。這次Tom制定分花生米規則如下:  ???????1、Tom和Je

jzoj 5908. NOIP2018模擬10.16開荒kaihuang

Description 題目背景: 尊者神高達作為一個萌新,在升級路上死亡無數次後被一隻大黃嘰帶回了師門。他加入師門後發現有無窮無盡的師兄弟姐妹,這幾天新副本開了,尊者神高達的師門作為一個 pve師門,於是他們決定組織一起去開荒。 題目描述: 師門可以看做以 1