CentOS&.NET Core初试-4-安装守护服务(Supervisor)

系列目录

  1. CentOS的安装和网卡的配置
  2. 安装.NET Core SDK和发布网站
  3. Nginx的安装和配置
  4. 安装守护服务(Supervisor)

Supervisor是什么?

Supervisor 是一个用 Python 写的进程管理工具,可以很方便的用来启动、重启、关闭进程(不仅仅是 Python 进程)。除了对单个进程的控制,还可以同时启动、关闭多个进程,比如很不幸的服务器出问题导致所有应用程序都被杀死,此时可以用 supervisor 同时启动所有应用程序而不是一个一个地敲命令启动。

Supervisor能干什么?

Supervisor帮助我们解决在开发过程中遇到的以下问题:

  • ASP.NET Core应用程序运行在shell之中,如果关闭shell则会发现ASP.NET Core应用被关闭,从而导致应用无法访问,这种情况当然是我们不想遇到的,而且生产环境对这种情况是零容忍的。
  • 如果ASP.NET Core进程意外终止那么需要人为连进shell进行再次启动,往往这种操作都不够及时。
  • 如果服务器宕机或需要重启我们则还是需要连入shell进行启动。

安装Supervisor

首先安装Python包管理工具(Supervisor使用Python开发的),然后再安装supervisor。

yum install python-setuptools
easy_install supervisor

supervisor安装完成后会生成三个执行程序:

  • supervisortd :supervisor的守护进程服务(用于接收进程管理命令)
  • supervisorctl :客户端(用于和守护进程通信,发送管理进程的指令)
  • echo_supervisord_conf :生成初始配置文件程序。

配置Supervisor

添加supervisor文件夹以及conf.d配置文件夹

mkdir /etc/supervisor
echo_supervisord_conf > /etc/supervisor/supervisord.conf
mkdir /etc/supervisor/conf.d

修改supervisord.conf文件,在文件尾部:

[include]
files=/etc/supervisor/conf.d/*.conf

启动Supervisor服务

supervisord -c /etc/supervisor/supervisord.conf

program的配置

在supervisor的conf.d文件夹下新建一个程序配置文件,hellocore.conf:

#配置程序名称
[program:hellocore]
#运行程序的命令
command=dotnet hellocore.dll
#命令执行的目录
directory=/home/hellocore/
#错误日志文件
stderr_logfile=/var/log/hellocore.err.log
#输出日志文件
stdout_logfile=/var/log/hellocore.out.log
#进程环境变量
environment=ASPNETCORE_ENVIRONMENT=Production
#进程执行的用户身份
user=root
#程序是否自启动
autostart=true
#程序意外退出是否自动重启
autorestart=true
#启动时间间隔(秒)
startsecs=5
stopsignal=INT

重载Supervisor的配置文件

supervisorctl reload #重新加载配置文件

客户端相关命令:

supervisorctl status #查看程序配置的状态
supervisorctl stop programname    #停止某一个程序配置
supervisorctl start programname   #加载某一个程序配置
supervisorctl restart programname #重新加载某一个程序配置
supervisorctl reload #重新加载配置
supervisorctl update

查看配置程序是否启动:

ps -ef | grep hellocore #programdllname

如下图,则Supervisor配置成功:

设置Supervisor开机启动

/usr/lib/systemd/system文件夹下新建supervisor.service配置文件,内容如下:

[Unit]
Description=supervisor
[Service]
Type=forking
ExecStart=/usr/bin/supervisord -c /etc/supervisor/supervisord.conf
ExecStop=/usr/bin/supervisorctl shutdown
ExecReload=/usr/bin/supervisorctl reload
KillMode=process
Restart=on-failure
RestartSec=42s
[Install]
WantedBy=multi-user.target

将服务设置为开机启动:

systemctl enable supervisor.service
systemctl start supervisor.service

supervisor开机启动服务配置成功

配置Supervisor图形化管理

打开supervisor的配置文件

vi /etc/supervisor/supervisord.conf

找到配置:

;[inet_http_server]         ; inet (TCP) server disabled by default
;port=127.0.0.1:9001        ; (ip_address:port specifier, *:port for all iface)
;username=user              ; (default is no username (open server))ls
;password=123               ; (default is no password (open server))

修改成:

[inet_http_server] ; inet (TCP) 服务,默认是关闭的
port=*:9001      ;ip:端口,*代表所有IP
username=root               ;登陆账号,可以不设
password=root123              ;登陆账户,可以不设

保存好修改后,重启supervisor。

supervisorctl reload

防火墙查看9001端口是否开启

firewall-cmd --list-ports #查看已开放的端口

开启端口:

firewall-cmd --zone=public  --add-port=9001/tcp --permanent
firewall-cmd --reload #重启防火墙

命令含义:

--zone #作用域
--add-port=9001/tcp  #添加端口,格式为:端口/通讯协议
--permanent  #永久生效,没有此参数重启后失效

成功访问:

原文地址:https://www.cnblogs.com/zerodai/p/9721524.html

时间: 2025-01-14 09:35:49

CentOS&.NET Core初试-4-安装守护服务(Supervisor)的相关文章

CentOS 7.0版本下安装SVN服务端示例

一.安装部署环境 VMBox虚拟机.CentOS 7系统.4G内存.20Gb存储空间 二.基础环境建立 1.安装VMBox虚拟机: 2.启动VMBox虚拟机,安装CentOS系统[安装过程略,注意root密码]. 3.启动CentOS系统,并登录root账号. 三.CentOS配置工程 配置CentOS网络,虚拟机CentOS可以访问外网.该步骤必须先配置DNS,否则联网更新.下载操作将会报错. 查询网络配置文件所在位置及名称:cd /etc/sysconfig/network-scripts/

CentOS&.NET Core初试-1-CentOS的安装和网卡的配置

软件环境 系统版本:CentOS Linux release 7.5.1804 (Core) 虚拟机:VMware 12pro(14Pro安装后会出现黑屏的情况) 安装CentOS 到CentOS的官网下载mini版的CentOS系统安装文件,最好选择国内的各大厂提供的镜像. 下载好系统安装文件后,根据常规步骤,在VMware上安装上一个CentOS系统的虚拟机. 配置网卡 找到网卡配置文件夹: cd /etc/sysconfig/network-scripts/ ls 编辑 ifcfg-cen

CentOS 7下源码安装zabbix服务

安装环境需要LAMP或者LNMP先搭建好 在此我使用上一篇搭建好的LNMP环境来安装zabbix 1.下载zabbix http://www.zabbix.com/download.php 2.安装及配置 1 ##先安装一下依赖 2 yum install net-snmp-devel libxml2-devel libcurl-devel 3 cd /usr/local/src 4 wget zabbix-2.4.8.tar.gz 5 tar zxvf zabbix-2.4.8.tar.gz

centos 安装memcache服务后memcahce本机连接Permission

自己手动在虚拟机下装了下memcache,整个过程真是充满波折,本身用php5.3安装memcache扩展就麻烦很多,无法通过yum直接安装,安装方法详见http://chenwei.me/blog/server/69.html,接下来安装memcache服务,安装成功后,telnet可以成功,不过好像不是立即成功生效,过一会用stats才会有详细显示. 本机用 <?php $mem = new Memcache; $mem->connect(‘192.168.124.129′,11211)

Centos安装nginx服务

到http://nginx.org/en/download.html下载最新版本的Nginx并安装. 一 下载并安装pcre库ftp://ftp.csx.cam.ac.uk/pub/software/programming/pcre/ tar zxvf pcre-8.30.tar.gz ./configure     make    make install 二 安装openssl yum -y install openssl openssl-devel 三 下载tcp_proxy_module

Centos安装vncserver服务

vnc是一款Windows远程桌面软件,其优点是支持跨操作系统的远程图形化控制.下面开始记录第一次安装vnc服务的过程. 1.先检查系统是否有安装VNC服务 [[email protected] ~]# [[email protected] ~]# rpm -qa | grep tigervnc 2.安装vnc服务 [[email protected] ~]# yum -y install tigervnc-server  //yum安装减少了很多不必要的麻烦 3.启动并设置密码 在第一次启动v

CentOS安装Samba服务

1.在线安装samba服务 # yum install samba samba-client samba-swat 2.备份samba 主配置文件,文件目录 /etc/samba/samba.conf # cp smb.conf smb.conf.backup 3.修改samba.conf配置文件 修改之后如下:其他没有显示的代码全部关掉 [global] netbios name = MDITIP_SERVER \\网络显示服务器名称 server string = Samba Server

CentOS 7 下安装 LEMP 服务(nginx、MariaDB/MySQL 和 php)

原文 CentOS 7 下安装 LEMP 服务(nginx.MariaDB/MySQL 和 php) LEMP 组合包是一款日益流行的网站服务组合软件包,在许多生产环境中的核心网站服务上起着强有力的作用.正如其名称所暗示的, LEMP 包是由 Linux.nginx.MariaDB/MySQL 和 PHP 组成的.在传统的 LAMP 包中使用的 Apache HTTP 协议服务器性能低下而且难于大规模集群,相比来说 nginx 的高性能及轻量级等特性,正是其的替代方案. MariaDB 是一款社

在CentOS下安装Ngix服务及集群PHP、Tomcat

资源下载地址:http://download.csdn.net/detail/attagain/7570597 一. Ngix依赖模块安装 Ngix依赖模块有:pcre.zlib.openssl.md5 /sha1(如果系统中没有安装相应模块,需要按照下列方式安装) 1. 安装pcre模块(8.35) 官方网站:http://www.pcre.org/ 安装命令: # unzip pcre-8.35.zip # cd pcre-8.35 # ./configure # make && ma