首页 > 自考资讯 > 自考知识

服务器主机进程,服务器进程有哪些

头条共创 2024-07-05

在运维Linux服务的过程中,遇到服务器崩溃、进程被人为杀掉、或者后台任务失败无法自动重启时,使用、nohup这些方法似乎不行?足够可靠或足够灵活。

服务连续性和可靠性始终是运维人员的首要任务。那么,有没有办法实时监控后台程序和关键服务的运行状态,保证其在后台可靠运行呢?今天我想向大家介绍——Supervisor,一个用Python开发的强大的进程管理程序。

8343499f4d8d4580acb82c5bf4b4d201~noop.image?_iz=58558&from=article.pc_detail&lk3s=953192f4&x-expires=1720781599&x-signature=EeETmOeikxc2lPOR%2FQJcdntDGLc%3D Supervisor是一个客户端/服务器系统,允许用户监视和控制基于UNIX的操作系统上的大量进程。 Supervisor 允许您实时监控进程执行情况、批量重启进程,并在程序挂起或服务器宕机时轻松提供自动进程恢复。创建一个shell 脚本来控制它。

Supervisor安装配置

1. 在Linux 上安装Supervisor 相对容易。

~ easy_install Supervisor 安装时,会生成三个可执行程序:supervisord、visorctl 和echo_supervisord_conf。它们分别是管理程序守护程序服务、客户端和初始化文件生成器。

Supervisor初始化配置文件:

~ echo_supervisord_conf /etc/supervisor/supervisord.conf 这里只需要做两处更改。最终结果将如下所示:

第一个是取消supervisorctl监听端口的注释。第二步是更改管理进程配置文件的目录。如果您想使用Supervisor来管理您的服务进程,只需将service.conf文件添加到相应的目录/etc/supervisord/中即可。

83be314a4828487a99e71912b70a8565~noop.image?_iz=58558&from=article.pc_detail&lk3s=953192f4&x-expires=1720781599&x-signature=mVetDmSr7Y1SJIRaevGeOPhBGYs%3D 启动supervisord。 这里-c指定启动supervisord的配置文件。

~ Supervisord -c /etc/supervisord/supervisor.conf 显示当前在Supervisord 上托管的进程。

~visorctl status 目前,我们还没有在/etc/supervisord/下设置service.conf文件,所以这里什么也没有显示。

2. 让我们开始在Supervisor 上托管服务(我们将使用Redis 和一个简单的后台ping 任务作为示例)

1)~vi /etc/supervisord/redis.conf 相关设置及注释如下图所示。这里启动了一个名为test-redis-6379 的Redis 服务。

ed60f150c35943329a7936a3a784af5c~noop.image?_iz=58558&from=article.pc_detail&lk3s=953192f4&x-expires=1720781599&x-signature=TI7czV8cin7d%2BintgckODrImrjE%3D 每次在Supervisor 上修改service.conf 文件时,必须运行以下命令来添加或修改服务:

~visorctl restart #读取托管服务配置文件~visorctl add test-redis-6379 #test-redis-6379 添加服务~visorctl status test-redis-6379 #显示服务状态2) ~ vi /etc/supervisord/ping.conf :010 -69503 显示所有托管服务的状态:

d8e0eb83fe1942889876354d9094544a~noop.image?_iz=58558&from=article.pc_detail&lk3s=953192f4&x-expires=1720781599&x-signature=%2ByRikR25Z4YugSGRptL0WrkSa2Y%3D3。测试是否可以杀死服务异常并继续服务。这里我们通过Supervisor 手动杀死所有服务。您将看到该服务立即被拉起并自动重新启动。

1d86471526dd4587a233af8ee9b4d373~noop.image?_iz=58558&from=article.pc_detail&lk3s=953192f4&x-expires=1720781599&x-signature=ehovVsAwGnyxOICfhaMiHnUuzIo%3D4。如果测试服务器崩溃并异常重启,则启动时会自动启动supervisor,以便通过supervisorctl启动托管服务,无论服务和脚本是否可以自动启动,都需要设置先决条件。

~ echo '/usr/bin/supervisord -c /etc/supervisord/supervisor.conf' /etc/rc.local da63c016a6474154a4383d489f889a5d~noop.image?_iz=58558&from=article.pc_detail&lk3s=953192f4&x-expires=1720781599&x-signature=O6T7JkTdYKg8yh7rG9CR3Tli7yQ%3D 服务器启动后,Supervisor 自动启动并连接任何托管的自定义服务Supervisor 提供了一个非常强大的工具。供运维人员管理特殊服务和脚本。您还可以考虑自己使用魔法的其他设置和方式。

fae59d62a82040afb1965f221ec83ff0~noop.image?_iz=58558&from=article.pc_detail&lk3s=953192f4&x-expires=1720781599&x-signature=B0ZULbLC%2B8E9s2nYgBFGCJVcyJQ%3D

版权声明:本文由今日头条转载,如有侵犯您的版权,请联系本站编辑删除。

猜你喜欢