参考上一篇文章,试一下
感觉生成exe一直没有实现。
后来换成写了一个bat
使用命令:
dotnet XXX.dll
在写一个守护进程对这个进行守护,可以成功实现对netcore程序在windows下的守护
*********************************centos下如何守护dotnet程序*********************
安装supervisor
第一步:yum install epel-release
第二步:yum install -y supervisor
第三步:设置开机自启动
systemctl enable supervisord
systemctl disable supervisord
第四步:启动supervisord服务
systemctl start supervisord
systemctl stop supervisord
第五步:查看supervisord服务状态
systemctl status supervisord
第六步:查看是否存在supervisord进程
ps -ef|grep supervisord
*******************上面只能检测是否安装成功,想要他按照我们的思路工作,还需要在配置文件做一下功夫********
安装好supervisor后需要手动的生成配置文件
echo_supervisord_conf | sudo tee /etc/supervisord.conf
修改include
[include]
files = /etc/supervisor.d/*.conf
读取这里的配置文件
*********************网页管理,需要把配置文件修改一下*********
把;去掉,亏在这里,难怪一直失败。
在输入重启服务,端口出来了
网页可以登录,但是没有启动的服务,还需要继续检查一下原因,由于防火墙导致无法访问,关闭防火墙之后可以了。
看下面的配置文件,崩溃啊,居然没有把;去掉
[program:Webtt] command=dotnet /netcore/tt/Webtt.dll directory=/netcore/tt environment=ASPNETCORE__ENVIRONMENT=Production user=root stopsignal=INT autostart=true autorestart=true startsecs=3 stderr_logfile=/var/log/ossoffical.err.log stdout_logfile=/var/log/ossoffical.out.log
继续重启服务
systemctl restart supervisord
supervisord -c /etc/supervisord.conf #启动服务 supervisorctl reload #重新加载配置 supervisorctl shutdown #关闭 systemctl enable supervisord #开机启动 systemctl is-enabled supervisord #验证是否开机启动
**********************还有错误***************
使用systemctl status supervisord.service可以查看,发现是我的配置文件错误
通过对比,发现问题处在[]上面,为什么同样是[],但是他们的16进制的值缺不一样呢?
看下图,比较一下:这个是0x5B
下面的确实4个字节,为什么前面会多3个字节呢?无法理解啊,尝试把签名3个字节去掉
后来查明,原来前面3个字符是Utf-8自动添加的,我们这里需要修改一下编码格式。
修改格式为ansi之后,前面3个自己消失了。,再试一把。终于好了