1. 部署准备
2. 部署前须知
3. 部署过程
3.1安装python3
3.2安装pip3
3.3上传flask项目至服务器
3.4在服务器上创建flask虚拟环境
部署准备
一台Linux服务器(这里用64位的CentOS7做演示);
PyCharm2020.1 x64(也可以用XFTP或SSH Secure File Transfer Client或者是任何一个可以给服务器传送文件的工具);
XShell 6(或者其他可以操作Linux服务器的软件);
部署前须知
Nginx是一个高性能的、轻量级的HTTP和反向代理web服务器,占有内存少,并发能力强;
CentOS7自带python2和yum,在安装python3的时候不要删除python2和yum;
3.部署过程
3.1 安装python3
01
使用wget下载python3.5.2的压缩包(python版本与开发flask项目时所使用的版本一样即可)。
wget https://www.python.org/ftp/python/3.5.2/Python-3.5.2.tgz
![ead29fce687edca79d23309fe810616d.png](https://i-blog.csdnimg.cn/blog_migrate/ba3c425431d2e2ca238c86e464ea58b8.png)
02
解压
tar xzf Python-3.5.2.tgz
![ff5c1c94648433c8ab1867c4121070b5.png](https://i-blog.csdnimg.cn/blog_migrate/7a65131e71cb9fd1b2ce1c381f185e8f.png)
03
配置Python3
进入python3目录,在python3目录下依次执行以下指令
./configure
make
make install
![7d5e14dac2fca481a11aeac74b0ad293.png](https://i-blog.csdnimg.cn/blog_migrate/d8452e34541e8c7a331eeb5766da9f69.png)
![4f25178607c49fcbde665bbd8c401c9a.png](https://i-blog.csdnimg.cn/blog_migrate/19f77918ff39ecdfc330f36a67845300.png)
![51899efc030a1005d0bbf8561547e330.png](https://i-blog.csdnimg.cn/blog_migrate/3269ea738a1d15f4f9ead906a9ab0262.png)
04
测试python3是否安装成功
输入python3,如果弹出python3的版本以及python命令行则表示安装成功
![e90abd05de5e0ede5f2184472d865090.png](https://i-blog.csdnimg.cn/blog_migrate/8216a61e7e94f050e34d830a0d97ba1d.png)
3.2 安装pip3
输入以下指令更新yum的库
01
yum update
![c45ae15eef82801d7483adf036849daf.png](https://i-blog.csdnimg.cn/blog_migrate/ef697b861fc1c5ae9a2ae44a266e0f5b.png)
![765407260e35d3a67e8e0e672bb2dc5d.png](https://i-blog.csdnimg.cn/blog_migrate/14805f64c8daf28baeb31fc82218276b.png)
02
在python3路径下输入以下指令安装依赖
yum install openssl-devel -y
yum install zlib-devel -y
![7449cefff525a389b6a0f8a9af9fc857.png](https://i-blog.csdnimg.cn/blog_migrate/d0c4025b2a23c9831cbb2f4b825d095b.png)
![5172bd3627ffcce6faef7a8a98f0b748.png](https://i-blog.csdnimg.cn/blog_migrate/333161717ade3a776b57081f0a90940e.png)
然后依次执行以下指令
./configure
make
make install
![7d5e14dac2fca481a11aeac74b0ad293.png](https://i-blog.csdnimg.cn/blog_migrate/d8452e34541e8c7a331eeb5766da9f69.png)
![4f25178607c49fcbde665bbd8c401c9a.png](https://i-blog.csdnimg.cn/blog_migrate/19f77918ff39ecdfc330f36a67845300.png)
![51899efc030a1005d0bbf8561547e330.png](https://i-blog.csdnimg.cn/blog_migrate/3269ea738a1d15f4f9ead906a9ab0262.png)
pip安装成功
![6bee543537eea21da5d71b4ab1e23562.png](https://i-blog.csdnimg.cn/blog_migrate/bd07185c01781c597ed73cbeb7153851.png)
03
输入pip3 -V来检查是否安装成功
![72aeb81cd72430456167a0052975da0b.png](https://i-blog.csdnimg.cn/blog_migrate/64c4d27121835172773c61734bf04de3.png)
如果弹出有关pip的版本信息以及安装路径,表示pip安装成功。
3.3 上传flask项目至服务器
上传项目至服务器有很多种方法,这里使用PyCharm专业版做演示。
01
在工具栏里找到Tools->Deployment->Configuration...
![be64fd734cc7c356d44f06576d78c2e6.png](https://i-blog.csdnimg.cn/blog_migrate/94f43dc0fd8df9324d891051c25baca7.png)
02
进入Configuration..界面后,点击按钮+,选择SFTP
![873e197d2800547dc3617ae88a1fdf13.png](https://i-blog.csdnimg.cn/blog_migrate/93066ec8fb76b615306ba6c96ecdf7c7.png)
为服务器取个名
![976af6c87053d726add7bf63aff69f2a.png](https://i-blog.csdnimg.cn/blog_migrate/5f3d4149312ae1cb28718a94135e3382.png)
点击OK,进入配置界面
![52d49f5c2d91c5ef8d44785d1d92220f.png](https://i-blog.csdnimg.cn/blog_migrate/d3c7ebcd526cb82c4aa02189d5c9e433.png)
03
点击...进入SSH Configuration界面
![ecf5939ce29da3cda819f2c73a315394.png](https://i-blog.csdnimg.cn/blog_migrate/c07437195ca11854a80a42f6e5512f0d.png)
点击按钮+,然后填入相关信息
Host一栏填入服务器的公网IP地址
Port选择22即可
User name和Password中分别填入用户名和密码即可
填完以上信息后可以点击Test Connection调试一下是否连接成功
![ba51ae4585dac28f4c6ef9d3ded8161b.png](https://i-blog.csdnimg.cn/blog_migrate/06b69d83ee5e411ff0f2e909f2c71a9b.png)
04
配置文件的存放位置
(路径必须在服务器中存在,否则上传文件过程中会报错)
![c6a75e078f842bf0f3a3ccf029e4cd18.png](https://i-blog.csdnimg.cn/blog_migrate/640a62515ea77f1fe55596e523a8491b.png)
把Web Server URL设置成服务器的公网IP地址,并在Advanced选项里设置utf-8即可
![e00762e123702718c83011024329f968.png](https://i-blog.csdnimg.cn/blog_migrate/370712648cbb070609e4c2946944214f.png)
点击OK,配置结束
配置完成便可开始上传flask项目文件
05
在工具栏找到Tools->Deployment->Browse Remote Host
![6c3cf06735804faa0ac64b658fc699d2.png](https://i-blog.csdnimg.cn/blog_migrate/1a37722579a01e9faeb95ff328041624.png)
点击Browse Remote Host后,PyCharm右侧边栏便会弹出一个Remote Host窗口,
复制运行flask项目所需的文件,并在窗口粘贴即可。
![837ee657266f3bdc996057fecc41f918.png](https://i-blog.csdnimg.cn/blog_migrate/4d02723a9f36ba7d10180ed38e513dc7.png)
06
文件上传完成验证一下,打开XShell查看服务器上的指定文件夹下有没有上传的文件
![99729d0ac2206b1896b2fbbb5662d401.png](https://i-blog.csdnimg.cn/blog_migrate/3aeb73676a0877f1a474ac239a56757c.png)
这里要注意,上传到服务器上的flask项目中的入口文件里,必须要把debug设置成False,否则项目将无法在服务器运行。
![ce117071564f820595a79c4fbb1ccb7f.png](https://i-blog.csdnimg.cn/blog_migrate/25b779d0aeb1ff778a966893ba30c62c.png)
3.4 在服务器上创建flask虚拟环境
flask项目
开发flask项目需要在虚拟环境,部署也是如此。所以部署flask项目前需要在服务器中创建一个和开发环境一致的虚拟环境。虚拟环境是Python解释器的一个私有的副本,在这个环境中你可以安装私有包,而且不会影响系统中安装的全局Python解释器,也不需要管理员权限。虚拟环境可以在系统中Python解释器中避免包的混乱和版本的冲突。为每个程序单独创建虚拟环境可以保证程序只能访问虚拟环境中的包,从而保持全局解释器的干净简洁,使其只作为(更多)虚拟环境的源。
⭐
笔者把flask项目放在flask_demo文件夹中,并在flask_demo同级创建了一个Virtualenv文件夹,在Virtualenv路径下运行python3 -m venv flask-env
可以看到Virtualenv文件夹下多了一个flask-env文件夹
![34b1e6ca7ca2d29e6ea7d6fc9f8dea6a.png](https://i-blog.csdnimg.cn/blog_migrate/19b8e5193ee330791708ff449e7ad252.png)
进入flask-env文件夹,发现有一个bin文件夹
![9494d040cf8142150e0f6e2387dd413c.png](https://i-blog.csdnimg.cn/blog_migrate/72970c8194b4d06632078edfa2fad3bd.png)
进入bin文件夹可以看到一个activate文件
在命令行输入source activate指令激活虚拟环境,可以看到命令行前面多了一个(flask-env),代表此时现在是在虚拟环境下(要退出虚拟环境,只要输入deactivate指令即可)
![d1a0c19354ece18132c2a4d6c3ba3a23.png](https://i-blog.csdnimg.cn/blog_migrate/2d70657438b87f56feefccef89821cb1.png)
此时便可以在服务器的flask虚拟环境下用pip安装所需的库
注 意
安装的库的种类以及版本必须要和开发时用到的库保持一致,确保代码的运行环境一致,否则有可能出现,自己电脑里可以运行项目,服务器里却无法运行项目的情况。
保证服务器的pip版本要和自己电脑的pip版本一致01
使用如下指令即可指定版本更新
pip install --upgrade pip==版本号
例如:将pip版本更新到20.2.2,如下
pip install --upgrade pip==20.2.2
02
查看自己开发时用到的库,可以在自己开发用的电脑的flask虚拟环境下执行pip3 list
![e6c3182922be52423a7c8b75d2924760.png](https://i-blog.csdnimg.cn/blog_migrate/49e236a3a63b2961a86f176b2cc2271d.png)
同理,查看服务器的flask虚拟环境的库,只要在flask虚拟环境下执行pip3 list即可
![e458c4336f4e7a7b5ffbf73599be8c22.png](https://i-blog.csdnimg.cn/blog_migrate/ff639e20f5744a07eb4aa7943e694c9a.png)
03
装库用到的指令
pip3 install 库名==版本号
例如:
安装版本号为2.4.4的Flask-SQLAlchemy库只需要输入如下指令即可
pip3 install Flask-SQLAlchemy==2.4.4
如果网速过慢,也可以用阿里云的镜像安装库
例如:安装版本号为1.1.2的Flask库
pip install -i http://mirrors.aliyun.com/pypi/simple/ Flask==1.1.2 --trusted-host mirrors.aliyun.com
安装完成后就可以退出flask虚拟环境
想看更多精彩内容
请关注我们的实验室公众号哟
![4ed20d825c7f8e3518561d1149b23fe3.png](https://i-blog.csdnimg.cn/blog_migrate/40bc6338caf87c7e3e1d14df742cddc6.jpeg)
扫码关注啦!
![7be729703a5f5db137b458a9a2f7a792.png](https://i-blog.csdnimg.cn/blog_migrate/ede7a04032523a38b71b777d03e8957c.jpeg)