在阿里云服务器从零开始上线Django项目:Ubuntu18.04+Python3+Django2,并通过公网IP访问

96
麦典威
1.7 2018.12.25 15:27* 字数 1827

目录:Django 2.1 从零开始搭建博客网站系列

服务器环境搭建(选学)

小试牛刀——简单的博客网站

庖丁解牛——多用户的博客网站之用户模块

庖丁解牛——多用户的博客网站之文章模块

华丽转身——多用户的博客网站之扩展功能

正文:

1.环境配置

阿里云ECS环境:Ubuntu 18.04 64位

Ubuntu 18.04 默认已安装Pythonon 2.7 和 Python 3.6

python -V  # 验证是否已安装Python 2.7
python3 -V  # 验证是否已安装Python 3.6

验证结果如图:


image.png

2.安装pip3

执行 "pip3 list" 发现此命令无效,并提示“apt install python3-pip”,说明当前未安装pip3,如图:


image.png

执行“apt install python3-pip”还是无效,并提示“Unable to locate package python3-pip”,如图:


image.png

此时需要执行如下命令来更新软件列表中的软件源

sudo apt-get update

sudo apt-get update 只更新软件源为最新版,本地的软件是不会进行升级的,在终端下载软件时会根据软件源的信息进行下载,所以软件源更新之后再安装软件就能安装源中的最新版本

执行结果如图:


image.png

更新完软件源重新执行“apt install python3-pip”,此时只系鞥结果如图,最后输入 y 即可:


image.png

此时执行“pip3 list”来验证pip3是否安装成功,如图:


image.png

至此,pip3安装成功了!

3.升级pip

通过执行“pip3 list”发现pip当前的版本是9.0.1,太旧了,通过下面的命令来把pip升级到最新版本

sudo pip3 install --upgrade pip

执行结果如图:


image.png

再执行“pip3 list”来验证是否已经把pip更新到了最新版本,结果发现报错了,如图:


image.png

解决报错:修改pip3.py文件中的内容,根据报错的提示,找到报错文件的位置,执行命令

vi /usr/bin/pip3

如图:


image.png

/usr/bin/pip3 的源文件内容是:


image.png

需要修改为:
image.png

修改完保存,重新执行“pip3 list”,结果如图:


image.png

至此,pip更新到了最新版本!

4.创建虚拟环境

从Python 3.6开始,创建虚拟环境的推荐方法是使用venv模块。 要安装提供venv模块的python3-venv软件包,请执行命令

sudo apt install python3-venv

运行结果如图:


image.png

下面我们创建一个新目录,并在这个新目录里创建新的虚拟环境。
首先,为Django应用程序创建一个新目录并导航到它:


image.png

然后,进入目录后,执行以下命令以创建新的虚拟环境:


image.png

上面的命令创建了一个名为venv的目录,其中包含Python二进制文件的副本,pip包管理器,标准Python库和其他支持文件,上面命令中的django-venv是虚拟环境的名称,可以为虚拟环境使用任何名称。

最后,要使用此虚拟环境,需要通过运行activate脚本来激活它:


image.png

激活后,虚拟环境的bin目录将添加到$ PATH变量的开头。 此外,shell提示符也会更改,它将显示当前使用的虚拟环境的名称,本文虚拟环境的名称是“django-venv”,退出虚拟环境时只需输入 deactivate 回车即可。

5.安装Django

现在虚拟环境已激活,可以使用Python包管理器pip来安装Django,在虚拟环境中使用命令pip而不是pip3,使用python而不是python3。执行如下命令来安装Django

pip install django

运行结果如图:


image.png

要验证是否安装Django成功,执行如下命令打印Django版本

python -m django --version

运行结果如图:


image.png

好了,Django安装成功!下面我们就来创建一个Django项目吧!

6.创建Django项目

使用如下命令来创建一个名称为 firstdjangopro的Django项目

django-admin startproject firstdjangopro

运行结果如图:


image.png

下面我们使用tree命令来查看项目结构,结果提示需要先安装tree,如图:


image.png

根据上图提示,我们安装tree,如图:


image.png

安装好tree以后,我们重新使用tree命令来查看项目结构,如图:


image.png

7.在浏览器输入公网IP地址来访问这个Django项目

首先,在Django项目中的settings.py文件中配置允许访问该项目的的IP地址,如图:


image.png
image.png

然后,执行如下命令启动这个Django项目

python manage.py runserver 0.0.0.0:8000

运行结果如图:


image.png

最后,在浏览器中输入 你的公网IP地址:8000,即可访问该项目,运行结果如图:


image.png

如果浏览器访问失败,可能是阿里云服务器的入网访问规则没有陪之后,需要配置云服务器的入网访问规则,如图:


image.png

配置完成后,刷新浏览器即可。

结语

看似简单却又包含很多细节,把踩过的坑都填平,终于,一个挂在阿里云服务器上的最简单的Django项目上线了!