尽管runserver已经很接近于服务器的形式,但是并不能支持外网访问或很多人同时访问。因此需要将网站部署到服务器上,而django在本地使用runserver运行和部署到服务器在配置文件上是不同的,下面详细介绍下django部署前的准备工作。
关闭debug
首先为了安全起见,部署到服务器前需要关闭debug模式,即修改settings.py文件中的
DEBUG = False
TEMPLATE_DEBUG = False
当然,我们也可以重新建一个设置文件,如settings_production.py用于生产环境。在这个py文件中设置DEBUG为False。
DEBUG关闭后需要在修改ALLOWED_HOSTS = [ ‘127.0.0.1’ ]
当DEBUG= True时,默认使用的是django自带的404错误页面,同时页面中会显示具体的错误信息,可能会暴露隐私信息,因此需要关闭这一功能。关闭后如果出现404错误,django会在你的模版根目录中寻找名叫404.html的页面。因此,关闭了DEBUG功能后我们需要在根目录中添加有意义的404页面。
django在Debug功能关闭后就会自动停止staticfiles功能,因此这时候会发现runserver后网页中的静态文件都没有了。
到这一步的时候如果不需要部署到服务器上只想在电脑上测试可以使用命令python manage.py runserver –insecure网页中就会正确显示css,js等静态文件。
Apache + mod_wsgi
假定我们现在已经写好了网页,DEBUG也已经按上面的操作关闭了。下一步就是下载Apache和mod_wsgi。这里我用的是Apache2.4 和python3.4对应的mod_