码迷,mamicode.com
首页 > Web开发 > 详细

ASP.NET Core 发布 centos7 配置守护进程

时间:2018-03-24 16:30:02      阅读:945      评论:0      收藏:0      [点我收藏+]

标签:centos   update   web   问题   不能   空格   说明   kill -9   最新   

ASP.NET Core应用程序发布linux在putty中运行是正常的。可一但putty关闭网站也就关闭了,所以要配置守护进程, 用的是Supervisor,本文主要记录配置的过程和过程遇到的问题

安装 Supervisor 及配置 Supervisor

1.yum install python-setuptools
2.easy_install supervisor  #安装Supervisor
3.mkdir /etc/supervisor
4.echo_supervisord_conf > /etc/supervisor/supervisord.conf  #配置 Supervisor

4.配置

cd /etc/supervisor
ls

技术分享图片

supervisord.conf文件

5. 文件的最后

;[include]
;files = relative/directory/*.ini

改成(【注意】去掉;且不能有空格)

[include]
files = conf.d/*.conf

6.进入目录 /etc/supervisor/ 新建 conf.d文件夹,conf.d文件夹下新建 netcoreDemo.conf文件
内容(【注意】看 第二行 第三行的 注释,根据实际名字填入)

mkdir /etc/supervisor/conf.d    --创建conf.d文件夹
ls
cd conf.d
vi netcore.conf    --创建netcore文件并且向里面添加内容

技术分享图片

[program:netcore]
command=dotnet mhqtalks.dll ; (注意)运行程序的命令
directory= /home/netCore/ ; (注意 注意)对应的你的项目的存放目录,这个地方好多初学者搞错!!!
autorestart=true ; 程序意外退出是否自动重启
stderr_logfile=/var/log/WebApplication1.err.log ; 错误日志文件
stdout_logfile=/var/log/WebApplication1.out.log ; 输出日志文件
environment=ASPNETCORE_ENVIRONMENT=Production ; 进程环境变量
user=root ; 进程执行的用户身份
stopsignal=INT

运行supervisord并查看

7  supervisord -c /etc/supervisor/supervisord.conf 
8  ps -ef | grep netcore  # 这行命令是查看有关netcore的所有进程 ,【注意】netcore是上面 program:netcore 的命名 ,如果你看到如下图 ,说明运行成功,如果没有成功可以看上面配置的那个错误日志文件

技术分享图片

9  supervisorctl reload  #最后重新载入配置

配置Supervisor开机启动

打开目录 /usr/lib/systemd/system/ 新建文件 supervisord.service
内容:

# dservice for systemd (CentOS 7.0+)
# by ET-CS (https://github.com/ET-CS)
[Unit]
Description=Supervisor daemon

[Service]
Type=forking
ExecStart=/usr/bin/supervisord -c /etc/supervisor/supervisord.conf
ExecStop=/usr/bin/supervisorctl shutdown
ExecReload=/usr/bin/supervisorctl reload
KillMode=process
Restart=on-failure
RestartSec=42s

[Install]
WantedBy=multi-user.target

执行命令:

systemctl enable supervisord  
systemctl is-enabled supervisord #来验证是否为开机启动

到此,完工。现在重新电脑什么都不用管,直接可以访问部署好的网站。

下面整理一些关于 Supervisor 的命令 ,参考链接https://segmentfault.com

 

命令说明
supervisord 初始启动Supervisord,启动、管理配置中设置的进程
supervisorctl stop myproject 停止某一个进程(programxxx),programxxx为[program:chatdemon]里配置的值,这个示例就是chatdemon
supervisorctl start myproject 启动某个进程
supervisorctl restart myproject 重启某个进程
supervisorctl stop groupworker 重启所有属于名为groupworker这个分组的进程(start,restart同理)
supervisorctl stop all 停止全部进程,注:start、restart、stop都不会载入最新的配置文件
supervisorctl reload 载入最新的配置文件,停止原有进程并按新的配置启动、管理所有进程
supervisorctl update 根据最新的配置文件,启动新配置或有改动的进程,配置没有改动的进程不会受影响而重启。注意:显示用stop停止掉的进程,用reload或者update都不会自动重启

温馨提示:如果要结束某个守护进程,我们可以 ps -ef | grep supervisord 查出所有守护进程相关的进程

然后再用  kill -9 pid   结束进程

 

ASP.NET Core 发布 centos7 配置守护进程

标签:centos   update   web   问题   不能   空格   说明   kill -9   最新   

原文地址:https://www.cnblogs.com/mhq-martin/p/8639166.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!