Issue using supervisor and uwsgi in conda env

一曲冷凌霜 提交于 2019-12-11 10:08:53

问题


I'm trying to run a Flask app with uwsgi + supervisor + nginx.

uwsgi is installed in a conda env, and I can run my app with no issue without supervisor, i.e. if I run (with my conda env activated):

uwsgi --ini /home/me/Development/flask/myflaskapp/myflaskapp.ini

with the following config:

/home/me/Development/flask/myflaskapp/myflaskapp.ini

[uwsgi]
chmod-socket = 666
socket = /home/me/Development/flask/myflaskapp/run/myflaskapp.sock
module = wsgi
callable = app

vim /etc/nginx/sites-available/myflaskapp

server {
    listen 8000;
    server_name localhost;
    client_max_body_size 50M;

    location / {
        include uwsgi_params;
        uwsgi_pass unix:/home/me/Development/flask/myflaskapp/run/myflaskapp.sock;
    }
}

Now I create a supervisor config file:

/etc/supervisor/conf.d/uwsgi-myflaskapp.conf

[program:uwsgi-myflaskapp]
command=/home/me/Development/miniconda/envs/myflaskapp/bin/uwsgi /home/me/Development/flask/myflaskapp/myflaskapp.ini
autostart=true
autorestart=true
stdout_logfile=/home/me/Development/flask/myflaskapp/log/uwsgi-myflaskapp.log
redirect_stderr=true
exitcodes=0

I start supervisor (installed system-wide) with

sudo service supervisor start

and load the conf file with

sudo supervisorctl reload

but I get the following error in the log file:

ImportError: No module named wsgi

Any suggestion?

Here's the complete log:

[uWSGI] getting INI configuration from /home/me/Development/flask/myflaskapp/myflaskapp.ini
*** Starting uWSGI 2.0.12 (64bit) on [Mon Jan 11 19:12:14 2016] ***
compiled with version: 4.8.4 on 11 January 2016 10:54:59
os: Linux-3.13.0-74-generic #118-Ubuntu SMP Thu Dec 17 22:52:10 UTC 2015
nodename: roquefort
machine: x86_64
clock source: unix
pcre jit disabled
detected number of CPU cores: 4
current working directory: /
detected binary path: /home/me/Development/miniconda/envs/myflaskapp/bin/uwsgi
uWSGI running as root, you can use --uid/--gid/--chroot options
*** WARNING: you are running uWSGI as root !!! (use the --uid flag) ***
*** WARNING: you are running uWSGI without its master process manager ***
your processes number limit is 63047
your memory page size is 4096 bytes
detected max file descriptor number: 1024
lock engine: pthread robust mutexes
thunder lock: disabled (you can enable it with --thunder-lock)
uwsgi socket 0 bound to UNIX address /home/me/Development/flask/myflaskapp/run/myflaskapp.sock fd 3
Python version: 2.7.11 |Continuum Analytics, Inc.| (default, Dec  6 2015, 18:08:32)  [GCC 4.4.7 20120313 (Red Hat 4.4.7-1)]
*** Python threads support is disabled. You can enable it with --enable-threads ***
Python main interpreter initialized at 0x18001e0
your server socket listen backlog is limited to 100 connections
your mercy for graceful operations on workers is 60 seconds
mapped 72760 bytes (71 KB) for 1 cores
*** Operational MODE: single process ***
ImportError: No module named wsgi
unable to load app 0 (mountpoint='') (callable not found or import error)
*** no app loaded. going in full dynamic mode ***
*** uWSGI is running in multiple interpreter mode ***
spawned uWSGI worker 1 (and the only) (pid: 24671, cores: 1)

回答1:


I added the the path of the wsgi.py file in /home/me/Development/flask/myflaskapp/myflaskapp.ini with

chdir = /home/me/Development/flask/myflaskapp

so that it can now find wsgi.



来源:https://stackoverflow.com/questions/34728434/issue-using-supervisor-and-uwsgi-in-conda-env

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!