.netCore3.0WebApi如何创建Linux守护进程-创新互联

这篇文章将为大家详细讲解有关.net Core 3.0 WebApi如何创建Linux守护进程,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。

创新互联专注为客户提供全方位的互联网综合服务,包含不限于网站建设、网站设计、牟平网络推广、小程序制作、牟平网络营销、牟平企业策划、牟平品牌公关、搜索引擎seo、人物专访、企业宣传片、企业代运营等,从售前售中售后,我们都将竭诚为您服务,您的肯定,是我们大的嘉奖;创新互联为所有大学生创业者提供牟平建站搭建服务,24小时服务热线:18980820575,官方网址:www.cdcxhl.com

前言


我们一般可以在Linux服务器上执行 dotnet 命令来运行我们的.net Core WebApi应用。但是这样运行起来的应用很不稳定,关闭终端窗口之后,应用也会停止运行。为了让其可以稳定运行,我们需要让它变成系统的守护进程,成为一种服务一直在系统中运行,出现异常时也能重新启动。


Linux系统有自己的守护进程管理工具 Systemd 。systemd 是内核启动后的第一个用户进程,PID 为1,是所有其它用户进程的父进程。它直接与内核交互,性能出色,可以提供用于启动、停止和管理进程的许多强大的功能。我们完全可以将程序交给 Systemd ,让系统统一管理,成为真正意义上的系统服务。


systemctl 用于管理 systemd 的行为,替换之前的 sysvinit 和 upstart。

创建服务文件


创建服务定义文件:

vim /etc/systemd/system/qf-intecabinet.service

以下是应用的一个示例服务文件:

[Unit]
Description=运行Qf.InteCabinet服务

[Service]
WorkingDirectory=/opt/InteCabinet # 依赖环境,可以指定多个
ExecStart=/usr/bin/dotnet /opt/InteCabinet/Qf.InteCabinet.WebApi.dll
Restart=always
# Restart service after 10 seconds if the dotnet service crashes:
RestartSec=10
KillSignal=SIGINT
SyslogIdentifier=qf-intecabinet
User=root # 管理服务的用户,用户必须存在并且拥有正确应用文件的所有权
Environment=ASPNETCORE_ENVIRONMENT=Production # 环境变量
Environment=DOTNET_PRINT_TELEMETRY_MESSAGE=false

[Install]
WantedBy=multi-user.target # 该服务所在的Target

管理服务


保存该文件并启用该服务

systemctl enable qf-intecabinet.service

启动该服务

systemctl start qf-intecabinet.service

查看服务状态

systemctl status qf-intecabinet.service

查看日志

journalctl -fu qf-intecabinet.service

使用时间选项(如 --since today、--until 1 hour ago)或这些选项的组合可以减少返回的条目数

journalctl -fu qf-intecabinet.service --since "2020-01-01" --until "2020-03-01 12:00"

关闭服务

systemctl stop qf-intecabinet.service

关于“.net Core 3.0 WebApi如何创建Linux守护进程”这篇文章就分享到这里了,希望以上内容可以对大家有一定的帮助,使各位可以学到更多知识,如果觉得文章不错,请把它分享出去让更多的人看到。


本文标题:.netCore3.0WebApi如何创建Linux守护进程-创新互联
分享路径:http://ybzwz.com/article/deghso.html