亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb

首頁 > 服務器 > 管理維護 > 正文

負載均衡-在window與linux下配置nginx_負載集群教程

2024-09-10 14:21:04
字體:
來源:轉載
供稿:網友

最近有些時間,開始接觸負載均衡方面的東西,從硬件F5再到Citrix Netscalar。不過因為硬件的配置雖然不復雜,但那些不費的價格也讓一般用戶望而卻步(十幾萬到幾十萬),所以只能轉向nginx,squid這類有反向代理功能的軟件了。好在其設置都不是很麻煩。

本文就之前所做過的安裝和配置步驟做一下總結分享出來,以免日后忘記了。

首先是windows系統,這里建議使用window 2003企業版,而不要作用win7(太新了,我遇到無法啟動nginx的問題)。要說的是,在windows下配置安裝nginx還是很容易的,少了linux下下載tar再配置編譯參數等等步驟,我們只要從下面的地址下載相應的zip包(大約750kb)即可,地址如下:

http://sysoev.ru/nginx/nginx-0.8.21.zip

需要說明的是這個下載包是nginx 0.8.21開發版,換句話說其只能用于搭建測試環境等用途的,不能用于實際的生產環境(受限于windows文件句柄數限制)。

下載并將該包中的文件解壓到c盤上,為了配置使用方便,我將其解壓后的文件夾名稱從“nginx-0.8.19”改為"nginx”,這樣我們只要將要負載均衡的站點在iis中設置好之后,將相應的鏈接地址放到nginx的相應配置文件中即可,這里我們打開C:/nginx/conf/nginx.conf文件,將下面的內容放到該文件的“server { ”上方行處:

upstream  mylocalsite {

server   10.0.2.137:8088;

server   10.0.2.137:8089;

}

因為nginx無法運行動態腳本,所以這里要使用proxy_pass屬性進行代理,所以找到該配置文件的如下內容:

location / {

root   html;

index  index.html index.htm;

}

修改其內容如下:

location / {

proxy_pass http://mylocalsite;

}

修改完之后,還要修改一下server的偵聽端口,原內容如下:

server {

listen       80;

server_name  localhost;

……

修改完后的內容如下:

server {

listen       8086;

server_name  10.0.2.136;

……

這樣,nginx就會在啟動之后開始偵聽本地IP(10.0.2.136)的8086端口請求,然后將其請求轉向到mylocalsite 中所指定的兩個iis站點,并將執行的結果轉發給客戶端。如果一切配置正確,這時可以運行 c:/nginx/nginx.exe (或在cmd下運行“start nginx”),就可以在任務管理器中看到一個nginx進程啟動了。(注:如果配置文件有錯誤,可以到C:/nginx/logs/error.log查看錯誤日志,進一步排錯)。

注: 關閉ngnix的命令: nginx -s stop

配置文件ngnix.conf正確性判斷的命令: nginx -t

當然Nginx 負載均衡的功能也是很強的,并且其一般作為七層負載均衡(應用協議層)。下面就其upstream所支持的四個常用設置進行說明:

1)、輪詢(默認):每個請求按時間順序逐一分配到不同的后端服務器,如果后端服務器down掉,能自動剔除。

2)、weight :指定輪詢幾率,weight和訪問比率成正比,用于后端服務器性能不均的情況。

2)、ip_hash :每個請求按訪問ip的hash結果分配,這樣每個訪客固定訪問一個后端服務器,可以解決session的問題。

3)、fair(第三方):按后端服務器的響應時間來分配請求,響應時間短的優先分配。

4)、url_hash(第三方)

按上面的說明,可以將之前我們的upstream做如下修改:

upstream  mylocalsite {

server   10.0.2.137:8088 weight=2;

server   10.0.2.137:8089 weight=1;

}

這個當來了三個HTTP請求時,其中的兩個會被分配到10.0.2.137:8088 上,一個分配到10.0.2.137:8089 。當然一開始可以其分攤的請求可以不是太嚴格按其設置,但當請求數多了之后,基本上就接近于我們分指派的權值了。當然就負載均衡的算法而言,使用weight只是其中的一種,而經常使用的還有許多,比如lvs就在其內部實現了多種的負載均衡算法,可以根據用戶的實際環境進行設置布署。。當然就目前而言,nginx的算法相比較還是少了許多,呵呵。

可以說在windows下安裝配置還是很方便的,但如果使用loadrunner做并發測試時,就會發現其logs/error.log就會報如下錯誤:

maximum number of descriptors supported by select() is 1024 while connecting to upstream

我曾經在網上查過解決方案,包括修改配置文件的worker_connections ,如下:

worker_rlimit_nofile 20240;

events {

#use epoll;//linux下使用

worker_connections  20240;

}

但依舊不能將文件句柄數擴充到20240,還是報1024最大句柄數錯誤。最后實在沒辦法了,只得開始嘗試在linux下安裝配置nginx。也就引發了下面的內容。

其實在網上有關介紹如何在linux下安裝nginx的要比windows下的要多得多,必定這是‘本家’吧。

因為之前網管只在虛擬機上安裝了CentOS5,所以只能就嘗試在該linux分支版本下安裝了。好在虛擬機已安裝完了,剩下的工作并不太多。

首先需要以root身份登陸系統,然后切換身份為超級管理員:

sudo -s          # 先成為超級管理員

然后進入到src目前下,并在當前目錄下download nginx.tar.gz包

cd /usr/src      # 將文件下載到這個目錄

wget http://sysoev.ru/nginx/nginx-0.7.62.tar.gz# 下載安裝包

tar xzvf nginx-0.6.34.tar.gz   #解壓

如果下載的nginx 中默認可能沒有 rewirte規則,因此需要下載pcre包的擴展來實現這個功能:

wget http://syslab.comsenz.com/downloads/linux/pcre-7.8.tar.bz2    # 下載pcre

tar xjvf pcre-7.8.tar.bz2                   # 解壓pcre

下面編譯安裝pcre

cd /usr/src/pcre-7.8;

./configure --prefix=/usr/local/pcre --enable-utf8 --enable-unicode-properties

下面編譯安裝nginx

cd /usr/src/nginx-0.7.62

開始配置要編譯的參數(注:內容較長,容易輸錯。具體參數設置參見http://wiki.codemongers.com/NginxChsInstall)

./configure --prefix=/usr/local/nginx  --sbin-path=/usr/local/nginx/sbin/nginx  --conf-path=/usr/local/nginx/conf/nginx.conf

--error-log-path=/usr/local/nginx/logs/error.log --http-log-path=/usr/local/nginx/logs/access.log

--pid-path=/usr/local/nginx/var/nginx.pid --lock-path=/usr/local/nginx/var/nginx.lock

--http-client-body-temp-path=/dev/shm/nginx_temp/client_body --http-proxy-temp-path=/dev/shm/nginx_temp/proxy

--http-fastcgi-temp-path=/dev/shm/nginx_temp/fastcgi

--user=www --group=www --with-cpu-opt=pentium4 --without-select_module --without-poll_module

--with-http_realip_module --with-http_sub_module --with-http_gzip_static_module --with-http_stub_status_module

--without-http_ssi_module --without-http_userid_module --without-http_geo_module --without-http_memcached_module

--without-http_map_module" #如要取消ssl可去掉該項

--without-mail_pop3_module --without-mail_imap_modul --without-mail_smtp_module --with-pcre=/usr/local/pcre/lib

接下來就開始編譯生成相應的文件了:

make

make install

然后/dev/shm 也就是內存中,建立一個nginx_temp文件夾

mkdir /dev/shm/nginx_temp

接著創建www用戶和組,以及其使用的目錄:

/usr/sbin/groupadd www -g 48

/usr/sbin/useradd -u 48 -g www www

mkdir -p /data0/vshare/htdocs

chmod +w /data0/vshare/htdocs

chown -R www:www /data0/vshare/htdocs

這時可以擴充一下文件句柄數(windows下就沒這么容易擴展了,哎)

ulimit -SHn 51200 #設置打開文件句柄

到這里,我們就可以使用linux下的vi編輯器編輯一下:

cd /usr/src/nginx-0.7.62/conf/

vi nginx.conf

將之前在window下的修改內容替換(按下insert鍵進入到編輯模式)到當前的文件中,當修改完成了,按冒號(":")切換到命令模式下,然后敲入“wq”,保存并退出。(強制退出(不保存)的話,輸入q!,然后回車)

注:

events {

use epoll;

worker_connections  20240;

}

注:use epoll; //linux下使用,更多內容參見NginxChsOptimizations

這樣就可以運行nginx了:

/usr/local/nginx/sbin/nginx -t –c

啟動完成后,可以通過如下指令查看其在內存中的運行信息:

# ps aux | egrep '(PID|nginx)'

這樣當我們再使用loadrunner運行時,就可以看到error.log中就不再報那個惱人的“1024錯誤了”。

當然在nginx中,還支持文件緩存,以便于將那些靜態文件緩存到本地的nginx服務器上,只不過要修改一下其config文件配置,如下:

vi nginx.conf

在文件中的相應節點處輸入如下內容:

location ~ .*/.(gif|jpg|jpeg|png|bmp|swf|js|html|htm|css)$ {        #指定緩存文件類型

expires 7d;      #設置瀏覽器過期時間7天

root data/nginx_cache/iis;          #靜態文件根目錄目錄(必須對應proxy_temp_path)

proxy_store on;        #開啟緩存機制

proxy_store_access user:rw group:rw all:rw;       #緩存讀寫規則

proxy_temp_path data/nginx_cache/iis;            #存放靜態文件的緩存目錄

#    include proxy.conf;          # 外聯proxy理的詳細配置如proxy_set_header, client_max_body_size

.

if (!-e $request_filename) {

proxy_pass http://10.0.2.136;/

}

}

這樣就會在data/nginx_cache/iis目前下生成相應的gif,jpg等文件的臨時信息,當客戶端請求到來時,就會從該目錄中檢索相應文件綁定之后返回給客戶端,以減輕iis服務器和網絡帶寬的壓力。

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb
97色在线视频| 国产精品igao视频| 97色在线视频观看| 18一19gay欧美视频网站| 姬川优奈aav一区二区| 在线成人一区二区| 欧美视频在线免费看| 伊人久久大香线蕉av一区二区| 国产美女主播一区| 久久成人精品一区二区三区| 欧美专区福利在线| 国产精品美乳一区二区免费| 国产精品视频一区国模私拍| 亚洲第一视频网| 人人澡人人澡人人看欧美| 久久6精品影院| 精品视频在线播放免| 欧美多人爱爱视频网站| 久热99视频在线观看| 欧美二区乱c黑人| 97精品国产97久久久久久免费| 欧美大肥婆大肥bbbbb| 欧美丝袜美女中出在线| 97香蕉超级碰碰久久免费的优势| 隔壁老王国产在线精品| 欧美xxxx14xxxxx性爽| 亚洲日韩欧美视频一区| 国产日韩欧美中文在线播放| 日韩中文字幕网址| 中文字幕日韩高清| 亚洲欧美一区二区三区在线| 欧美黑人一区二区三区| 色香阁99久久精品久久久| 欧美国产日韩精品| 国产欧美日韩精品专区| 欧美日韩国产91| 欧美日韩一区二区免费在线观看| 亚洲欧美在线一区二区| 最近2019中文字幕第三页视频| 精品一区二区三区三区| 色999日韩欧美国产| 久久久精品欧美| 国产日产久久高清欧美一区| 日韩精品在线观看视频| 久久久久女教师免费一区| 国产精品中文在线| 欧美性xxxx极品高清hd直播| 欧美日产国产成人免费图片| 久久亚洲精品小早川怜子66| 亚洲精品国产suv| 国产精品网站大全| 色婷婷av一区二区三区在线观看| 欧美午夜影院在线视频| 色狠狠av一区二区三区香蕉蜜桃| 国产精品久久综合av爱欲tv| 成人在线小视频| 色老头一区二区三区在线观看| 91免费国产网站| 97人人模人人爽人人喊中文字| 亚洲国产免费av| 欧美日韩亚洲激情| 亚洲欧美在线看| 福利视频导航一区| 久久久久久国产免费| 久久亚洲综合国产精品99麻豆精品福利| 亚洲欧美成人一区二区在线电影| 国产69久久精品成人| 欧美国产日韩视频| 亚洲精品国产免费| 另类图片亚洲另类| 欧美色道久久88综合亚洲精品| 国产剧情久久久久久| 国产精品白丝av嫩草影院| 精品高清一区二区三区| 国产精品中文字幕在线观看| 国产精品视频资源| 日韩中文字幕在线观看| 亚洲男人7777| 色综合91久久精品中文字幕| 精品视频在线播放免| 在线日韩日本国产亚洲| 亚洲天堂久久av| 亚洲男人天堂2024| 精品亚洲国产成av人片传媒| 亚洲精品成人免费| 97香蕉超级碰碰久久免费软件| 午夜精品久久久久久久久久久久久| 亚洲一区二区久久久| 色悠久久久久综合先锋影音下载| 久久久精品一区二区三区| 亲爱的老师9免费观看全集电视剧| 91久久久久久久一区二区| 国产精品中文在线| 欧美日本在线视频中文字字幕| 亚洲一区免费网站| 日韩免费在线观看视频| www.欧美精品| 久久av在线播放| 亚洲国产精品大全| 欧美大片第1页| 国产精品揄拍一区二区| **欧美日韩vr在线| 日韩成人在线电影网| 精品久久国产精品| 久久这里有精品| 中文字幕精品在线视频| 国产精品综合网站| 国产精品第3页| 97香蕉超级碰碰久久免费的优势| 久久久999精品视频| 国产一区二区三区在线免费观看| 国产亚洲欧美日韩美女| 日韩精品视频在线| 日韩在线播放av| 亚洲一区二区三区乱码aⅴ蜜桃女| 亚洲男人天堂手机在线| 亚洲欧洲在线看| 亚洲精品suv精品一区二区| 国产综合在线观看视频| 亚洲精品国产福利| 欧美日韩视频在线| 亚洲欧美精品suv| 伊人av综合网| 国产精品久久久久不卡| 中文字幕精品www乱入免费视频| 国产亚洲精品成人av久久ww| 久久99久久99精品免观看粉嫩| 欧美日韩国产精品| 欧美视频第一页| 亚洲美女激情视频| 美女久久久久久久| 亚洲第一天堂无码专区| 亚洲国产精品一区二区三区| 亚洲欧洲在线看| 亚洲精品一区二区在线| 欧美性资源免费| 97视频在线观看亚洲| 国产精品一区二区av影院萌芽| 超薄丝袜一区二区| 亚洲综合在线中文字幕| 91中文精品字幕在线视频| 国产精品偷伦一区二区| 日韩女优人人人人射在线视频| 国产午夜精品一区二区三区| 日韩欧美有码在线| 亚洲午夜小视频| 国产精品久久久久久久久久三级| 欧美亚州一区二区三区| 午夜精品免费视频| 日韩精品视频中文在线观看| 国产精品99导航| 日韩欧美黄色动漫| 亚洲va欧美va在线观看| 欧美一级视频在线观看| 亚洲精品久久久久久久久久久久久| 精品一区二区亚洲| 久久影视免费观看| 国产精品美女久久久久av超清| 成人性生交大片免费看视频直播| 亚洲男人第一av网站| 中文字幕日韩精品在线观看| 亚洲一区二区三区成人在线视频精品| 日韩中文字幕在线看| 国产免费观看久久黄|