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> 這句(如果把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     如下圖:

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM