基于Linux环境的Django网站部署方法

Django是基于Python语言开发的一个开源的Web开发框架,它鼓励快速开发,并遵循MVC设计理念,是当今较为流行web开发框架之一。本文介绍在腾讯云服务器上部署Django网站的详细步骤。

一、搭建基础环境

Django是基于Python语言开发的一个开源的Web开发框架,它鼓励快速开发,并遵循MVC设计理念,是当今较为流行web开发框架之一。本文介绍在腾讯云服务器上部署Django网站的详细步骤。

1.1安装镜像

使用云服务器部署系统的最大好处就是可以利用镜像快速搭建操作系统及其相关的基础环境。本例中,我们选择“Python多版本运行环境”镜像安装服务器。该镜像包含Centos 7.4 64位操作系统,同时还集成了Python、MySQL、Nginx、pyenv、ipython等软件。

1.2安装tree(如环境中已经有了tree,此步骤可以省略)

#yum -y install tree

基于Linux环境的Django网站部署方法

1.3下载PIP安装程序

#wget https://bootstrap.pypa.io/get-pip.py

基于Linux环境的Django网站部署方法
成功下载后,在当前的root目录下出现了get-pip.py文件:
基于Linux环境的Django网站部署方法

1.4 PIP安装

#python get-pip.py

二、安装Django

#pip install Django==1.10.3

基于Linux环境的Django网站部署方法
这里1.10.3是版本号,可改为想安装的其他版本号。检验Django是否安装成功的方法:执行python进入交互式界面,输入import django,然后再输入django.VERSION,注意大小写,回车后可看到刚安装的Django的版本号。
基于Linux环境的Django网站部署方法

三、创建Django项目

在根目录下创建一个目录,存放Django项目,执行下面命令:

#django-admin startproject MyWeb

基于Linux环境的Django网站部署方法
创建好MyWeb项目之后,没有提示任何信息。我们可以用tree命令看到创建好的Django项目。

#cd MyWeb
#tree

基于Linux环境的Django网站部署方法
项目目录下的manage.py是一个实用的命令行工具,可以通过它管理django服务器等。在项目目录下,还有一个和容器同名的MyWeb目录,其中的__init__.py是项目初始化文件,告诉python该目录是一个python包,settings.py是用来进行项目配置的文件,urls.py是项目中所有的url声明,可以认为是django驱动整个项目的url目录,可以定义多种优雅的路由请求,wsgi.py是一个WSGI兼容的Web服务器入口,方便运行web项目。

四、运行Django项目

运行Django项目涉及到两个ip地址,一个是局域网ip地址(即腾讯云所称的内网ip),一个是广域网ip地址(即腾讯云所称的公网ip)。运行Django项目时,在行命令中需要用到内网IP地址。在本例中,云服务器的内网地址为172.17.16.10,公网ip地址为:212.64.50.241 。详见下图:
基于Linux环境的Django网站部署方法
该运行环境部署了nginx软件,把默认的80端口预留给了 nginx网页。如下图所示:
基于Linux环境的Django网站部署方法
因此,我们在运行Django项目是使用8000端口(也是Django的默认端口)。

#python manage.py runserver 172.17.16.10:8000

基于Linux环境的Django网站部署方法
上述提示中的错误信息(红色字体)告诉我们,可运行#python manage.py migrate来解决这个问题。此时,通过浏览器访问网站,也出现如下错误:
基于Linux环境的Django网站部署方法
下面,我们解决上述两个错误。
首先,运行以下行命令:

#python manage.py migrate

基于Linux环境的Django网站部署方法
然后,在配置文件setting.py中添加允许的HOST主机IP地址,也即公网IP地址。补充说明,setting.py位于/root/MyWeb/MyWeb子目录,可以用linux环境下的编辑器修改。本文中,我们通过WinSCP修改配置文件,这样可以使用WINDOWS的记事本(Notepad),修改起来比较方便。
基于Linux环境的Django网站部署方法
配置文件修改好之后,重新运行Django:

#python manage.py runserver 172.17.16.10:8000

基于Linux环境的Django网站部署方法
基于Linux环境的Django网站部署方法
看到这个页面,说明django项目运行正常了。此时,当浏览器发出请求时,服务器都会更新消息:
基于Linux环境的Django网站部署方法

五、搭建应用

经过上面的步骤之后,一个简单的Django网站模型就搭建完成了。接下来,我们搭建一个简单的测试应用。

#cd /root/MyWeb
#python manage.py startapp hello
#tree

在/root/MyWeb目录下,运行行命令#python manage.py startpa hello,即可建立一个名为“hello”的新应用。用tree命令查看新创建的应用,结果如下:
基于Linux环境的Django网站部署方法

5.1 直接打印显示内容

首先,在/root/MyWeb/MyWeb/seeting.py文件中加入hello应用,详见下图:
基于Linux环境的Django网站部署方法
然后,在/root/MyWeb/MyWeb/urls.py文件中输入红框中的文字,详见下图:
基于Linux环境的Django网站部署方法
最后,打开hello/views.py文件,输入以下文字:
基于Linux环境的Django网站部署方法
现在,打开浏览器,输入http://212.64.50.241:8000/hello/,运行结果如下图:
基于Linux环境的Django网站部署方法

5.2 通过文件模板显示内容

首先,修改hello/views.py文件,详见下图:
基于Linux环境的Django网站部署方法
然后,在hello目录下创建一个子目录,名称必须为“templates”。在templates子目录中创建一个名称为“index.html”的新文件,并输入以下内容:
基于Linux环境的Django网站部署方法
最后,打开浏览器,输入http://212.64.50.241:8000/hello/,运行结果如下:
基于Linux环境的Django网站部署方法
注:如果应用程序已退出运行,则需要先重新运行应用,然后才能正确访问网站;如果没有退出运行,则刷新浏览器即可看到上述结果。

5.3 通过文件模板参数显示内容

首先,修改hello/views.py文件,详见下图:
基于Linux环境的Django网站部署方法
然后,修改index.html文件为以下内容:
基于Linux环境的Django网站部署方法
最后,打开浏览器,输入http://212.64.50.241:8000/hello/,运行结果如下:
基于Linux环境的Django网站部署方法

六、 总结

本文介绍了在腾讯云服务器上搭建Django网站的详细步骤,并采取三种方式创建了一个最简单的应用实例。由于云服务器上的应用镜像版本会不断变化,如果读者在仿照本文搭建网站时遇到小问题,可以根据错误提示采取相应的解决方案。