使用Nginx對.NetCore站點進行反向代理

前言

以前的博客我已經在Linux上部署好了.NetCore站點且經過Supervisor對站點進行了進程守護,同時也安裝好了Nginx。
Nginx的用處很是大,仍是簡單說下,它最大的功能就是方便咱們作後續的橫向拓展,當站點的流量愈來愈大時候能夠進行負載均衡,反向代理最大用處也是如此。前端

 

反向代理
反向代理我是這麼理解的,用戶在客戶端輸入指定的url,這個url對應的服務器實際上不必定是最終處理該請求的服務器,能夠將這個服務器做爲一箇中間層,它能夠將請求再次分發到指定的應用服務器上,而後獲得反饋後再返回給客戶端。固然對於一些靜態資源的請求或者有動態資源緩存則直接將這些靜態資源或者緩存數據返回給客戶端,從而減輕了應用服務器的壓力。nginx

正向請求
正向請求相比反向請求部署更簡單,請求的鏈路也更短,對於壓力不大的站點能夠採起這種方式,反向代理若是不該用在請求量較大的站點則我我的認爲是多此一舉,由於它自己的請求鏈路就加長了,某種程度上也下降了請求速度。vim

配置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端口去。編輯器

這裏也對配置文件的一些節點作簡單介紹:url

  • listen:表示當前的代理服務器監聽的端口,默認的是監聽80端口。注意,若是配置了多個server,這個listen要配置不同。
  • server_name:表示監聽到以後須要轉到哪裏去,這時咱們直接轉到本地,這時是直接到nginx文件夾內。
  • location:表示匹配的路徑,這時配置了/表示全部請求都被匹配到這裏
  • root:裏面配置了root這時表示當匹配這個請求的路徑時,將會在這個文件夾內尋找相應的文件,這裏對咱們以後的靜態文件伺服頗有用。
  • index:當沒有指定主頁時,默認會選擇這個指定的文件,它能夠有多個,並按順序來加載,若是第一個不存在,則找第二個,依此類推。

在vim編輯器內編輯完畢後轉爲命令模式輸入:wq 保存並退出。3d

檢查nginx配置

輸入以下命令進行檢查代理

/usr/local/nginx/sbin/nginx -t

出現下圖表示正確
0619d2b9448b6f2712db41ba8d048b3e.png

從新加載配置文件並重啓nginx

輸入以下命令重啓nginx



/usr/local/nginx/sbin/nginx -s reload/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站點啦

相關文章
相關標籤/搜索