一連のPythonアプリをスーパーバイザーから実行しようとしています。MacOSXでは問題なく動作しますが、Ubuntuで同じアプリを実行しようとすると、スーパーバイザーがアクティブになっていないようですvirtualenvなので、スクリプトがエラーをスローしています。
これが私の構造です:
/home/user/Sites/my-site
- app.py
- venv
- supervisor.conf
私のsupervisor.confファイルは次のようになります。
[program:python-app]
autorestart = false
autostart = false
startsecs = 0
command = python app.py
startretries = 1
environment=PYTHONPATH="%(here)s"
[unix_http_server]
file = /tmp/supervisor.sock
[supervisord]
logfile = logs/supervisord.log
pidfile = logs/supervisord.pid
environment=PYTHONPATH="%(here)s"
[supervisorctl]
serverurl = unix:///tmp/supervisor.sock
[rpcinterface:supervisor]
supervisor.rpcinterface_factory = supervisor.rpcinterface:make_main_rpcinterface
[unix_http_server]
username = supervisor_admin
password =
[inet_http_server]
username = supervisor_admin
password =
port = *:9001
スーパーバイザーが仮想環境内でpythonアプリを実行するようにするにはどうすればよいですか?
指定するコマンドは、仮想環境内でpython
バイナリを使用する必要があります。
command = /home/user/Sites/my-site/venv/bin/python /home/user/Sites/my-site/app.py