django生産環境導入(5):supervisorを使用してdaphneプロセスを管理する

2380 ワード

前の記事では、サービスを正常に導入できました.この記事では、daphneプロセスをよりよく管理するためにsupervisorを使用しています.
supervisorはpythonによって実装されたプロセス管理ツールで、管理されているプロセスが常に実行されていることを確認し、プロセスが一時的に中断するとsupervisordが自動的に再起動します.
インストールpip install supervisorプロファイルの生成
#            ,         ,      etc  
echo_supervisord_conf > supervisord.conf

プロファイルの構成を追加
[program:daphne]
directory=/home/arrow/bmxf  #    
command=daphne -b 127.0.0.1 -p 8991 --proxy-headers bmxf.asgi:application #    
autostart=true
autorestart=true
stdout_logfile=/tmp/websocket.log  #  
redirect_stderr=true

使用可能
supervisord -c supervisord.conf
supervisorctl start daphne
supervisorctl stop daphne			#   daphne

テスト後、websocketにエラーはありませんでした.転載:https://www.cnblogs.com/wdliu/p/10032180.html
supervisord.confファイルを変更した後はsupervisord -c supervisord.confできません
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/root/.virtualenvs/bmxf/bin/supervisord -h
試行unlink /tmp/supervisor.sockおよびunlink /var/run/supervisor.sock