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

在Linux上用supervisor运行ASP.NET Core站点的一个坑

时间:2016-07-09 19:17:11      阅读:190      评论:0      收藏:0      [点我收藏+]

标签:

将一个ASP.NET Core站点在Linux服务器上以self-contained部署方式发布出来后,直接在终端上运行下面的命令,站点可以正常运行。

/data/AboutUs/bin/Debug/netcoreapp1.0/ubuntu.14.04-x64/publish/AboutUs

但是通过supervisor以服务方式运行却失败:

# supervisorctl status
aboutus                          FATAL      Exited too quickly (process log may have details)

查看错误日志发现是因为找不到appsettings.json文件:

# supervisorctl tail aboutus
‘appsettings.json‘ was not found and is not optional.
   at Microsoft.Extensions.Configuration.FileConfigurationProvider.Load(Boolean reload)

可appsettings.json文件明明就在那里。

在supervisor中是这样配置这个服务的( /etc/supervisor/conf.d/aboutus.conf ):

[program:aboutus]
command=/data/AboutUs/bin/Debug/netcoreapp1.0/ubuntu.14.04-x64/publish/AboutUs
autostart=true
autorestart=true
stderr_logfile=/var/log/aboutus.err.log
stdout_logfile=/var/log/aboutus.out.log
environment=Hosting__Environment=Production
user=root
stopsignal=INT
redirect_stderr=true

和在终端中运行的命令没区别,为什么在supervisor中以服务运行就不行呢?

。。。

后来想到,既然找不到appsettings.json文件,肯定是没在"/data/AboutUs/bin/Debug/netcoreapp1.0/ubuntu.14.04-x64/publish"这个路径中找,那我把当前路径设为这个路径也许能解决问题,于是在"/etc/supervisor/conf.d/aboutus.conf"添加了如下的1行配置:

directory=/data/AboutUs/bin/Debug/netcoreapp1.0/ubuntu.14.04-x64/publish

重启supervisor服务之后,问题解决。

# service supervisor restart
Restarting supervisor: supervisord.
# supervisorctl status
aboutus                          RUNNING    pid 1941, uptime 0:00:02

在Linux上用supervisor运行ASP.NET Core站点的一个坑

标签:

原文地址:http://www.cnblogs.com/dudu/p/5656315.html

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