上一章,咱們講了在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 !!!!!!!!!!!!!!!!!!!!!!!!