iis+nginx实现负载均衡
?
? ? 簡要說明:nginx的簡介自行百度。
? ? ? ? ?目的:把用戶的請求分到各個服務器減輕壓力。nginx把監聽的端口的請求平均轉到布署了網站的服務器。
?
一、windows上安裝nginx
? ? 1.官網下載windows版的nginx ??http://nginx.org/en/docs/windows.html
? ? 目前最新版本為1.13.2
? ? ?
?
?
2.下載解壓后
3.因為我電腦80端口已經被使用,所以修改配置文件改為監聽8080端口
4.雙擊主程序運行,可以看到nginx已經在進程里面運行了。
?
5.嘗試打開 http://localhost:8080/ ?出現以下,就說明nginx安裝成功了
?
?
?二、搭建兩個相同站點。
? ? ? ? 1. 網站只有一個主頁?
public class HomeController : Controller{// GET: Homepublic ActionResult Index(){List<string> info = new List<string>();info.Add("服務器名稱:" + Server.MachineName);info.Add("Nginx的IP地址:" + (Request.UserHostAddress=="::1" ? "127.0.0.1":Request.UserHostAddress));info.Add("真實客戶的IP地址:" + Request.Headers["X-Real-IP"]);info.Add("HTTP端口:" + Request.Url.Port);ViewBag.info = info;return View();}}?
?
? ? ?2. 因為我的nginx是裝在虛擬機里的,現在虛擬機里在iis部署一個站點,端口為:9000
3.本機布署一個站點,端口為:9001
?
?
三、修改nginx配置文件
? ? ? ??1.在http節點下添加upstream(服務器集群),server設置的是集群服務器的信息,我這里搭建了兩個站點,配置了兩條信息。
? ? ? ? ?
2.?在http節點下找到location節點修改
location / {
root html;
index Home/Index index.html index.htm; #修改主頁為Home/Index
#其中jq_one 對應著upstream設置的集群名稱
proxy_pass http://Jq_one;
#設置主機頭和客戶端真實地址,以便服務器獲取客戶端真實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;
}
修改后的配置文件:
3.重啟Nginx
?輸入命令 nginx -s ?reload ? ? 回車
?
? ?完成重啟
四、驗證
? 嘗試訪問監聽的8080端口,刷新幾次看
?我這里虛擬機的IP為:http://192.9.200.44。現在從主機訪問虛擬機的Nginx監聽的端口。
?
?
?
?
?
?五、把Nginx弄成服務,開機啟動
? ? ? ?1.借助一個小工具winsw ??https://github.com/kohsuke/winsw/releases
? ? ? ? ?下載簡單配置和.net環境兩個文件,根據自己環境,這里下的.net4
?
?
?然后放到隨便一個目錄,這里放到和nginx一起,并把兩個文件改成相同的名字
? ? 2.修改配置文件
?
?
3.安裝服務
?
輸入命令 myapp.exe install ? 安裝服務
? ? ?此時服務中已經有nginx了,然后啟動服務即可
?
? ?完成。
參考資料:http://www.cnblogs.com/jbps/p/5721477.html
? ? ? ? ? ? ? ?
?
轉載于:https://www.cnblogs.com/wei325/p/7151049.html
總結
以上是生活随笔為你收集整理的iis+nginx实现负载均衡的全部內容,希望文章能夠幫你解決所遇到的問題。