目錄
1.前言
2.環境和軟件的准備
3.創建.NET Core API項目
4.VMware Workstation虛擬機及Centos 7安裝
5.Centos 7安裝.NET Core環境
6.發布.NET Core項目到Linux
7.啟動和停止.NET Core項目
8.為.NET Core項目創建Supervisor進程守護監控
9.防火牆配置,允許外網或局域網訪問.NET Core站點
10.總結
1.普通模式啟動和停止站點,首先進入www目錄,利用dotnet命令定義端口配置及環境,然后啟動站點
#進入www目錄 cd /var/www #啟動站點,自定義端口號,運行環境 dotnet Demo.Net.Core.dll --urls="http://*:8081;http://*:8082" --environment=Development #訪問啟動的站點 curl http://localhost:8081/weatherforecast #停止站點 Ctrl+c
注意:
①、這里urls配置,如果需要局域網或者外網訪問,不能填成urls="http://localhost:8081;http://localhost:8082"
②、另外這種啟動方式有個弊端就是,關閉Xshell的會話之后,站點同時會自動關閉,無法訪問
③、執行啟動命令,一定要指定dll的路徑或者進入站點目錄,否則會啟動不成功
2.后台進程模式啟動和停止站點,避免關閉會話后,站點無法訪問
#進入www目錄 cd /var/www #啟動站點,自定義端口號,運行環境 nohup dotnet Demo.Net.Core.dll --urls="http://*:8081;http://*:8082" --environment=Delopment > /dev/null 2>&1 & #查看相關進行 ps -aux | grep "Demo.Net.Core.dll" #訪問啟動的站點 curl http://localhost:8081/weatherforecast #關閉站點進程,當前進程直接使用Ctrl+c,這里的35520是之前開啟的Dotnet 進程ID kill 35520
這里使用后台進程,關閉Xshell也不會關閉站點,在當前進程,停止站點直接使用Ctrl+c,否則需要找出進程ID,然后KILL進程。
/dev/null:/dev/null相當於執行了command 1 > /dev/null。執行command產生了標准輸出stdout(用1表示),重定向到/dev/null的設備文件中
/dev/null可以理解為/dev路徑下的空文件;該命令將command命令的標准輸出輸出到空文件中
2>&1:可以理解為執行command產生的標准輸出重定向到文件中,標准錯誤也重定向到文件中,期間只打開一次文件,&1的含義就可以理解為用標准輸出的引用,引用的就是重定向標准輸出產生打開的文件。
注意:后台進程雖然可以再Xshell關閉后還能運行,但是當系統關機重啟后,進程就沒有了,這個時候還是需要手動啟動,所以下一篇文章將會介紹為dotnet創建守護進程的方式來保證開機就能訪問站點