這是一個建立於 的文章,其中的資訊可能已經有所發展或是發生改變。
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=rootcommand=/data/host/liudu/go/bin/appnameautostart=truestartsecs=10stdout_logfile=/data/host/liudu/golog/appname.log //此檔案需手動建立stdout_logfile_maxbytes=1MBstdout_logfile_backups=10stdout_capture_maxbytes=1MBstderr_logfile=/data/host/liudu/golog/appname.logstderr_logfile_maxbytes=1MBstderr_logfile_backups=10stderr_capture_maxbytes=1MBstopsignal=INT[supervisord]
command:表示啟動並執行命令,填入完整的路徑即可。autostart:表示是否跟隨supervisor一起啟動。autorestart:如果該程式掛了,是否重新啟動。stdout_logfile:終端標準輸出重新導向檔案。stderr_logfile:終端錯誤輸出重新導向檔案。
啟動服務
supervisord -c /etc/supervisord.conf.d/renmaiApi/conf
supervisord 管理
錯誤記錄
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.sockunlink /***/supervisor.sock