Part 1 服务器选择
服务器的选择根据个人的需求,我这边只是搭建一个微信小程序用的服务器(阿里云服务器),不需要多大的。以下是我选择的服务器,可以对照一下自己的需求。(1核, 2G, 5兆,Ubuntu20.04, 64位)
Part 2 环境的安装
-
一般而言,刚创建的虚拟机都需要进行更新,所以我们先进行系统的更新
sudo update
-
安装nginx
apt install ngix
安装的时候询问是否继续则输入y
-
更换镜像源(可不执行此步骤)
cp /etc/apt/sources.list /etc/apt/sources.list.bak
vi /etc/apt/sources.list
镜像源地址(覆盖原有内容)
deb http://mirrors.ustc.edu.cn/ubuntu/ xenial main restricted universe multiverse deb http://mirrors.ustc.edu.cn/ubuntu/ xenial-security main restricted universe multiverse deb http://mirrors.ustc.edu.cn/ubuntu/ xenial-updates main restricted universe multiverse deb http://mirrors.ustc.edu.cn/ubuntu/ xenial-proposed main restricted universe multiverse deb http://mirrors.ustc.edu.cn/ubuntu/ xenial-backports main restricted universe multiverse deb-src http://mirrors.ustc.edu.cn/ubuntu/ xenial main restricted universe multiverse deb-src http://mirrors.ustc.edu.cn/ubuntu/ xenial-security main restricted universe multiverse deb-src http://mirrors.ustc.edu.cn/ubuntu/ xenial-updates main restricted universe multiverse deb-src http://mirrors.ustc.edu.cn/ubuntu/ xenial-proposed main restricted universe multiverse deb-src http://mirrors.ustc.edu.cn/ubuntu/ xenial-backports main restricted universe multiverse
进入后按
I
键进入编辑模式,编辑完后按ESC
键退出编辑模式,输入:x
保存并退出保存后再进行一次更新安装源
sudo apt update
-
更新pip
pip3 install --upgrade pip
-
安装虚拟环境管理包
pip install virtualenvwrapper
这里有可能会出现一些错误,如本人此次出现的错误如下
大概的意思是我没有安装pbr这个包,于是直接安装pbr就行
pip3 install pbr
接着需要配置虚拟环境
打开.virtualenvs(一般在root目录下)
vi .virtualenvs
进入编辑后把以下内容加在代码的最后
export WORKON_HOME=$HOME/.virtualenvs
VIRTUALENVWRAPPER_PYTHON=/usr/bin/python3
source /usr/local/bin/virtualenvwrapper.sh
接着保存退出,执行命令
source ~/.bashrc
创建虚拟环境
mkvirtualenv --python=/usr/bin/python3 [你的项目名称]_env
- 安装gitee(可选)
进入虚拟环境后再进行安装
pip3 install git
-
安装uwsgi(该程序的作用是将你的flask部署后可以挂在后台自动执行)
进入虚拟环境后再进行安装pip install uwsgi
接着对uwsgi进行配置
先创建一个配置文件mkdri /srv/[项目名称]/uwsgi.ini
然后进行编辑
vi /srv/[项目名称]/uwsgi.ini
以下是配置文件的内容
[uwsgi] # 项目的路径 chdir = /srv/[项目名称]/ # Flask的uwsgi文件 wsgi-file = /srv/[项目名称]/app.py # 回调的app对象 callable = app # Python虚拟环境的路径 home = /root/.virtualenvs/[项目名称]_env # 进程相关的设置 # 主进程 master = true # 最大数量的工作进程 processes = 10 # http = :5000 监听5000端口(或监听socket文件,与nginx配合) socket = /srv/[项目名称]/[项目名称].sock # 设置socket的权限 chmod-socket = 666 # 退出的时候是否清理环境 vacuum = true
-
服务器安全组规则配置
服务器的安全组规则需要配置,若是没有配置则会出现无法访问的情况
点开安全组
配置规则
配置规则就和我一样即可
Port 3 Flask的创建和部署
以下是我的flask的程序代码(不便展示的已打码,无影响)
本人是用gitee将代码上传至虚拟机的
首先创建一个git的仓库然后将文件上传到仓库中
然后在虚拟机的虚拟环境中的使用git命令拉取下来
git init
git remote add origin [仓库地址]
git origin [分支名称]
然后再启动其中的flask文件。
Part 4 引用资料
感谢大佬给的思路和教程
https://gitee.com/gmbjzg/gzh_xiaoyaobiancheng/blob/master/flask%E9%A1%B9%E7%9B%AE%E9%83%A8%E7%BD%B2.md
【Flask项目部署(阿里云服务器Ubantu操作系统)】https://www.bilibili.com/video/BV1kX4y1N7u9?vd_source=33ea37bf3e86c210a5a504057fc57982