适合生产环境部署(适合非docker环境部署)
Supervisor 是 Linux/Unix 系统下的一个进程管理工具,可靠稳定,很多著名框架的进程守护都推荐使用该软件。
安装 Supervisor
这里仅举例
CentOS系统下的安装方式:
# 安装 epel 源,如果此前安装过,此步骤跳过yum install -y epel-releaseyum install -y supervisor // 【ubutu】apt-get install supervisor
创建一个配置文件
cp /etc/supervisord.conf /etc/supervisord.d/supervisord.conf#编辑刚才新复制的配置文件vim /etc/supervisord.d/supervisord.conf# 在[include]节点前添加以下内容,保存[program:GoSkeleton]# 设置命令在指定的目录内执行directory=/home/wwwroot/GoProject2020/goskeleton/#例如,我们编译完以后的go程序名为:maincommand= /bin/bash -c ./mainuser=root# supervisor 启动时自动该应用autostart=true# 进程退出后自动重启进程autorestart=true# 进程持续运行多久才认为是启动成功startsecs = 5# 启动重试次数startretries = 3#指定日志目录(将原来在调试输出界面的内容统一写到指定文件)stdout_logfile=/home/wwwroot/GoProject2020/Storage/logs/out.logstderr_logfile=/home/wwwroot/GoProject2020/Storage/logs/err.log
配置 Supervisor 可视化管理界面
1.编辑配置文件 /etc/supervisord.d/supervisord.conf ,将以下注释打开即可。
[inet_http_server]port=0.0.0.0:9001#设置可视化管理账号username=user_name#设置可视化管理密码password=user_pass
启动 Supervisor
supervisord -c /etc/supervisord.d/supervisord.conf
使用 supervisorctl 命令管理项目
此时你也可以通过浏览器打开
ip:9001地址,输入账号、密码对应用程序进行可视化管理。
# 启动 Goskeleton 应用supervisorctl start Goskeleton# 重启 GoSkeleton 应用supervisorctl restart Goskeleton# 停止 GoSkeleton 应用supervisorctl stop Goskeleton# 查看所有被管理项目运行状态supervisorctl status# 重新加载配置文件,一般是增加了新的项目节点,执行此命令即可使新项目运行起来而不影响老项目supervisorctl update# 重新启动所有程序supervisorctl reload
