Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/jpa/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
pythonvirtualenv(包装器)+uwsgi+nginx(再一次)_Python_Virtualenv_Uwsgi_Virtualenvwrapper - Fatal编程技术网

pythonvirtualenv(包装器)+uwsgi+nginx(再一次)

pythonvirtualenv(包装器)+uwsgi+nginx(再一次),python,virtualenv,uwsgi,virtualenvwrapper,Python,Virtualenv,Uwsgi,Virtualenvwrapper,好的,我知道有很多关于virtualenv+uwsgi+nginx的文章,我已经阅读了大约50篇,但我还没有完全阅读uwsgi文档 我的问题: 为什么这些选项都没有激活我要求它做的virtualenv [uwsgi] home = <path to python3 venv> venv = <path to python3 venv> virtualenv = <path to python3 venv> 成功:激活virtualenv,然后启动: $>

好的,我知道有很多关于virtualenv+uwsgi+nginx的文章,我已经阅读了大约50篇,但我还没有完全阅读uwsgi文档

我的问题:

为什么这些选项都没有激活我要求它做的virtualenv

[uwsgi]
home = <path to python3 venv>
venv = <path to python3 venv>
virtualenv = <path to python3 venv>
成功:激活virtualenv,然后启动:

$> workon django
(django) $> uwsgi --ini uwsgi.ini
*** Starting uWSGI 2.0.9 (64bit) on [Fri Feb 13 14:49:42 2015] ***
compiled with version: 4.8.2 on 13 February 2015 06:07:54
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: /opt/vEnvs3/django/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: 3.4.0 (default, Apr 11 2014, 13:08:40)  [GCC 4.8.2]
Set PythonHome to /opt/vEnvs3/django/
*** Python threads support is disabled. You can enable it with --enable-threads ***
Python main interpreter initialized at 0xe7fc00
your server socket listen backlog is limited to 100 connections
your mercy for graceful operations on workers is 60 seconds
mapped 218280 bytes (213 KB) for 2 cores
*** Operational MODE: preforking ***
WSGI app 0 (mountpoint='') ready in 1 seconds on interpreter 0xe7fc00 pid: 2682 (default app)
*** uWSGI is running in multiple interpreter mode ***
spawned uWSGI master process (pid: 2682)
spawned uWSGI worker 1 (pid: 2683, cores: 1)
spawned uWSGI worker 2 (pid: 2684, cores: 1)

在第一种情况下,您似乎要启动某种全局配置,可能是安装了sudo pip uwsgi的配置,如输出所示:

detected binary path: /usr/local/bin/uwsgi

它可能缺少python3插件来正确切换环境,一般来说,我发现从virtualenv使用uwsgi总是更简单-它只是工作得更频繁。真的,不用费心让整个系统工作,用你自己的。您需要在另一个配置中添加完整路径,但这几乎不是问题。只需启动/path/to/your/venv/bin/uwsgi,而不仅仅是uwsgi。

您可能应该在问题的标题、文本和标记中提到它是关于python 3的。这是一个相当大的区别。根据我的经验,2.7的相同设置也可以完美地工作。很好!因此,我可以直接运行venv uwsgi,它将使用该venv启动。似乎有效。Thnx.我读过的大多数文档都表明,基于.ini设置,系统范围内的uwsgi可以切换到venv。这不是真的吗?就像我说的,可能是插件问题,但谁知道呢?总之,uwsgi文档和整体设置的简单性,特别是在角落案例和不寻常的设置中,并不是它的强项。但一旦你设置好了,它就会坚如磐石,通常不会无缘无故地破裂。
detected binary path: /usr/local/bin/uwsgi