前言
之前的博客我已經在Linux上部署好了.NetCore站點且通過Supervisor對站點進行了行程守護,同時也安裝好了Nginx,
Nginx的用處非常大,還是簡單說下,它最大的功能就是方便我們做后續的橫向拓展,當站點的流量越來越大時候可以進行負載均衡,反向代理最大用處也是如此,
反向代理
反向代理我是這么理解的,用戶在客戶端輸入指定的url,這個url對應的服務器實際上不一定是最終處理該請求的服務器,可以將這個服務器作為一個中間層,它可以將請求再次分發到指定的應用服務器上,然后得到反饋后再回傳給客戶端,當然對于一些靜態資源的請求或者有動態資源快取則直接將這些靜態資源或者快取資料回傳給客戶端,從而減輕了應用服務器的壓力,
正向請求
正向請求相比反向請求部署更簡單,請求的鏈路也更短,對于壓力不大的站點可以采取這種方式,反向代理如果不應用在請求量較大的站點則我個人認為是畫蛇添足,因為它本身的請求鏈路就加長了,某種程度上也降低了請求速度,
配置nginx.conf組態檔
如需nginx進行對站點的反向代理需要對/usr/local/nginx/conf/nginx.conf 進行配置
輸入 vim /usr/local/nginx/conf/nginx.conf 我們找到http節點下的server,如下圖

將location /下面的內容進行更新,如下圖

將root和index更新為 proxy_pass http://localhost:5000
http://localhost:5000正是我們部署好的站點路徑,我們配置的結果就是將上面監聽到的80埠的請求最終再跳轉到我們剛剛配置的5000埠去,
這里也對組態檔的一些節點做簡單介紹:
- listen:表示當前的代理服務器監聽的埠,默認的是監聽80埠,注意,如果配置了多個server,這個listen要配置不一樣,
- server_name:表示監聽到之后需要轉到哪里去,這時我們直接轉到本地,這時是直接到nginx檔案夾內,
- location:表示匹配的路徑,這時配置了/表示所有請求都被匹配到這里
- root:里面配置了root這時表示當匹配這個請求的路徑時,將會在這個檔案夾內尋找相應的檔案,這里對我們之后的靜態檔案伺服很有用,
- index:當沒有指定主頁時,默認會選擇這個指定的檔案,它可以有多個,并按順序來加載,如果第一個不存在,則找第二個,依此類推,
在vim編輯器內編輯完畢后轉為命令模式輸入:wq 保存并退出,
檢查nginx配置
輸入如下命令進行檢查
/usr/local/nginx/sbin/nginx -t
出現下圖表示正確
重新加載組態檔并重啟nginx
輸入如下命令重啟nginx
/usr/local/nginx/sbin/nginx -s reload
重新reload可能會出現如下錯誤
nginx: [error] invalid PID number "" in "/usr/local/nginx/logs/nginx.pid"
解決方式,在Linux控制臺輸入下面命令
/usr/local/nginx/sbin/nginx -c /usr/local/nginx/conf/nginx.conf
這時候輸入命令netstat -tunlp
查看Nginx已正常運行,如下圖
嘿嘿,然后在客戶端通過80埠也可以訪問我們之前埠號為5000的.Netcore站點啦

轉載請註明出處,本文鏈接:https://www.uj5u.com/net/64909.html
標籤:.NET Core
