需求
某款前后端软件跑在阿里云服务器上,但当初的运维人员已离职,需要重新更新软件,为了找到当初它的配置实际情况,程序放在centos哪个目录下面,如何配置的自启服务,有没有用docker来部署。
- 检查是否安装了docker: docker --version 或者 yum list installed | grep docker。
- 查看nginx进程: ps -ef |grep nginx
- 查看jar进程: ps -ef | grep java
- 查看状态: systemctl status supervisord,它会显示所有它配置的运行服务。
supervisor介绍
supervisor是用Python开发的一套通用的进程管理程序,可以将一个普通的命令行进程变为后台daemon,并监控进程状态,异常退出时可以自动重启。
supervisor安装与配置
- redhat/centos系统上通过:yum install supervisor,通过这种方式安装后,自动设置为开机启动。
- 下面介绍 supervisord 配置方法。supervisord 的配置文件默认位于 /etc/supervisord.conf。
- 配置管理进程:进程管理配置参数,不建议全都写在supervisord.conf文件中,应该每个进程写一个配置文件放在include指定的目录下包含进supervisord.conf文件中。
创建/etc/supervisor/config.d目录,用于存放进程管理的配置文件,例如nginx.conf,sr_admin.conf,sr_api.conf
supervisord.conf的最后一行内容:
`[include]
files = /etc/supervisord.d/*.conf
supervisor常用命令
- 安装:yum install -y supervisor
- 开机重启: systemctl enable supervisord
- 启动: systemctl start supervisord
- 查看状态: systemctl status supervisord
- supervisorctl stop 进程名 关闭进程 (不会重新读取配置文件)
- supervisorctl stop 进程名:* 关闭某类进程
- supervisorctl stop all 关闭所有的进程
- supervisorctl start 进程名 开启进程 (不会重新读取配置文件)
- supervisorctl start 进程名:* 开启某类进程
- supervisorctl start all 开启所有的进程
- supervisorctl restart 进程名 重启进程 (不会重新读取配置文件)
- supervisorctl restart进程名:* 重启某类进程
- supervisorctl restart all 重启所有的进程
- supervisorctl reload 重启supervisord(更新所有服务的配置文件,并重启所有服务 )
- supervisorctl update 更新配置文件(重启配置文件有更新的进程,相当于 reread + restart,服务会使用新配置 )
- supervisorctl reread 只会更新配置文件 ,不会重启进程,服务实际未使用新配置