使用 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?

使用 mod_wsgi 和 django 运行 Apache

初始化使用 Apache 和 mod_wsgi 运行的 Flask 应用程序