今天在阿里云 Ubuntu 16.04 64位 上成功部署了django 2.1.7,总结如下:
1、主要过程,主要参考下面两篇文章:
https://code.ziqiangxuetang.com/django/django-deploy.html
https://www.jianshu.com/p/b40a4a12fff1
实际验证,都是正确的,不过文章中的命令有个小笔误。
2、部署过程中, 由于脚本出现了书写错误。
service apache2 reload
不成功,出现错误:
Job for apache2.service failed because the control process exited with error code. See “systemctl status apache2.service” and “journalctl -xe” for details.
解决方法,是:
首先运行:
systemctl status apache2.service
发现是 /etc/apache2/apache2.conf 语法错误
于是运行
apache2ctl configtest
其可明确指出是哪里配置错误
另外,还有网站还有错误,可以看
cat /var/log/apache2/error.log
3、自定义的数据库文件无法访问
之前用相对路径
DATABASE_FILE_NAME = 'db/house.db'
django报错:unable to open database file
在网上查了查,说要用绝对路径。经测试,换成绝对路径,确实有效。为了不失工程项目的灵活性,于是采用:
import os
from os.path import join,dirname,abspath
PROJECT_DIR = dirname(dirname(abspath(__file__)))
DATABASE_FILE_NAME = os.path.join(PROJECT_DIR, 'db/house.db')
动态生成路径,很好用~