部署Django-Apache-Ubuntu 16.04

为了提高Django应用的安全和性能,在生产环境非常有必要使用Apache或Nginx,即使它本身就可以启动运行。

本帖介绍怎么在Python虚拟环境中安装配置Django,并和Apache集成。

Django集成到Apache有两种方式:python_mod和wsgi,后者相对于前者更加稳定,这里我们通过wsgi的方式来进行集成。mod_wsgi的Apache的一个模块,Apache可以通过WSGI接口和Django沟通。

全新的Ubuntu 16.04部署Django-Apache

# 安装配置Django

如果你使用Python2:

如果你使用Python3:

安装Python虚拟环境:

创建虚拟环境:

激活新虚拟环境:

安装django:

创建Django项目:

配置新项目:

为了简单我这里使用默认的SQLite数据库;配置静态文件目录,在文件尾添加:

初始化SQLite数据库:

为项目创建管理员用户:

把静态文件放到static目录:

上面命令在项目目录中创建了static目录。

如果开启了防火墙,打开8000端口:

测试Django项目,启动server:

使用浏览器访问:http://server_domain_or_IP:8000,你应该能看到如下页面:

部署Django-Apache-Ubuntu 16.04

使用浏览器访问:http://server_domain_or_IP:8000/admin,进入管理员登录接口:

部署Django-Apache-Ubuntu 16.04

使用前面创建的管理员用户登录:

部署Django-Apache-Ubuntu 16.04

Ctrl+C终止Django应用,然后退出Python虚拟环境。

#2 配置Apache

现在你应该有了一个可以正常工作的Django项目了,接下来配置Apache做为它的前端。

前面已经安装了mod_wsgi,编辑默认Virtual Host配置文件:

所有static的请求映射到Django项目的/static目录,在VirtualHost块中添加:

配置apache有访问项目目录中wsgi.py的权限:

Django建议使用daemon模式运行WSGI进程,配置WSGIDaemonProcess:

注意替换上面的Python虚拟环境路径和项目路径。

部署Django-Apache-Ubuntu 16.04

修正一些目录和文件权限:

如果你配置了防火墙,开启80、443端口:

检查Apache配置文件是否有语法错误:

如果没有语法错误,重启Apache:

现在使用浏览器访问 http://your_doamin_or_IP/admin/ 测试Apache-Django部署是否成功:

部署Django-Apache-Ubuntu 16.04

后续:配置Apache使用SSL证书或Let’s Encrypt免费证书。

到此,完成Django-Apache的部署。

相关文章

《部署Django-Apache-Ubuntu 16.04》有1个想法

发表评论

电子邮件地址不会被公开。 必填项已用*标注