安裝python brew install python
html
安裝pipwget https://bootstrap.pypa.io/get-pip.py
sudo python get-pip.py
python
安裝supervisor pip install supervisor
redis
生成默認的配置文件 echo_supervisord_conf > /etc/supervisord.conf
mongodb
編輯配置文件 參考地址bootstrap
附個人配置文件 在默認的配置文件後面添加vim
[supervisord] nodaemon=true [program:redis] command=/usr/local/bin/redis-server /usr/local/etc/redis.conf autostart=true autorestart=true startsecs=3 [program:mongod] command=/usr/local/bin/mongod --dbpath /Users/weixuan/Database/mongodbdata autostart=true startsecs=3 autorestart=true
Supervisord
安裝完成後有兩個可用的命令行supervisor
和supervisorctl
常見的命令以下:ui
命令 | 說明 |
---|---|
supervisord | 初始啓動Supervisord,啓動、管理配置中設置的進程 |
supervisorctl stop programxxx | 中止某一個進程(programxxx),programxxx爲[program:chatdemon]裏配置的值,這個示例就是chatdemon |
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都不會自動重啓 |
supervisorctl tail programname
查看programname的日誌supervisorctl tail redis
查看日誌this
ERROR (abnormal termination)
命令行
解決辦法:supervisorctl tail programname
查看programname的具體日誌信息rest
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.
解決辦法:
sudo unlink /tmp/supervisor.sock
orsudo unlink /var/run/supervisor.sock
gave up: redis entered FATAL state, too many start retries too quickly
解決辦法:
修改redis.conf的daemonize爲no
brew安裝的redis,配置文件在 /usr/local/etc/redis.conf
小技巧:vim查找
# 要自當前光標位置向上搜索 /pattern #pattern 表示要搜索的特定字符序列 # 要自當前光標位置向下搜索 ?pattern # 精確查找 # 要查找單個的 place,請鍵入該單詞,並在其先後各加一個空格 / place
終止mongodb
正常:
use admin db.shutdownServer()
強制:
kill -9 pid