系統:centos 7.1 Net Core 版本:2.1 (3.x同理)
1.注冊產品存儲庫並安裝所需的依賴關系
在安裝.NET之前,需要注冊產品存儲庫並安裝所需的依賴關系。運行一次就行。
打開ssh終端 運行以下命令:
sudo rpm -Uvh https://packages.microsoft.com/config/rhel/7/packages-microsoft-prod.rpm
2.更新可用於安裝的產品
更新可用於安裝的產品,然后安裝.NET SDK。這樣做的好處就是可以保證你的各個組件都是最新的版本,對新手來說可以解決很多不必要的麻煩。
sudo yum update
3.安裝.NET SDK
運行以下命令:
sudo yum install dotnet-sdk-2.1
4.ssh進入剛剛的路徑
上傳你的net core 運行文件到服務器:如web項目發布至自定義目錄下:/www/wwwroot/web/
cd /www/wwwroot/web/ #路徑記得自己改
5.運行你的項目
很簡單這樣就跑起來了,如果你的程序沒有寫錯的話。建議第一次部署體驗直接用vs 生成的默認項目。
dotnet web.dll
當你覺得到此為止的時候,劇情總會出現反轉。
以上的操作都是正確的。
但是你的項目只在你的ssh終端沒有被關閉的情況下
或者說當前dotnet 進程沒有結束的情況下會保持運行狀態。
簡單的說就是,你的ssh終端一旦關閉。你的web 也就隨之關閉了。
因此你需要第六步來保證你的web一直運行。
6.1 持續運行:
這個時候你就需要一個持續運行的方法 :nohup 該命令的詳細介紹:https://www.cnblogs.com/apexchu/p/4193611.html
1 nohup dotnet web.dll &
6.2 進程守護:
第二個就是采用三方工具進行進程守護的方式(個人覺得這個東西用起來還是有點麻煩,沒有nohup便捷)
就不介紹了直接讓前輩來吧:https://www.cnblogs.com/savorboard/p/dotnetcore-supervisor.html
7.域名訪問的問題
dotnet 似乎沒有為我們提供域名綁定的工藝。因此要用反向代理來綁定域名
Nginx 似乎成為了首選。簡單輕便。這里也直接貼上前輩的介紹好了:https://cloud.tencent.com/developer/article/1503591
還有一個辦法是直接安裝寶塔面板,用寶塔面板來配置 (畢竟有GUI 對用戶的友好程度++)寶塔官方介紹:https://www.bt.cn/bbs/forum.php?mod=viewthread&tid=18019&highlight=nginx
8.最后
最后如果你按照以上步驟操作了一遍發現沒用,那可能是哪個步驟出現了錯誤。這個時候可以考慮使用卸載的辦法,對sdk重新進行安裝。
對,就是回到最初的起點,再來一次。
如果你覺得對你有幫助的話,不妨點個【推薦】。
sudo yum remove dotnet-sdk-2.1
sudo yum remove libunwind libicu
sudo yum remove /etc/yum.repos.d/dotnetdev.repo
第二個就是采用三方工具進行進程守護的方式(個人覺得這個東西用起來還是有點麻煩,沒有nohup便捷)
