花费诸多时日,才调试通过,要点记录如下:
1.生成django项目
#django-admin.py startproject testproject
#python testproject/manage.py runserver 0.0.0.0:8000 //测试是否已在8000端口提供www服务
#python manage.py migrate //创建数据库 根据需要执行
2. 修改 /var/www/testproject/testproject/wsgi.py
import os
from os.path import join,dirname,abspath
import sys
PROJECT_DIR = dirname(dirname(abspath(__file__)))
sys.path.insert(0,PROJECT_DIR)
from django.core.wsgi import get_wsgi_application
os.environ.setdefault("DJANGO_SETTINGS_MODULE", "testproject.settings")
application = get_wsgi_application()
3. 修改 /var/apache2/ports.conf
增加一行:
Listen 8000
4. 创建文件 /etc/apache2/sites-available/testproject.conf
LoadModule wsgi_module /usr/lib/apache2/modules/mod_wsgi.so
<VirtualHost *:8000>
ServerName controller
Alias /static/ /var/www/testproject/static/
<Directory /var/www/testproject/static>
Require all granted
</Directory>
WSGIScriptAlias / /var/www/testproject/testproject/wsgi.py
<Directory /var/www/testproject/testproject>
<Files wsgi.py>
Require all granted
</Files>
</Directory>
</VirtualHost>
注意如果mod_wsgi.so文件不存在,这个命令安装:sudo apt-get install libapache2-mod-wsgi
5. 启动apache2服务
a2ensite testproject.conf
systemctl restart apache2
此外,如果需要增加项目下的应用,命令
django-admin startapp abc