centos7 - ASP.NET Core 部署在centos上配置守护进程的一个问题

查看:800
本文介绍了centos7 - ASP.NET Core 部署在centos上配置守护进程的一个问题的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

问 题

ASP.NET Core应用程序运行在shell之中是正常的。但是shell关闭网站也就没了。所以要配置守护进程。

用的是Supervisor

/etc/supervisor/supervisord.conf的最后一行已经改为

;files = conf.d/*.conf

/etc/supervisor/conf.d/WebApplication4.conf中的配置代码

[program:WebApplication4]
command = dotnet WebApplication4.dll  #要执行的命令
directory = /home/wwwroot/WebApplication4/ ; #命令执行的目录
environment = ASPNETCORE__ENVIRONMENT=Production #环境变量
user = root  #进程执行的用户身份
stopsignal = INT
autostart = true #是否自动启动
autorestart = true #是否自动重启
startsecs = 1 #自动重启间隔
stderr_logfile = /var/log/WebApplication4.err.log ; #错误日志文件
stdout_logfile = /var/log/WebApplication4.out.log ; #输出日志文件

运行

supervisord -c /etc/supervisor/supervisord.conf

结果

执行

ps -ef | grep WebApplication4

只显示

root     23948 23672  0 12:46 pts/0    00:00:00 grep --color=auto WebApplication4

这么一条。没有dotnet

对应日志(我也不知有没有用)from /var/log/supervisor/supervisord.log

2017-06-05 22:31:50,023 CRIT Supervisor running as root (no user in config file)
2017-06-05 22:31:50,023 WARN No file matches via include "/etc/supervisord.d/*.ini"
2017-06-05 22:31:50,155 INFO RPC interface 'supervisor' initialized
2017-06-05 22:31:50,156 CRIT Server 'unix_http_server' running without any HTTP authentication checking
2017-06-05 22:31:50,159 INFO daemonizing the supervisord process
2017-06-05 22:31:50,159 INFO supervisord started with pid 1825
2017-06-05 22:35:40,411 CRIT Supervisor running as root (no user in config file)
2017-06-05 22:35:40,411 WARN No file matches via include "/etc/supervisord.d/*.ini"
2017-06-05 22:35:40,411 INFO RPC interface 'supervisor' initialized
2017-06-05 22:35:40,411 CRIT Server 'unix_http_server' running without any HTTP authentication checking
2017-06-05 22:35:40,412 INFO supervisord started with pid 1825
2017-06-05 22:50:51,008 CRIT Supervisor running as root (no user in config file)
2017-06-05 22:50:51,011 WARN No file matches via include "/etc/supervisord.d/*.ini"
2017-06-05 22:50:51,241 INFO RPC interface 'supervisor' initialized
2017-06-05 22:50:51,241 CRIT Server 'unix_http_server' running without any HTTP authentication checking
2017-06-05 22:50:51,244 INFO daemonizing the supervisord process
2017-06-05 22:50:51,244 INFO supervisord started with pid 1824

其他地方也找不到什么日志了……

可能问题在这里,但我已经无能为力了。

2017-06-06 15:31:08,767 CRIT Supervisor running as root (no user in config file)
2017-06-06 15:31:08,767 WARN No file matches via include "/etc/supervisord.d/*.ini"

试过重启Supervisor也没有用

supervisorctl reload

请问我应该怎么做才能使 dotnet WebApplication4.dll 在守护进程中运行起来?

参考资料

http://www.cnblogs.com/ants/p...
http://xiaorui.cc/2015/12/21/...

解决方案

要确保 配置文件 supervisord.conf 中的 dotnet WebApplication4.dll这条命令能够正确地跑起来。

直接运行这条命令显然是没用的……

另外删掉这两行,或者新建对应文件。

stderr_logfile = /var/log/WebApplication4.err.log ; #错误日志文件
stdout_logfile = /var/log/WebApplication4.out.log ; #输出日志文件

这篇关于centos7 - ASP.NET Core 部署在centos上配置守护进程的一个问题的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆