2、netcore跨平臺之 Linux部署nginx代理webapi

上一章,咱們講了在linux上安裝netcore環境,以及讓netcore在linux上運行。linux

這一章咱們開始講在linux上配置nginx,以及讓nginx反向代理咱們的webapi。nginx

什麼nginx???c++

Nginx("engine x")是一款是由俄羅斯的程序設計師Igor Sysoev所開發高性能的 Web和 反向代理 服務器,也是一個 IMAP/POP3/SMTP 代理服務器。程序員

在高鏈接併發的狀況下,Nginx是Apache服務器不錯的替代品,並且如今愈來愈多的公司都開始用nginx,學習nginx是程序員必不可少的一部分。web

 

現實用xshell登陸到咱們的linux系統中。shell

輸入以下命令vim

安裝編譯工具和對應的庫文件,輸入下面的命令,回車便可api

yum -y install make zlib zlib-devel gcc-c++ libtool  openssl openssl-devel

以下圖示,就表示安裝好了。瀏覽器

 

 

接下來,咱們正式安裝Nginx,咱們此次選擇安裝1.6.2版本。服務器

(1)下載nginx,輸入下面命令,回車便可。

wget http://nginx.org/download/nginx-1.6.2.tar.gz

nginx比較小,下載起來仍是蠻快的,以下圖所示,表示下載完成。

 

 

 

 (2)解壓nginx壓縮包

tar zxvf nginx-1.6.2.tar.gz

(3)進入到nginx目錄中

cd nginx-1.6.2

(4)編譯和安裝,分別執行下面的命令

./configure --prefix=/usr/local/nginx
make

 

 

 (5)查看版本

/usr/local/nginx/sbin/nginx -v

看到下面這個表示成功了

(6)啓動nginx

 

/usr/local/nginx/sbin/nginx

而後在你的電腦上用瀏覽器訪問便可

注意這裏的默認監聽端口是80,因此輸入ip加上80端口便可

出現以下這種視圖就表示成功了。

 

 

 

 

接下來就是很關鍵的配置了,其實安裝仍是很簡單的。

 進入到你的nginx的安裝目錄下

分別輸入以下命令,便可查看到您的配置信息

cd  /usr/local/nginx/conf
ll

 

編輯您的nginx.conf文件,我這裏用vim進行編輯

vim nginx.conf

出現如圖所示:

 咱們主要看以下圖所示紅色標記的部分

 

 

listen:表示當前的代理服務器監聽的端口,默認的是監聽80端口。注意,若是配置了多個server,這個listen要配置不同。

server_name:表示監聽到以後須要轉到哪裏去,這時咱們直接轉到本地,這時是直接到nginx文件夾內。

location:表示匹配的路徑,這時配置了/表示全部請求都被匹配到這裏

root:裏面配置了root這時表示當匹配這個請求的路徑時,將會在這個文件夾內尋找相應的文件,這裏對咱們以後的靜態文件伺服頗有用。

index:當沒有指定主頁時,默認會選擇這個指定的文件,它能夠有多個,並按順序來加載,若是第一個不存在,則找第二個,依此類推。

而後咱們把上面的location進行了修改

用鍵盤的上下左右鍵把光標移動到以下位置

 

而後輸入鍵盤的 i(鍵盤的字母i)進入到編輯模式(這裏是給不懂linux說的,懂得人請無視)

而後用鍵盤的退回 ←把這裏的都刪除

 

 而後在輸入  proxy_pass http://localhost:6666;(這裏接上一章已經配置好的netcore webapi)

 

 

 而後點擊鍵盤的ESC退出編輯狀態

而後輸入:wq退出並保存

:wq

 

 這樣就保存配置結束了,conf配置其實很複雜,網上有不少根據不一樣需求進行的配置

你們有興趣能夠去看看,我這裏只說入門的部分,額,其實入門都算不上,能用就行,哈哈哈

最後執行下面兩個命令

這裏是檢查配置

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

 

 最後一個就是重啓運行nginx

/usr/local/nginx/sbin/nginx -s reload

 

 

哦,最後咱們看看效果,額

這裏必定不要忘記啓動個人netcore程序了

輸入命令進入到咱們的項目中

cd /root/netcore/

而後輸入啓動程序的命令

dotnet WebApiTest.dll

以下圖所示,就表示啓動成功了

 

 

 

 而後,咱們用測試工具測試一下咱們的接口

如圖所示,咱們把之前的6666接口換成了80端口,這裏仍是訪問成功了,這就表示咱們的nginx代理成功了

 

 

 

 

 

到這裏就基本結束了,不過你們必定有個奇怪的地方每次啓動netcore,每次關了你的xshell後就不能訪問了,

這裏建議使用下面的命令,使之成爲後臺進程便可

nohup dotnet  WebApiTest.dll  &

over !!!!!!!!!!!!!!!!!!!!!!!!

相關文章
相關標籤/搜索