我正尝试使用uwsgi + supervisor + nginx运行Flask应用程序。
uwsgi安装在conda env中,我可以在没有主管的情况下运行我的应用程序,即如果我运行(激活我的conda env):
uwsgi --ini /home/me/Development/flask/myflaskapp/myflaskapp.ini使用以下配置:
/home/me/Development/flask/myflaskapp/myflaskapp.ini
[uwsgi] chmod-socket = 666 socket = /home/me/Development/flask/myflaskapp/run/myflaskapp.sock module = wsgi callable = appvim / 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; } }现在我创建一个管理员配置文件:
/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我启动主管(在系统范围内安装)
sudo service supervisor start并加载conf文件
sudo supervisorctl reload但是在日志文件中出现以下错误:
ImportError: No module named wsgi任何建议?
这是完整的日志:
[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)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.iniwith 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 = appvim /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=0I start supervisor (installed system-wide) with
sudo service supervisor startand load the conf file with
sudo supervisorctl reloadbut I get the following error in the log file:
ImportError: No module named wsgiAny 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)最满意答案
我在/home/me/Development/flask/myflaskapp/myflaskapp.ini添加了wsgi.py文件的路径
chdir = /home/me/Development/flask/myflaskapp以便它现在可以找到wsgi。
I added the the path of the wsgi.py file in /home/me/Development/flask/myflaskapp/myflaskapp.ini with
chdir = /home/me/Development/flask/myflaskappso that it can now find wsgi.
更多推荐
发布评论