go的编译相对很简单,只须要一个命令便可完成,进入项目开发路径,输入app
go install <appName>
便可在bin文件夹下生成可执行文件 appName。此文件可直接运行。
备注:生成的可执行文件只包含go的程序文件,配置文件,views文件等须要拷贝过来,这样才能组成一个完整的运行程序。工具
yum install setuptools //先安装工具 yum install supervisor
vi /etc/supervisord.conf
将最后一行的代码改成this
files = /etc/supervisord.conf.d/*.conf
vi /etc/supervisord.conf.d/appname.conf
[program:appname] user=root command=/data/host/liudu/go/bin/appname autostart=true startsecs=10 stdout_logfile=/data/host/liudu/golog/appname.log //此文件需手动建立 stdout_logfile_maxbytes=1MB stdout_logfile_backups=10 stdout_capture_maxbytes=1MB stderr_logfile=/data/host/liudu/golog/appname.log stderr_logfile_maxbytes=1MB stderr_logfile_backups=10 stderr_capture_maxbytes=1MB stopsignal=INT [supervisord]
command:表示运行的命令,填入完整的路径便可。 autostart:表示是否跟随supervisor一块儿启动。 autorestart:若是该程序挂了,是否从新启动。 stdout_logfile:终端标准输出重定向文件。 stderr_logfile:终端错误输出重定向文件。
supervisord -c /etc/supervisord.conf.d/renmaiApi/conf
supervisorctl update,根据最新的配置文件,启动新配置或有改动的进程,配置没有改动的进程不会受影响而重启。rest
注意:显示用stop中止掉的进程,用reload或者update都不会自动重启。code
Error: Another program is already listening on a port that one of our HTTP servers is configured to use. Shut this program down first before starting supervisord. For help, use /usr/bin/supervisord -h
解决办法server
find / -name supervisor.sock unlink /***/supervisor.sock