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上。
会发布在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 如下图: