应用部署
- C语言可以采用daemon就可以完美的实现程序后台持续运行,目前Go还没法实现daemon。针对Go的应用程序部署,我们可以利用第三方工具来管理,第三方工具有很多,比如Supervisord,upstart,daemontools。
Supervisord
Supervisord是用Python实现的一款非常实用的进程管理工具,supervisord会帮你把管理的应用程序转成daemon程序,而且可以方便的通过命令开启,关闭,重启等操作,而且它管理的进程一旦崩溃会自动重启,这样可以保证程序执行中断后的情况下有自我修复功能
Supervisord安装
使用下面命令安装supervisord:pip install supervisor
部署
首先进入到src下的工程文件夹目录下执行:go install。会在bin文件夹下生成相应的执行文件
在任意文件夹中创建配置文件,比如demo.ini
文件内容如下所示
[supervisord]
# nodaemon=true
[supervisorctl]
# case 1: serverurl=http://127.0.0.1:9001
serverurl=unix:///tmp/supervisorctl.sock # case 2
[unix_http_server]
file=/tmp/supervisorctl.sock
[inet_http_server]
port=127.0.0.1:9001
[rpcinterface:supervisor]
supervisor.rpcinterface_factory = supervisor.rpcinterface:make_main_rpcinterface
[program:blogdemon]
command=此处填写go install产生的可执行文件路径
最后执行命令:supervisord -c 此处为配置文件的路径
若需要重新启动supervisord请执行命令:supervisorctl reload