2014-06-10 209 views
0

我正在尝试用Apache和mod_wsgi为django应用程序部署django。我已经为配置选择了this,并遵循“使用mod_wsgi守护进程模式”进行配置。用Apache和mod_wsgi部署django时出错

这里面/etc/httpd/conf.d我的Apache虚拟主机congfiguration文件

<VirtualHost *:80> 
ServerName test.uws.com 
ErrorLog /home/visho/http_error.log 
WSGIDaemonProcess visho.uws.com python-path=/home/visho/vishoweb:/home/visho/vishoweb/venv/lib/python2.6 
WSGIScriptAlias//home/visho/vishoweb/visho_website/wsgi.py 
WSGIProcessGroup visho.uws.com 
Alias /static /home/visho/static/ 
Alias /vishofiles /home/visho/ 
<Directory /home/visho/vishoweb/visho_website> 
    <Files wsgi.py> 
     Order deny,allow 
     Allow from all 
    </Files> 
</Directory> 
</VirtualHost> 

请看这里提到的路径内容。

的ls -l /家庭/ visho/vishoweb

drwxr-xr-x 3 visho visho 4096 Jun 10 07:39 adminuser 
-rw-r--r-- 1 visho visho 256 Jun 10 06:12 manage.py 
-rw-r--r-- 1 visho visho 75 Jun 10 06:12 requirements.txt 
drwxr-xr-x 5 visho visho 4096 Jun 10 07:23 venv 
drwxr-xr-x 2 visho visho 4096 Jun 10 10:36 visho_website 

ls -l命令/home/visho/vishoweb/venv/lib/python2.6

lrwxrwxrwx 1 visho visho 39 Jun 10 07:23 _abcoll.py -> /opt/python2.6/lib/python2.6/_abcoll.py 
-rw-r--r-- 1 visho visho 24369 Jun 10 07:23 _abcoll.pyc 
lrwxrwxrwx 1 visho visho 35 Jun 10 07:23 abc.py -> /opt/python2.6/lib/python2.6/abc.py 
-rw-r--r-- 1 visho visho 6412 Jun 10 07:23 abc.pyc 
lrwxrwxrwx 1 visho visho 38 Jun 10 07:23 codecs.py -> /opt/python2.6/lib/python2.6/codecs.py 
-rw-r--r-- 1 visho visho 39635 Jun 10 07:23 codecs.pyc 
lrwxrwxrwx 1 visho visho 35 Jun 10 07:23 config -> /opt/python2.6/lib/python2.6/config 
lrwxrwxrwx 1 visho visho 40 Jun 10 07:23 copy_reg.py -> /opt/python2.6/lib/python2.6/copy_reg.py 
-rw-r--r-- 1 visho visho 5519 Jun 10 07:23 copy_reg.pyc 
drwxr-xr-x 2 visho visho 4096 Jun 10 07:23 distutils 
lrwxrwxrwx 1 visho visho 38 Jun 10 07:23 encodings -> /opt/python2.6/lib/python2.6/encodings 
lrwxrwxrwx 1 visho visho 39 Jun 10 07:23 fnmatch.py -> /opt/python2.6/lib/python2.6/fnmatch.py 
-rw-r--r-- 1 visho visho 3765 Jun 10 07:23 fnmatch.pyc 
lrwxrwxrwx 1 visho visho 43 Jun 10 07:23 genericpath.py -> /opt/python2.6/lib/python2.6/genericpath.py 
-rw-r--r-- 1 visho visho 3602 Jun 10 07:23 genericpath.pyc 
lrwxrwxrwx 1 visho visho 40 Jun 10 07:23 lib-dynload -> /opt/python2.6/lib/python2.6/lib-dynload 
lrwxrwxrwx 1 visho visho 41 Jun 10 07:23 linecache.py -> /opt/python2.6/lib/python2.6/linecache.py 
-rw-r--r-- 1 visho visho 3454 Jun 10 07:23 linecache.pyc 
lrwxrwxrwx 1 visho visho 38 Jun 10 07:23 locale.py -> /opt/python2.6/lib/python2.6/locale.py 
-rw-r--r-- 1 visho visho  0 Jun 10 07:23 no-global-site-packages.txt 
lrwxrwxrwx 1 visho visho 38 Jun 10 07:23 ntpath.py -> /opt/python2.6/lib/python2.6/ntpath.py 
-rw-r--r-- 1 visho visho 14 Jun 10 07:23 orig-prefix.txt 
lrwxrwxrwx 1 visho visho 34 Jun 10 07:23 os.py -> /opt/python2.6/lib/python2.6/os.py 
-rw-r--r-- 1 visho visho 28085 Jun 10 07:23 os.pyc 
lrwxrwxrwx 1 visho visho 41 Jun 10 07:23 posixpath.py -> /opt/python2.6/lib/python2.6/posixpath.py 
-rw-r--r-- 1 visho visho 11901 Jun 10 07:23 posixpath.pyc 
lrwxrwxrwx 1 visho visho 34 Jun 10 07:23 re.py -> /opt/python2.6/lib/python2.6/re.py 
-rw-r--r-- 1 visho visho 13815 Jun 10 07:23 re.pyc 
drwxr-xr-x 7 visho visho 4096 Jun 10 07:23 site-packages 
-rw-r--r-- 1 visho visho 27552 Jun 10 07:23 site.py 
-rw-r--r-- 1 visho visho 25395 Jun 10 07:23 site.pyc 
lrwxrwxrwx 1 visho visho 43 Jun 10 07:23 sre_compile.py -> /opt/python2.6/lib/python2.6/sre_compile.py 
-rw-r--r-- 1 visho visho 11917 Jun 10 07:23 sre_compile.pyc 
lrwxrwxrwx 1 visho visho 45 Jun 10 07:23 sre_constants.py -> /opt/python2.6/lib/python2.6/sre_constants.py 
-rw-r--r-- 1 visho visho 6248 Jun 10 07:23 sre_constants.pyc 
lrwxrwxrwx 1 visho visho 41 Jun 10 07:23 sre_parse.py -> /opt/python2.6/lib/python2.6/sre_parse.py 
-rw-r--r-- 1 visho visho 20843 Jun 10 07:23 sre_parse.pyc 
lrwxrwxrwx 1 visho visho 35 Jun 10 07:23 sre.py -> /opt/python2.6/lib/python2.6/sre.py 
lrwxrwxrwx 1 visho visho 36 Jun 10 07:23 stat.py -> /opt/python2.6/lib/python2.6/stat.py 
-rw-r--r-- 1 visho visho 3013 Jun 10 07:23 stat.pyc 
lrwxrwxrwx 1 visho visho 37 Jun 10 07:23 types.py -> /opt/python2.6/lib/python2.6/types.py 
-rw-r--r-- 1 visho visho 2806 Jun 10 07:23 types.pyc 
lrwxrwxrwx 1 visho visho 40 Jun 10 07:23 UserDict.py -> /opt/python2.6/lib/python2.6/UserDict.py 
-rw-r--r-- 1 visho visho 10287 Jun 10 07:23 UserDict.pyc 
lrwxrwxrwx 1 visho visho 40 Jun 10 07:23 warnings.py -> /opt/python2.6/lib/python2.6/warnings.py 
-rw-r--r-- 1 visho visho 13745 Jun 10 07:23 warnings.pyc 

的ls -l /家/ visho/vishoweb/visho_website

-rw-r--r-- 1 visho visho 0 Jun 10 06:12 __init__.py 
-rw-r--r-- 1 visho visho 145 Jun 10 07:39 __init__.pyc 
-rw-r--r-- 1 visho visho 2599 Jun 10 07:38 settings.py 
-rw-r--r-- 1 visho visho 2767 Jun 10 07:39 settings.pyc 
-rw-r--r-- 1 visho visho 492 Jun 10 06:12 urls.py 
-rwxr-xr-x 1 visho visho 400 Jun 10 10:36 wsgi.py 

配置Apache,当我的签apache的语法运行httpd -t后,它说一切好。

但是,当我重新加载Apache我收到以下错误。请看看它,并帮助我解决这个问题,因为我是初学者,我不知道发生了什么问题。

这是日志

[Tue Jun 10 10:51:48 2014] [error] Traceback (most recent call last): 
[Tue Jun 10 10:51:48 2014] [error] File "/home/visho/vishoweb/visho_website/wsgi.py", line 9, in <module> 
[Tue Jun 10 10:51:48 2014] [error]  import os 
[Tue Jun 10 10:51:48 2014] [error] ImportError: No module named os 
[Tue Jun 10 10:53:13 2014] [error] mod_wsgi (pid=7192): Unable to import 'site' module. 
[Tue Jun 10 10:53:27 2014] [error] mod_wsgi (pid=7192): Unable to import 'site' module. 
[Tue Jun 10 10:53:27 2014] [error] [client 14.141.33.202] mod_wsgi (pid=7192): Target WSGI script '/home/visho/vishoweb/visho_website/wsgi.py' cannot be loaded as Python module. 
[Tue Jun 10 10:53:27 2014] [error] [client 14.141.33.202] mod_wsgi (pid=7192): Exception occurred processing WSGI script '/home/visho/vishoweb/visho_website/wsgi.py'. 

请注意,这是我的/home/visho/vishoweb/visho_website/wsgi.py内容。

WSGI config for visho_website 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.6/howto/deployment/wsgi/ 
""" 
import os 
os.environ.setdefault("DJANGO_SETTINGS_MODULE", "visho_website.settings") 

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

回答

-2

我唯一能看到丢失的是虚拟主机配置中的DocumentRoot。试试你的虚拟主机的Directory部分

+0

请不要暗示有人应该设置DocumentRoot来引用包含其源代码的目录。这是导致他们出现安全问题的一个步骤。如果WSGIScriptAlias现在被删除了,那么它们的源代码将是可下载的。 –

+0

谢谢你的格雷厄姆 – hellsgate

相关问题