在CentOS 8上部署基于Flask实现的项目
写在前面
写这篇文章是因为我在自己部署项目的时候,遇到了很多仅靠别人的博客和回答解决不了的问题。于是在自己解决了之后,就希望能够详细的记录下来,既能方便其他可能跟我一样基础比较差的人,也预防将来的自己忘掉了,又得一遍遍的翻枯燥的官方文档。
关于服务器
我购买的是阿里云的服务器,今年618期间很便宜,最低配置的60块不到就能买上一年。
操作系统我选择了CentOS 8。原因无他,一直以来用的都是Cent OS,且更高的版本号意味着更好的兼容性与稳定性(测试版除外)。
关于环境
以下这些操作,建议在本地电脑完成之后,再使用git同步到服务器端。
非常不建议用户直接使用root账户来进行以下操作。
非常建议用户创建一个有sudo权限的账户来进行以下操作。
python版本
在Cent OS下,建议直接使用yum命令进行下载。yum命令提供了4个版本的python可供下载:
- python2
- python36
- python38
- python39
例如下载python 3.9时,直接使用命令
yum install python39
如果提示权限不够记得加上sudo。
版本可以根据个人使用习惯来进行选择。我个人一直使用的是python 3.8。
不推荐使用python2,尽管我看到的很多教程都说python 2与Flask和uWSGI相性更佳,但实际使用下来python3也完全没有出现不兼容的问题。
虚拟环境
为什么要创建虚拟环境?
虚拟环境的好处在于安装在其中的插件不会影响到你电脑上的本地配置,也独立于其他的虚拟环境。例如当你的一个项目需要Fabric 1.x,而另一个需要Fabric 2.x的时候,如果你使用了虚拟环境,他们互相不会冲突。但如果不使用虚拟环境,你就需要删掉其中一个版本,再安装另一个版本以避免兼容性问题。
在python 3中,官方文档建议用户使用
python3 -m venv (/path to new virtual environment)
命令来创建虚拟环境。
例如,你可以使用
python3 -m venv venv
来在当前目录下创建一个目录名为venv的虚拟环境。
创建完成之后,进入到venv文件,使用
source ./bin/activate
来激活虚拟环境,处在虚拟环境中时,直接输入
deactivate
来退出虚拟环境。
依赖包
这一步需要等你的Flask项目已经万事俱备,只差部署到服务器端的时候再操作,写在这里只是因为与上边的一块内容有些许关联。