Centor 7 发布.net core 程序

Centor 7 发布.net core 程序

安装
yum install rh-dotnet21 -y
sudo yum update
sudo yum install dotnet-sdk-2.1
验证是否安装成功
dotnet --info

在防火墙配置中,开放80端口
firewall-cmd --zone=public --add-port=80/tcp --permanent
systemctl restart firewalld
Supervisor守护进程
yum install python-setuptools
请更换root用户,执行如下命令安装 Supervisor:
easy_install supervisor

mkdir /etc/supervisor
加载目录有了,然后通过echo_supervisord_conf程序(用来生成初始配置文件)来初始化一个配置文件:
echo_supervisord_conf > /etc/supervisor/supervisord.conf
打开supervisord.conf文件,可以看到echo_supervisord_conf已经帮我们初始化好了一个样例配置,我们需要简单修改一下。

编辑配置文件
vi /etc/supervisor/supervisord.conf
尾部找到如下文本片段:

;[include]
;files = relative/directory/.ini
改为:
[include]
files = conf.d/
.conf
即,把前面的分号去掉即可并设置/etc/supervisor/conf.d为 Supervisor 进程配置文件加载目录。

这样,Supervisor 会自动加载该目录下.conf后缀的文件作为共同服务配置。Supervisor 管理的每个进程单独写一个配置文件放在该目录下,supervisord.conf配置文件中保留公共配置。

创建进程配置加载目录:
mkdir /etc/supervisor/conf.d
接下来就需要为我们已经部署的 ASP .NET Core 程序的宿主进程创建一个进程配置文件test.conf,保存并上传到/etc/supervisor/conf.d目录。

或者通过vi 进行创建,注意该配置文件最好与站点名称保持一致。
[program:Test] ;自定义进程名称
command=dotnet HN.API.dll ;程序启动命令
directory=/home/HN ;命令执行的目录
autostart=true ;在Supervisord启动时,程序是否启动
autorestart=true ;程序退出后自动重启
startretries=5 ;启动失败自动重试次数,默认是3
startsecs=1 ;自动重启间隔
user=root ;设置启动进程的用户,默认是root
priority=999 ;进程启动优先级,默认999,值小的优先启动
stderr_logfile=/var/log/test.err.log       ;标准错误日志
stdout_logfile=/var/log/test.out.log       ;标准输出日志
environment=ASPNETCORE_ENVIRONMENT=Production ;进程环境变量
stopsignal=INT ;请求停止时用来杀死程序的信号

Supervisor安装留下来的坑
在启动Supervisor 服务之前要先修改supervisord.conf配置文件。我在没有修改配置文件之前就启动了Supervisor 服务,导致supervisorctl一直报错
修改如下图:
在这里插入图片描述

启动 Supervisor 服务,命令如下:
supervisord -c /etc/supervisor/supervisord.conf
使配置文件生效
supervisorctl -c /etc/supervisor/supervisord.conf reload

设置 Supervisor 开机启动
首先为 Supervisor 新建一个启动服务脚本supervisor.service,然后保存并上传至服务器/usr/lib/systemd/system/目录。
脚本内容如下:
[Unit]
Description=Supervisor daemon

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

[Install]
WantedBy=multi-user.target
设置开启启动:
systemctl enable supervisor
验证是否成功
systemctl is-enabled supervisor
如果输出enabled则表示设置成功,也可重启服务器验证。

遇到一个问题:unix:///var/run/supervisor/supervisor.sock no such file
查了百度,能用的方法都无法解决,最后的解决方案是用yum remove 卸载 supervisor,再重新安装,重启服务,解决问题。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值