1. 程式人生 > >VisualStudioCode建立的asp.net core控制檯程式部署到linux

VisualStudioCode建立的asp.net core控制檯程式部署到linux

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> 這句。

會發布在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     如下圖: