Nginx IIS簡單的部署

2022-01-15 11:56:10 字數 2308 閱讀 6339

隨著網際網路專案使用者訪問量不斷上公升,單點web伺服器是無法滿足大型高併發高負載的業務處理的,為了給web伺服器做負載均衡方案,打算採用nginx搭建負載均衡伺服器,把使用者請求分配到n個伺服器來緩解伺服器壓力。

nginx簡介:

要實現負載均衡需要修改conf/nginx.conf的配置資訊,修改配置資訊之後重新啟動nginx服務,可以通過nginx -s reload指令實現。這裡我們使用 ants 提供的乙個批處理來操作。

回到頂部

1.搭建兩個iis站點

站點下只有乙個簡單的index頁面,用來輸出當前伺服器資訊。由於我沒有兩台機器,所以將兩個站點都部署到本機了,分別繫結了8082和9000兩個埠。

protected void page_load(object sender, eventargs e)

2.修改nginx配置資訊修改nginx監聽埠,修改http server下的listen節點值,由於本機80埠已經被占用,我改為監聽8083埠。

listen       8083;

在http節點下新增upstream(伺服器集群),server設定的是集群伺服器的資訊,我這裡搭建了兩個站點,配置了兩條資訊。

#伺服器集群名稱為jq_one

upstream jq_one

在http節點下找到location節點修改

location /

修改完成配置檔案以後記得重啟nginx服務,最終完整配置檔案資訊如下

3.執行結果

訪問 ,多訪問幾次,著重關注標紅部分。

可以看到,我們的請求被分發到了8082站點和9000站點,並且第一次是8082站點第二次9000。出現這樣的結果證明我們負載均衡搭建成功了。 嘗試關閉其中的9000站點,然後重新整理頁面發現輸出的http埠一直是8082,也就是說其中乙個站點掛了,只要還有乙個站點是好的,我們的還是可以服務。

回到頂部

雖然我們搭建好了負載均衡站點,但是還存在以下問題。

1.如果站點使用了session,請求平均分配到兩個站點,那麼必然存在session共享問題,該如何解決?

upstream jq_one

2.管理員更新站點檔案,該怎麼操作,現在還只有兩台伺服器,可以手工將檔案更新到兩台伺服器,如果是10臺呢,那麼手工操作必然是不可行的

3.站點中的檔案上傳功能會將檔案分配到不同的伺服器,檔案共享問題如何解決。

4.負載的伺服器配置不一樣,有的高有的低可不可以讓配置高的伺服器處理請求多一些

upstream jq_one

通過weight設定每台伺服器分配請求站的權重,值越高分配的越多。

5.由於請求是經過nginx**過來的,可以在**裡面獲取到使用者請求的實際ip位址嗎?

#設定主機頭和客戶端真實位址,以便伺服器獲取客戶端真實ip

proxy_set_header   host             $host; 

proxy_set_header   x-real-ip        $remote_addr; 

proxy_set_header   x-forwarded-for  $proxy_add_x_forwarded_for;

**裡面通過request.headers["x-real-ip"],就能獲取到真實ip

以上**來自:

nginx iis實現簡單的負載均衡

最近在研究分布式系統架構方面的知識,包括負載均衡,資料庫讀寫分離,分布式快取redis等。本篇先從負載均衡服務架構入手,關於負載均衡百科的定義如下 負載均衡,英文名稱為load balance,其意思就是分攤到多個操作單元上進行執行,例如web伺服器 ftp伺服器 企業關鍵應用伺服器和其它關鍵任務伺...

Nginx IIS分布式部署和負載均衡

建立2個 埠分別為9001 9002 在http節點下面新增 upstream backend server upstream backend server 為伺服器列表名稱,localhost為 本地 伺服器位址,9001 9002為站點埠,weight為權重,即隨機訪問到的站點概率。以上配置引數...

nginx uwsgi flask的簡單部署

安裝前提 在安裝nginx前,需要確保系統安裝了gcc,gcc open devel和zlib devel。軟體。安裝必須軟體 yum install gcc c yum y install zlib zlib devel openssl openssl devel pcre pcre develw...