1、asp.net core控制台程序
static void Main(string[] args) { int times=10; while(times>=0) { Console.WriteLine("Hello World!"); times--; Thread.Sleep(1000); } }
2、發布
發布前,修改test2.csproj文件(項目名稱為test2)
<Project Sdk="Microsoft.NET.Sdk"> <PropertyGroup> <OutputType>Exe</OutputType> <TargetFramework>netcoreapp2.1</TargetFramework> <RuntimeIdentifier>centos.7-x64</RuntimeIdentifier> </PropertyGroup> </Project>
主要添加 <RuntimeIdentifier>centos.7-x64</RuntimeIdentifier> 這句(如果把centos.7-x64改為win10-x64,則發布為exe程序,運行在windows上。)。
使用命令“dotnet publish”發布在test2\bin\Debug\netcoreapp2.1\centos.7-x64目錄下,如下圖:

把所有文件上傳到linux服務器(我的linux上放代碼目錄為/var/wwwroot/netconsole)
切到publish下(即/var/wwwroot/netconsole/publish),輸入命令“dotnet test2.dll”,如下圖:

3、創建服務
新建自定義服務:vim /etc/systemd/system/mydotnetconsole.service,服務代碼內容如下:
[Unit] Description=dotnet console demo running on linux [Service] WorkingDirectory=/var/wwwroot/netconsole ExecStart=/usr/bin/dotnet /var/wwwroot/netconsole/test2.dll Restart=always RestartSec= 10 SyslogIdentifier=dotnet core console User=root Environment=ASPNETCORE_ENVIRONMENT=Production [Install] WantedBy=multi-user.target
啟動服務 systemctl start mydotnetconsole.service
查看 systemctl status netconsole -l 如下圖:

