Traceless

三.使用守护程序让NetCore项目活下来
开始 找一找流行的Linux守护程序,这里我们使用Supervisor进行进程守护和开机自启等操作 准备 XSh...
扫描右侧二维码阅读全文
22
2018/02

三.使用守护程序让NetCore项目活下来

开始

找一找流行的Linux守护程序,这里我们使用Supervisor进行进程守护和开机自启等操作

准备

  1. XShell 6(前面的文章中提到过)

安装并配置Supervisor

Supervisor是一个python编写的Linux守护程序,因此我们需要先进行python环境的安装。

#安装python包
yum install python-setuptools
#安装Supervisor
easy_install supervisor
#配置Supervisor
mkdir /etc/supervisor
echo_supervisord_conf > /etc/supervisor/supervisord.conf
#修改配置文件
vi /etc/supervisor/supervisord.conf

摁住i进入编辑模式,最后一行修改为

[include]
files=conf.d/*.conf
#进入目录
cd /etc/supervisor
#创建conf.d目录
mkdir conf.d
#进入目录
cd conf.d
#创建conf文件
touch LinuxNetCoreDemo.conf

conf内容如下:

[program:LinuxNetCoreDemo]
command=dotnet LinuxNetCoreDemo.dll
#下面是dotnetdll所在的目录
directory=/home/netcoreweb/
autorestart=true
stderr_logfile=/var/log/LinuxNetCoreDemo.err.log
stdout_logfile=/var/log/LinuxNetCoreDemo.out.log 
environment=ASPNETCORE_ENVIRONMENT=Production 
user=root
stopsignal=INT

运行supervisor

supervisord -c /etc/supervisor/supervisord.conf
#查看运行是否正常,此命令意思是按照关键字查找进程,dotenet会输出所有doetnet命令运行的进程,也可以输入dll名
ps -ef | grep dotnet
#修改了配置文件以后可以使用supervisorctl reload重新加载

断开Shell看看访问正常不!

Nice完美!

Supervisor开机启动

https://github.com/Supervisor/initscripts
获取对应系统的开机启动脚本

vi /lib/systemd/system/supervisord.service
#将脚本写入:内容如下
[Unit]
Description=Supervisor daemon
[Service]
Type=forking
ExecStart=/usr/bin/supervisord
ExecStop=/usr/bin/supervisorctl $OPTIONS shutdown
ExecReload=/usr/bin/supervisorctl $OPTIONS reload
KillMode=process
Restart=on-failure
RestartSec=42s
[Install]
WantedBy=multi-user.target
#保存,退出vi
#设置开机启动脚本开启
systemctl enable supervisord
#检查开机启动
systemctl is-enabled supervisord
#结果为enable证明已经开启

OJBK完美!

系列文章目录

一.在CentOS 7 VPS安装.netcore环境
二.把ASP.NET Core项目部署到Centos服务器上
三.使用守护程序让NetCore项目活下来

最后修改:2018 年 06 月 13 日 03 : 39 PM
如果觉得我的文章对你有用,请随意赞赏

发表评论