Linux+.Net Core+Nginx(在Linux上使用Nginx反向代理.Net Core 項目)


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就正式完成了,這僅是一個小的例子以便於了解,具體在項目當中如何使用還需要更多的了解。

 

歡迎大家掃描下方二維碼,和我一起學習更多的知識😊

 

  


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM