配置文件如下
[program:api]environment=PATH="/project/absolute/path/venv/bin:%(ENV_PATH)s"command=gunicorn -b 127.0.0.1:4567 app:app
其他配置都省略了,这里面核心配置是『environment』,就是给要运行项目添加一个单独的环境变量,保证可以争取调用venv下的包。
附上全部配置文件:supervisord.conf
[unix_http_server]file=/tmp/supervisor.sock[supervisord]logfile=/opt/logs/supervisord.loglogfile_maxbytes=50MBlogfile_backups=10loglevel=infopidfile=/tmp/supervisord.pidnodaemon=falseminfds=1024minprocs=200[rpcinterface:supervisor]supervisor.rpcinterface_factory = supervisor.rpcinterface:make_main_rpcinterface[supervisorctl]serverurl=unix:///tmp/supervisor.sock[program:api]directory = /home/webuser/webapps/iteam/appenvironment=PATH="/home/webuser/webapps/iteam/app/venv/bin:%(ENV_PATH)s"command=gunicorn -b 127.0.0.1:4567 --access-logfile /home/webuser/logs/iteam/api-access.log --error-logfile /home/webuser/logs/iteam/api-error.log app:appuser=rootautostart=trueautorestart=trueredirect_stderr=falsestdout_logfile=/home/webuser/logs/iteam/api-stdout.logstderr_logfile=/home/webuser/logs/iteam/api-stderr.logstdout_logfile_maxbytes=50MBstdout_logfile_backups=10stdout_capture_maxbytes=1MBstdout_events_enabled=false