dotNetCore v2-用nohup部署应用程序

using Common;
using System;
using System.Threading;
using System.Threading.Tasks;

namespace ConsoleApp2
{
    class Program
    {
        
        static void Main(string[] args)
        {
            var tokenSource = new CancellationTokenSource();
            Task.Factory.StartNew(() =>
            {
                while (!tokenSource.IsCancellationRequested)
                {
                    Console.WriteLine($"{DateTime.Now}:业务逻辑处理中");
                    Thread.Sleep(1000);
                }
            }).ContinueWith(t =>
            {
                Console.WriteLine("服务安全退出");
                Environment.Exit(0);//强制退出 
            });
            Console.WriteLine("服务成功开启");
            while(!"N".Equals(ConfigurationManager.Configuration["isquit"],StringComparison.OrdinalIgnoreCase))
            {
                Thread.Sleep(1000);
            }
            Console.WriteLine("Hello World!");
        }
    }
}
 

/*******************Common库 ConfigurationManager.cs******************************************/

using Microsoft.Extensions.Configuration;
using System;
using System.IO;

namespace Common
{
    public class ConfigurationManager
    {
        public static IConfigurationRoot Configuration
        {
            get
            {
                var configuration = new ConfigurationBuilder().SetBasePath(Directory.GetCurrentDirectory())
                    .AddJsonFile(string.Format("appsettings.{0}.json", Environment.GetEnvironmentVariable("ASPNETCORE_ENVIRONMENT")), optional: true, reloadOnChange: true)
                    .AddJsonFile(string.Format("ops.{0},json", Environment.GetEnvironmentVariable("ASPNETCORE_ENVIRONMENT")), optional: true, reloadOnChange: true)
                    .Build();
                return configuration;
            }
        }
    }
}
 

/***************************************************************/

发布程序:

1.将程序通过FileZilla上传到ubuntu

2.进入程序目录

~/publish/source/ConsoleApp2$ dotnet publish -o ~/publish/output/output1 -c release

3.运行服务 dotnet ConsoleApp2.dll

4.后台运行 nohup dotnet ConsoleApp2.dll &

5.必须通过exit退出终端

发布了445 篇原创文章 · 获赞 71 · 访问量 28万+

猜你喜欢

转载自blog.csdn.net/dxm809/article/details/104223819