Linux+.Net Core+Nginx 之前的文章中有提到關於使用Nginx在linux來實現反向代理,今天我們繼續加點料。在Centos7中部署.NetCore,然後使用Nginx進行反向代理! 我們先準備好一個.Net Core 的 Web 項目,然後發佈成linux版本,然後在根目錄下麵去 ...
Linux+.Net Core+Nginx
之前的文章中有提到關於使用Nginx在linux來實現反向代理,今天我們繼續加點料。在Centos7中部署.NetCore,然後使用Nginx進行反向代理!
我們先準備好一個.Net Core 的 Web 項目,然後發佈成linux版本,然後在根目錄下麵去尋找到剛發佈的項目文件,為後續做好準備。
然後我們需要在Linux上安裝.Net Core的環境以便於我們的項目能正常的運行在上面。
1、安裝.Net Core
sudo rpm -Uvh https://packages.microsoft.com/config/rhel/7/packages-microsoft-prod.rpm
2、安裝.net core sdk 並更新
sudo yum update sudo yum install dotnet-sdk-2.2(當前項目或者使用版本)
3、查看下.net core 版本是否安裝成功
dotnet –version
到這裡.Net Core的環境在Linux上算是裝好了,接下來就進入正題開始部署項目。
4、創建Test文件夾並且上傳剛剛發佈好的項目文件至其下麵
mkdir Test
5、當把發佈的文件上傳至Tset目錄下之後我們就可以創建服務了
sudo nano /etc/systemd/system/Test.service
6、配置好服務文件
[Unit] Description= Test [Service] WorkingDirectory=/root/ Test ExecStart=/usr/bin/dotnet /root/Test/Test.dll Restart=always RestartSec=10 SyslogIdentifier= Test User=root Environment=ASPNETCORE_ENVIRONMENT=Production Environment=DOTNET_PRINT_TELEMETRY_MESSAGE=false [Install] WantedBy=multi-user.target
其中文件詳解
Description 一個簡單的描述
WorkingDirectory 服務工作的目錄
ExecStart 啟動時執行的命令
Restart 出錯了是否重啟 建議 always
RestartSec 重啟的時間
User 用戶
WantedBy 該服務所在的連接地址
7、重啟服務,開啟服務並且查看狀態
systemctl enable Test.service
systemctl start Test.service
systemctl status Test.service
看到上面這個圖片的樣子說明啟動運行成功了。然後我們可以輸入ip+5555去看看效果如何
但是請求了半天發現好像沒有反應,我們回過頭來檢查下,好像遺漏掉了一個東西。5555埠是否開了,當然我們也可以直接關閉防火牆,簡單粗暴
8、關閉防火牆或者打開5000埠
關閉防火牆: systemctl status firewalld 查看運行情況 firewall-cmd –state 查看狀態 service firewalld stop 關閉防火牆 firewall-cmd –state 查看狀態 開啟5000埠: firewall-cmd --zone=public --permanent --add-port=5555/tcp; firewall-cmd --reload
出現這個頁面證明部署.NetCore 應用一切順利,接下來我們開始安裝nginx並且實現反向代理、至於如何在Linux上安裝Nginx並運行我在前面文章已經詳細介紹了,又忘記了得可以再看看
https://www.cnblogs.com/hulizhong/p/10672918.html
卸載nginx命令
yum remove nginx
我們安裝好Nginx之後需要在nginx.conf中進行一定的修改
server { listen 8888; location / { proxy_pass http://localhost:5555; proxy_http_version 1.1; proxy_set_header Upgrade $http_upgrade; proxy_set_header Connection keep-alive; proxy_set_header Host $http_host; proxy_cache_bypass $http_upgrade;
} }
修改監聽埠為8888,然後轉發地址為剛在項目運行的地址ip+5555,一切順利完成之後
重啟nginx sudo nginx -t sudo nginx -s reload
然後我們在去瀏覽器中輸入ip+8888,驚奇的發現我們訪問的內容居然和ip+5555的是一樣的
然後到這裡Linux+.NetCore+Nginx就正式完成了,這僅是一個小的例子以便於瞭解,具體在項目當中如何使用還需要更多的瞭解。