go应用部署

应用部署

  • 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

你可能感兴趣的:(go应用部署)