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 tuweizhong@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:
root@045828eced5d:~/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, 就设置目录权限.