Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/apache/9.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
为什么使用apache2、mod_wsgi、django在虚拟环境中和非特权用户的情况下页面挂起/超时_Django_Apache_Mod Wsgi - Fatal编程技术网

为什么使用apache2、mod_wsgi、django在虚拟环境中和非特权用户的情况下页面挂起/超时

为什么使用apache2、mod_wsgi、django在虚拟环境中和非特权用户的情况下页面挂起/超时,django,apache,mod-wsgi,Django,Apache,Mod Wsgi,当我转到52.1.65.249时,页面会挂起或超时。我有一个django项目,位于/home/usrbkto/bkto/projbkto的非root用户下 在运行Ubuntu14.04和Python2.7.8以及Ubuntu15.04和Python2.7.9的两台服务器上,我也遇到了同样的问题。我相信PyPi上的mod_wsgi是使用python2.7.8编译的,因此对于运行python2.7.9的服务器,我从Github下载并在服务器上使用python版本进行编译。在我一次更新所有包之前,一切

当我转到52.1.65.249时,页面会挂起或超时。我有一个django项目,位于/home/usrbkto/bkto/projbkto的非root用户下

在运行Ubuntu14.04和Python2.7.8以及Ubuntu15.04和Python2.7.9的两台服务器上,我也遇到了同样的问题。我相信PyPi上的mod_wsgi是使用python2.7.8编译的,因此对于运行python2.7.9的服务器,我从Github下载并在服务器上使用python版本进行编译。在我一次更新所有包之前,一切都很正常,所以我不确定是哪个包更新破坏了一切。我怀疑这与我没有正确使用mod_wsgi的新版本有关,但我不确定,我想让我的Django项目在非root用户下运行,而不访问Apache文件

我在/etc/apache2/sites available/bkto.conf上的自定义conf文件是:

WSGIScriptAlias / /home/usrbkto/bkto/projbkto/projbkto/wsgi.py
WSGIPythonHome /home/usrbkto/vent
WSGIPythonPath /home/usrbkto/bkto/projbkto

LogLevel info


<Directory /home/usrbkto/bkto/projbkto/projbkto>
<Files wsgi.py>
Require all granted
</Files>
</Directory>

Alias /media/ /home/usrbkto/bkto/projbkto/media/
Alias /static/ /home/usrbkto/bkto/projbkto/static/

<Directory /home/usrbkto/bkto/projbkto/static>
Require all granted
</Directory>

<Directory /home/usrbkto/bkto/projbkto/media>
Require all granted
</Directory>
位于/home/usrbkto/bkto/projbkto/projbkto/wsgi.py的wsgi.py文件是:

"""
WSGI config for projbkto project.

It exposes the WSGI callable as a module-level variable named ``application``.

For more information on this file, see
https://docs.djangoproject.com/en/1.7/howto/deployment/wsgi/
"""

import os
os.environ.setdefault("DJANGO_SETTINGS_MODULE", "projbkto.settings")

from django.core.wsgi import get_wsgi_application
application = get_wsgi_application()

PyPi的mod_wsgi版本是源代码,而不是二进制文件。说PyPi上的mod_wsgi是用特定的Python版本编译的是没有任何意义的,因为它们是在您自己的系统上使用任何Python版本编译的

无论如何,请阅读本文并尝试以下补救措施:

这是PythonC扩展导致的锁定的常见修复方法,这些扩展没有正确编码以在子解释器中工作

同时停止使用嵌入式模式,改用守护程序模式:


如果这些都没有帮助,请指出它是容易复制还是随机的。

您是对的,先生。我在bkto.conf中添加了
WSGIApplicationGroup%{GLOBAL}
,然后重启了apache,它成功了。非常感谢你。
"""
WSGI config for projbkto project.

It exposes the WSGI callable as a module-level variable named ``application``.

For more information on this file, see
https://docs.djangoproject.com/en/1.7/howto/deployment/wsgi/
"""

import os
os.environ.setdefault("DJANGO_SETTINGS_MODULE", "projbkto.settings")

from django.core.wsgi import get_wsgi_application
application = get_wsgi_application()