使用 Apache 和 mod_wsgi 在 Centos 上设置 Django
Posted
技术标签:
【中文标题】使用 Apache 和 mod_wsgi 在 Centos 上设置 Django【英文标题】:Setup Django on Centos with Apache and mod_wsgi 【发布时间】:2014-03-02 14:23:51 【问题描述】:我很难在 centos 上设置 mod_wsgi,我不断收到以下错误:
403 Forbidden 您无权访问此服务器上的 /。
-----服务器设置-----
Python Version: 2.6.6
Apache Version: 2.2.15
mod_wsgi: mod_wsgi-3.2-3.el6.x86_64
-----Apache 配置“httpd.conf”-----
LoadModule wsgi_module modules/mod_wsgi.so
WSGIScriptAlias / /home/prj1/prj1/wsgi.py
WSGIPythonPath /home/prj1
<Directory /home/prj1>
Order deny,allow
Allow from all
</Directory>
-----Django /home/prj1/prj1/wsgi.py-----
import os
import sys
sys.path.append('/home/prj1')
os.environ.setdefault("DJANGO_SETTINGS_MODULE", "prj1.settings")
from django.core.wsgi import get_wsgi_application
application = get_wsgi_application()
【问题讨论】:
你启用了 SELinux 吗? 这个 SELinux 导致了问题,现在问题解决了!谢谢!!! 【参考方案1】:禁用 SELinux 的快速解决方案
echo 0 > /selinux/enforce
【讨论】:
【参考方案2】:这对 SO 来说不是一个好问题,但无论如何:运行 apache 的用户是否有权访问 /home/prj1 目录?尝试做
chmod 755 -R /home/prgj1
作为根用户。
【讨论】:
我什至做过 chmod 777 -R /home/prj1,但这仍然不能解决问题。以上是关于使用 Apache 和 mod_wsgi 在 Centos 上设置 Django的主要内容,如果未能解决你的问题,请参考以下文章
在 linux 中使用 apache 和 mod_wsgi 配置 Python flask 应用程序
在生产中,Apache + mod_wsgi 还是 Nginx + mod_wsgi?
Apache + mod_wsgi 与 nginx + gunicorn
如何仅在一个进程中使用 mod_wsgi 和 django 运行 Apache?