Django的Apache conf配置

Posted Loid

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Django的Apache conf配置相关的知识,希望对你有一定的参考价值。

安装 apache2 和 mod_wsgi

sudo apt-get install apache2
 
# Python 2
sudo apt-get install libapache2-mod-wsgi
 
# Python 3
sudo apt-get install libapache2-mod-wsgi-py3

添加一个新的配置

cd /etc/apache2/sites-available/
vim hackone.conf

hackone.conf 内容

<VirtualHost *:8000>
    ServerName hackone.sb360.cf
    ServerAlias otherdomain.com
    ServerAdmin [email protected]163.com
  
  
  
    WSGIScriptAlias / /root/hack/hack/wsgi.py
    # WSGIDaemonProcess ziqiangxuetang.com python-path=/home/tu/blog:/home/tu/.virtualenvs/blog/lib/python2.7/site-packages
    # WSGIProcessGroup ziqiangxuetang.com
  
    <Directory /root/hack/hack>
    <Files wsgi.py>
        Require all granted
    </Files>
    </Directory>
</VirtualHost>

 

修改 apache2.conf 部分

vim /etc/apache2/apache2.conf

<Directory />
        Options FollowSymLinks
        AllowOverride None
        Allow from all // 这里是被修改的地方
</Directory>


 

修改 hack/hack/wsgi.py:

[email protected]:~/hack/hack# cat wsgi.py
"""
WSGI config for hack 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.9/howto/deployment/wsgi/
"""

from django.core.wsgi import get_wsgi_application
import os
from os.path import join, dirname, abspath

PROJECT_DIR = dirname(dirname(abspath(__file__)))  # 3
import sys  # 4

sys.path.insert(0, /root/hack/)  # 5
sys.path.append(/root/hack/)
os.environ.setdefault("DJANGO_SETTINGS_MODULE", "hack.settings")

application = get_wsgi_application()

 

如果重启apache后还是显示403 forbidden, 就设置目录权限.

 











以上是关于Django的Apache conf配置的主要内容,如果未能解决你的问题,请参考以下文章

apache_conf Linux片段

apache_conf 针对.htaccess的安全调整片段。

django专题—整合apache整合nginx

apache2 + django 路径问题

apache部署django出现403Forbidden错误怎么解决

apache_conf 强大的.htaccess片段,需要在最顶层使用RewriteEngine On