好的,我知道有很多virtualenv + uwsgi + nginx
篇文章,我已经阅读了大约50篇文章(我已经没有完全阅读了uWSGI文档)。
我的问题:
为什么这些选项中没有一个实际上activate
我要求它做的virtualenv?
[uwsgi]
home = <path to python3 venv>
venv = <path to python3 venv>
virtualenv = <path to python3 venv>
但是我尝试了,我无法从默认的uwsgi
启动python2.7
(安装并正常工作),并让它读取uwsgi.ini
,activate
{{1} 1}},并启动我的virtualenv
- 项目。 django
上还安装了uwsgi
。
所有其他内容(用户,群组和权限)和工作。
失败:从否 virtualenv
激活:
virtualenv
成功:激活$> uwsgi --ini uwsgi.ini
[uWSGI] getting INI configuration from uwsgi.ini
*** Starting uWSGI 2.0.9 (64bit) on [Fri Feb 13 14:48:03 2015] ***
compiled with version: 4.8.2 on 20 January 2015 14:01:30
os: Linux-3.13.0-43-generic #72-Ubuntu SMP Mon Dec 8 19:35:06 UTC 2014
nodename: intergate.io
machine: x86_64
clock source: unix
pcre jit disabled
detected number of CPU cores: 1
current working directory: /www/django/intergate_io
writing pidfile to /www/django/intergate_io/run/project-master.pid
detected binary path: /usr/local/bin/uwsgi
chdir() to /www/django/intergate_io
your processes number limit is 3750
your memory page size is 4096 bytes
detected max file descriptor number: 1024
lock engine: pthread robust mutexes
thunder lock: enabled
uwsgi socket 0 bound to UNIX address /www/django/intergate_io/run/socket.sock fd 3
Python version: 2.7.6 (default, Mar 22 2014, 23:03:41) [GCC 4.8.2]
Set PythonHome to /opt/vEnvs3/django/
ImportError: No module named site
,然后开始:
virtualenv
答案 0 :(得分:0)
在第一种情况下,您似乎正在启动某种全局(可能是一个安装了sudo pip
)uwsgi,如输出所示:
detected binary path: /usr/local/bin/uwsgi
可能缺少python3插件来正确切换环境,一般来说我发现从virtualenv使用uwsgi总是更简单 - 它只是更常用。真的,不要在尝试制作全系统的工作,而是使用自己的工作。您需要在一个更多的配置中添加完整路径,但这几乎不是问题。只需启动/path/to/your/venv/bin/uwsgi
,而不只是uwsgi
。