golang 的编译安装以及supervisord部署
2015-12-23 12:46
423 查看
go的编译
go的编译相对很简单,只需要一个命令即可完成,进入项目开发路径,输入go install <appName>
即可在bin文件夹下生成可执行文件 appName。此文件可直接运行。
备注:生成的可执行文件只包含go的程序文件,配置文件,views文件等需要拷贝过来,这样才能组成一个完整的运行程序。
go的部署
supervisord安装yum install setuptools //先安装工具 yum install supervisor
修改配置文件
vi /etc/supervisord.conf
将最后一行的代码改为
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
supervisord 管理
supervisord,初始启动Supervisord,启动、管理配置中设置的进程。supervisorctl stop programxxx,停止某一个进程(programxxx),programxxx为[program:appname]里配置的值,这个示例就是appname。
supervisorctl start programxxx,启动某个进程
supervisorctl restart programxxx,重启某个进程
supervisorctl stop groupworker: ,重启所有属于名为groupworker这个分组的进程(start,restart同理)
supervisorctl stop all,停止全部进程,注:start、restart、stop都不会载入最新的配置文件。
supervisorctl reload,载入最新的配置文件,停止原有进程并按新的配置启动、管理所有进程。
supervisorctl update,根据最新的配置文件,启动新配置或有改动的进程,配置没有改动的进程不会受影响而重启。
注意:显示用stop停止掉的进程,用reload或者update都不会自动重启。
错误记录
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
解决办法
find / -name supervisor.sock unlink /***/supervisor.sock
相关文章推荐
- Intent中的四个属性 action category data extras
- poj 2007 Scrambled Polygon 【极角排序】
- 如何更改WORDPRESS后台登录页面LOGO
- Google 搜索
- 论文笔记:going deeper with convolutions
- SSHException: Incompatible ssh peer (no acceptable kex algorithm)
- Google Map通过经纬度获取详细地址
- lanczos bidiagonalization(1)
- Good Bye2015,Hello 2016
- 类别(Categories)和扩展/匿名类别(extensions)及其延伸使用
- django中使用日志输出
- Django学习小结
- Go语言学习
- The 2015 China Collegiate Programming Contest G. Ancient Go hdu 5546
- 获取xml中backgound属性的statelistdrawable里drawable的方法
- Mongo 常用命令
- Go语言的管道Channel用法实例
- 银行家算法(Banker's Algorithm)
- Good Luck Charlie(听力恢复训练)
- ogg- 因为机器重启而停掉