linux部署dotnetcore应用(linux部署多个dotnetcore网站)

技术在Linux下怎么为dotnet创建守护进程本篇内容介绍了“在Linux下怎么为dotnet创建守护进程”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧

本文介绍了关于“如何在Linux下为dotnet创建一个守护进程”的知识。很多人在实际办案过程中都会遇到这样的困难。接下来,让边肖带领大家学习如何应对这些情况!希望大家认真阅读,学点东西!

00-1010在linux或unix操作系统中,Daemon是后台运行的特殊进程,它独立于控制终端,定期执行某些任务或等待处理某些事件。在linux中,每个系统和用户之间的接口被称为终端,从这个终端运行的每个进程都会被附加到这个终端上。这个终端被称为这些过程的控制终端。当控制终端关闭时,相应的进程将自动关闭。但是,守护进程可以突破这个限制。它离开终端,在后台运行。离开终端的目的是防止进程的信息在任何终端显示,并且进程不会被任何终端生成的终端信息中断。它从执行时开始运行,直到整个系统关闭。

这里,创建守护进程是指通过Linux上发布的ASP.NET Core程序的dotnet xxx.dll命令的主机进程来创建守护进程。

在Linux上有很多管理进程的工具,我们使用Supervisor来做到这一点。

原因有二:

1.微软官方文档推荐,降低学习成本。

2.它不一定是最好的,但一定是最完整的文件。

什么是守护进程

Supervisor是Python(2.4)开发的。它是一个允许用户基于Unix系统管理进程的Client/Server系统,提供了很多管理进程的功能。

正式文件:http://supervisord.org/

00-1010只需使用brew工具直接安装在masOS中:

brew安装主管

使用以下命令在linux中安装:

人的本质

sudo apt-get安装主管

摘录

百胜安装主管

大蟒

pip安装supervosor

简易安装管理器

安装后:

在Linux下怎么为dotnet创建守护进程

mac: ~杨晓东$ brewinstallsupervisor

警告:已安装的supervisor-3 . 2 . 1

Supervisor 介绍

完成后,在/ect/supervisor/conf.d/目录中创建新的配置文件(触摸HelloWebApp.conf),并将其命名为HelloWebApp.conf

打开hellowebapp . conf(vim hellowebapp . conf)并编写以下命令:

[程序:HelloWebApp]

命令=要执行的命令

目录=/home/yxd/workspace/publish #命令执行目录

环境=aspnetcore _ _环境=生产#环境变量

用户=www-data#流程执行的用户身份

stopsignal=INT

Autostart=true#是否自动启动?

自动重新启动=true#您想自动重新启动吗?

Secs=1 #自动重启间隔

stder _ log file=/var/log/hellowebapp . err . log #标准错误日志

stdout _ log file=/var/log/hellowebapp . out . log #标准输出日志

p>配置好以后 (:wq保存退出),需要重新加载一下配置

sudo supervisorctl shutdown && sudo supervisord -c /etc/supervisor/supervisord.conf

或者你可以直接重启 Supervisor:

sudo service supervisor stop
sudo service supervisor start

如果启动的时候报错,可以打开位于/etc/log/supervisor/supervisord.log文件来查看具体的日志。

其中dotnet 命令输出的日志文件分别为位于

/var/log/HelloWebApp.err.log
/var/log/HelloWebApp.out.log

在这些文件里面你可以查看程序中的异常信息或者是运行信息。

打开浏览器,输入http://localhost:5000发现已经可以浏览了。

Supervisor 常用命令

supervisorctl shutdown #关闭所有任务

supervisorctl stop|start program_name

supervisorctl status #查看所有任务状态

Supervisor UI 管理台

Supervisor 默认给我们提供了一个图形界面来供我们管理进程和任务,在 macOS 中默认配置的有,但是在 Linux 中我们需要手动开启一下。

打开位于/etc/supervisor/supervisord.conf文件,添加inet_http_server 节点

在Linux下怎么为dotnet创建守护进程

然后就可以通过界面来查看运行的进程了:

在Linux下怎么为dotnet创建守护进程

测试一下

最后,我们测试一下是否会自动重启,开机自动运行?

  • 1、进程管理中干掉dot net ,发现可以重新启动。以下是日志:

2016-07-09 12:24:18,626 INFO spawned: 'HelloWebApp' with pid 1774
2016-07-09 12:24:19,766 INFO success: HelloWebApp entered RUNNING state, process has stayed up for > than 1 seconds (startsecs)
2016-07-09 12:27:43,208 INFO exited: HelloWebApp (exit status 0; expected)
2016-07-09 12:27:44,223 INFO spawned: 'HelloWebApp' with pid 3687
2016-07-09 12:27:45,243 INFO success: HelloWebApp entered RUNNING state, process has stayed up for > than 1 seconds (startsecs)
  • 2、重启机器,发现可以自动运行。

“在Linux下怎么为dotnet创建守护进程”的内容就介绍到这里了,感谢大家的阅读。如果想了解更多行业相关的知识可以关注网站,小编将为大家输出更多高质量的实用文章!

内容来源网络,如有侵权,联系删除,本文地址:https://www.230890.com/zhan/156264.html

(0)

相关推荐

  • 怎么实现mysql读写分离

    技术怎么实现mysql读写分离这篇文章主要介绍“怎么实现mysql读写分离”,在日常操作中,相信很多人在怎么实现mysql读写分离问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”怎么实现my

    攻略 2021年11月18日
  • 祛蝇妙招,小窍门:驱赶苍蝇的最佳方法

    技术祛蝇妙招,小窍门:驱赶苍蝇的最佳方法1.风油精,相信现在很多人家里都有风油精,确实它是驱除苍蝇非常不错的帮手,只需要把风油精的瓶盖拧开,放在房间里面的角落里,这样就能轻松驱除苍蝇,不过位置最好不要放得太低,以免孩子可

    生活 2021年10月31日
  • c指針深入理解--指針和函數

    技术c指針深入理解--指針和函數 c指針深入理解--指針和函數一、程序的栈和堆:堆:-》栈-》程序栈-》栈幀(组织)-》函数返回地址-》局部数据存储-》参数存储-》栈指针和基指针1)栈指针:通常指向栈顶

    礼包 2021年12月24日
  • let、const、var的区别

    技术let、const、var的区别 let、const、var的区别1、var是ES5提出的,let和const是ES6提出的。
    2、const声明的是常量,必须赋值  1)一旦声明必须赋值,不能使用

    礼包 2021年12月5日
  • C++ std::function的简单实现以及函数指针

    技术C++ std::function的简单实现以及函数指针 C++ std::function的简单实现以及函数指针敢在简历里写“精通C++”或“熟练掌握C++”的人,都已经被面试官问死了……
    今天闲

    礼包 2021年10月27日
  • 提问的英文,对于价格的提问,用英语怎么说

    技术提问的英文,对于价格的提问,用英语怎么说对于价格的提问的英文:How muchmuch 读法 英 [mʌtʃ] 美 [mʌtʃ] 1、det./pron.(与不可数名词连用,尤用于否定句;或与how连用以询问数

    生活 2021年10月26日