zoukankan      html  css  js  c++  java
  • golang 的编译安装以及supervisord部署

    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
    
    
  • 相关阅读:
    异步-promise、async、await
    node
    node基础 day1
    gulp的简介以及使用方法
    web前端安全——常见的web攻击方法
    Linux修改IP地址
    在linux下批量删除文件
    常用内容的正则表达式
    Oracle 数据库自带用户有哪些
    统计Oracle数据库当前User下各表的记录数
  • 原文地址:https://www.cnblogs.com/spnt/p/5069554.html
Copyright © 2011-2022 走看看