在supervisor中配置的程序無法正常啟動
supervisorctl status
可以看到運作狀态,
cerebro FATAL Exited too quickly (process log may have details)
這裡的資訊太少,我們需要到具體的日志中檢視到底出了什麼問題。
tail -20 /var/log/supervisord.log
2017-08-07 13:23:36,829 INFO spawned: 'cerebro' with pid 16482
2017-08-07 13:23:36,863 INFO exited: cerebro (exit status 1; not expected)
2017-08-07 13:23:36,863 INFO gave up: cerebro entered FATAL state, too many start retries too quickly
這裡的資訊雖然多了些,但是并沒有實質性的内容。
到底啟動的時候發生了什麼呢
supervisorctl tail programname stdout
該指令是動态的輸出啟動程序時的輸出
/usr/bin/env: bash: Not a directory
發現環境變量沒有正确配置。
我其實已經在/etc/profile中配置了java的環境變量,但是沒有效果。
因為supervisor啟動時并不會加載/etc/profile 檔案。(設計本身)
但是supervisor 提供了一個配置參數enviroment
[program:cerebro]
environment = JAVA_HOME="/opt/jdk/"
co