簡體   English   中英

使用mod_wsgi在apache上設置Django

[英]Setting up Django on apache with mod_wsgi

嘗試使用mod_wsgi在CentOS 6的Apache上設置Django,但是我不確定我的設置有誤。 我嘗試了很多不同的設置指南,但在apache日志中總是遇到相同的錯誤:

[Mon Mar 31 19:51:22 2014] [error] [client ::1] mod_wsgi (pid=39608): Target WSGI       script '/opt/django/movies/movies/wsgi.py' cannot be loaded as Python module.
[Mon Mar 31 19:51:22 2014] [error] [client ::1] mod_wsgi (pid=39608): Exception occurred processing WSGI script '/opt/django/movies/movies/wsgi.py
[Mon Mar 31 19:51:22 2014] [error] [client ::1] Traceback (most recent call last):
[Mon Mar 31 19:51:22 2014] [error] [client ::1]   File "/opt/django/movies/movies/wsgi.py", line 16, in <module>
[Mon Mar 31 19:51:22 2014] [error] [client ::1]     from django.core.wsgi import get_wsgi_application
[Mon Mar 31 19:51:22 2014] [error] [client ::1] ImportError: No module named wsgi

wsgi.py

import os
import sys

sys.path.append('/opt/django/movies/movies')
os.environ.setdefault("DJANGO_SETTINGS_MODULE", "settings")

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

/etc/httpd/conf/httpd.conf

<VirtualHost *:80>
WSGIScriptAlias / /opt/django/movies/movies/wsgi.py
ServerName localhost
DocumentRoot "/opt/django/movies"
<Directory /opt/django/movies/movies>
<Files wsgi.py>
Order deny,allow
Allow from all
</Files>
</Directory>

</VirtualHost>

mod_wsgi使用的Python安裝中安裝的Django版本是舊版本。 django.core.wsgi模塊並不總是存在。

您應該確定正在使用的Python安裝mod_wsgi並更新已安裝的Django。 看到:

順便說一句,不要將DocumentRoot設置為使Django項目位於該目錄下,這是邁向安全性問題的第一步,在此過程中,對Apache的輕微配置錯誤可能會暴露所有源代碼,包括帶有密碼的設置文件。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM