介紹centos7下.netcore環境搭建、創建並.netcore程序、設置開機自動啟動.netcore程序(注冊為服務運行)
一:.netcore環境搭建
1、執行命令
sudo rpm -Uvh https://packages.microsoft.com/config/rhel/7/packages-microsoft-prod.rpm
2、更新yum
sudo yum update
3、安裝.netcore
sudo yum install dotnet-sdk-2.2 -y
4、檢測是否安裝成功:

二:創建.netcore web程序並運行
1、定位到你想放置項目的位置,創建項目
cd /home
dotnet new webApp -o testApp --no-https
2、直接發布項目到項目文件夾
cd testApp dotnet publish -o /home/testApp/Release
3、測試運行.netcore程序
cd release dotnet testApp.dll
4、如需通過宿主機訪問,需修改Program.cs代碼,方式多種,這里采用添加host.json方式
首先更改CreateWebHostBuilder方法代碼如下
public static IWebHostBuilder CreateWebHostBuilder(string[] args) { var configuration = new ConfigurationBuilder().SetBasePath(Environment.CurrentDirectory) .AddJsonFile("host.json") .Build(); return WebHost.CreateDefaultBuilder(args).UseConfiguration(configuration) .UseStartup<Startup>(); }
在項目根目錄添加host.json文件
{
"urls": "http://*:5000"
}
5、通過瀏覽器訪問 http://虛擬機ip:5000,效果如下:

三:設置.netcore程序開機啟動
1、創建服務文件
vim /etc/systemd/system/testApp.service
寫入如下內容:
[Unit] Description=testApp for centos7 [Service] WorkingDirectory=/home/testApp/Release ExecStart=/usr/bin/dotnet /home/testApp/Release/testApp.dll Restart=always RestartSec=10 # Restart service after 10 seconds if dotnet service crashes SyslogIdentifier=dotnet-testApp User=root Environment=ASPNETCORE_ENVIRONMENT=Production Environment=DOTNET_PRINT_TELEMETRY_MESSAGE=false [Install] WantedBy=multi-user.target
2、設置開機自動啟動testApp.service服務
systemctl enable testApp.service
3、開啟服務,並查詢狀態
systemctl start testApp.service
systemctl status testApp.service
