问题:
安装的是jexus独立版,centos7上单独跑net core,自宿主程序是没有问题的,说明环境都搭建好了
我尝试用jexues配合net core 有个问题不明白:
jexus 配置:
AppHost={
CmdLine=dotnet /var/www/CoreDemo/Domo.dll;
AppRoot=/var/www/CoreDemo;
Port=5000
}
我必须,dotnet Demo.dll,让kestrel跑起来,然后才能通过ip访问这个程序,如果不手动执行,就无法访问,
提示:
502 BAD GATEWAY.
Http Host: 192.168.1.103:80
Site Port: 80
Site Name: CoreDemo
Application Port: 5000
Error Message: No such host is known
难道这个命令,CmdLine=dotnet /var/www/CoreDemo/Domo.dll 这个不是启动net core程序吗?
还有的是这样配置也行不通:CmdLine=/var/www/CoreDemo/Domo
不是说应用程序启动、停止、重启与站点的启动、停止、重启等操作一致都是由jexus管理的吗,只要配置了AppHost,无需手工管理asp.net core应用程序
我也尝试了很久,参考博客园很多大神之前写的文章,
还是说我配置有或者其他环境问题?请会的帮我分析和解释下,谢谢大家!!
配置好启动或者重启jexus的异常日志:
*** Error: Execvp: 'dotnet' failed. Errno:ENOENT, SiteName:CoreDemo
Cannot transition thread 0x7f4fffdfe700
from ASYNC_SUSPEND_REQUESTED with SUSPEND_INIT_REQUESTED
回答1:
可以试试 supervisor ,参考 进程管理supervisor的简单说明
asp.net core 应用配置实例(/etc/supervisor/conf.d/CoreDemo.conf):
[program:CoreDemo]
directory=/var/www/CoreDemo
command=dotnet /var/www/CoreDemo/Domo.dll
autostart=true
autorestart=true
stderr_logfile=/var/log/CoreDemo.err.log
stdout_logfile=/var/log/CoreDemo.out.log
environment=Hosting__Environment=Production
user=root
stopsignal=INT