物聯網應用遠端釋出說明
寫在前面
伺服器方案:supervisor+nginx
可部署:web應用、可執行的Linux後臺應用
語言環境:nodejs、php、golang、linux shell(特定使用者許可權)
面向物件:物聯網事業部開發人員(具備應用釋出平臺相應的登陸管理許可權)
釋出平臺說明
使用者登陸釋出平臺之後會有以下3個目錄可供操作

image.png
1.【deployment】目錄為專案釋出目錄
釋出後伺服器路徑為 /usr/local/software/deployment/****(專案目錄名稱)
2.【init.d_conf】為設定應用開機啟動目錄
- 複製模板檔案
- 參考下面配置檔案修改相應的引數(*引數為必選項)
- php、普通web應用不需要設定此目錄檔案(依賴於nginx+php自啟動)
- nodejs、golang等都需要在此目錄配置相應的自啟動檔案
[program:test]; 程式名稱test* ; directory = /usr/local/software/go/code/src/fe_brdd_zk; 程式的啟動目錄* ; command = npm run dev;nodejs 應用釋出dev 模式 ; command = /bin/bash -c 'source "$0" && exec "$@"' /etc/profile ./fe_brdd_zk;需要用到自定義系統環境變數的參照這條(如golang應用) command = tail -f /dev/null; 啟動命令,可以看出與手動在命令列啟動的命令是一樣的* autostart = true; 在 supervisord 啟動的時候也自動啟動 startsecs = 5; 啟動 5 秒後沒有異常退出,就當作已經正常啟動了 autorestart = true; 程式異常退出後自動重啟 startretries = 3; 啟動失敗自動重試次數,預設是 3 user = root; 用哪個使用者啟動 redirect_stderr = true; 把 stderr 重定向到 stdout,預設 false stdout_logfile_maxbytes = 20MB; stdout 日誌檔案大小,預設 50MB stdout_logfile_backups = 20; stdout 日誌檔案備份數 ; stdout 日誌檔案,需要注意當指定目錄不存在時無法正常啟動,所以需要手動建立目錄(supervisord 會自動建立日誌檔案) stdout_logfile = /usr/local/software/logs/test.log ; 日誌檔案* stopasgroup=false;預設為false,程序被殺死時,是否向這個程序組傳送stop訊號,包括子程序 killasgroup=false;預設為false,向程序組傳送kill訊號,包括子程序 ; ; ; 可以通過 environment 來新增需要的環境變數,一種常見的用法是修改 PYTHONPATH ; environment=PATH1="/usr/local/software/go/code/bin"
3.【nginx_conf】為nginx配置檔案目錄
- 複製模板檔案
- 參考下面配置檔案修改相應的引數(*引數為必選項)
- php、普通web應用不需要設定此目錄檔案(依賴於nginx+php自啟動)
- nodejs、golang等都需要在此目錄配置相應的自啟動檔案