zoukankan      html  css  js  c++  java
  • 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”发布在test2inDebug etcoreapp2.1centos.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     如下图:

  • 相关阅读:
    计算机网络
    git学习总结
    MySQL性能优化的21条最佳经验【转】
    为什么Laravel是最成功的PHP框架?
    分布式集群系统下的高可用session解决方案
    浏览器中输入URL到返回页面的全过程
    真正的inotify+rsync实时同步 彻底告别同步慢
    memcache中的add和set方法区别
    php 接口 implements 使用
    Redis的PHP操作手册(自用)
  • 原文地址:https://www.cnblogs.com/qk2014/p/10088798.html
Copyright © 2011-2022 走看看