centos部署python flask_Nginx部署flask项目之uwsgi配置发布(上篇)

f2210ff6fc1ad6954d0e2c6908d717aa.gif

1. 部署准备

2. 部署前须知

3. 部署过程

   3.1安装python3

   3.2安装pip3

   3.3上传flask项目至服务器

   3.4在服务器上创建flask虚拟环境

f2210ff6fc1ad6954d0e2c6908d717aa.gif

部署准备

一台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

02

解压

tar xzf Python-3.5.2.tgz

ff5c1c94648433c8ab1867c4121070b5.png

03

配置Python3

进入python3目录,在python3目录下依次执行以下指令

./configure

make

make install

7d5e14dac2fca481a11aeac74b0ad293.png 4f25178607c49fcbde665bbd8c401c9a.png 51899efc030a1005d0bbf8561547e330.png

04

测试python3是否安装成功

输入python3,如果弹出python3的版本以及python命令行则表示安装成功

e90abd05de5e0ede5f2184472d865090.png

3.2 安装pip3

输入以下指令更新yum的库

01

yum update

c45ae15eef82801d7483adf036849daf.png 选择y,回车 765407260e35d3a67e8e0e672bb2dc5d.png

02

在python3路径下输入以下指令安装依赖

yum install openssl-devel -y

yum install zlib-devel -y

7449cefff525a389b6a0f8a9af9fc857.png 5172bd3627ffcce6faef7a8a98f0b748.png

然后依次执行以下指令

./configure

make

make install

7d5e14dac2fca481a11aeac74b0ad293.png 4f25178607c49fcbde665bbd8c401c9a.png 51899efc030a1005d0bbf8561547e330.png

pip安装成功

6bee543537eea21da5d71b4ab1e23562.png

03

输入pip3 -V来检查是否安装成功

72aeb81cd72430456167a0052975da0b.png

如果弹出有关pip的版本信息以及安装路径,表示pip安装成功。

3.3 上传flask项目至服务器

上传项目至服务器有很多种方法,这里使用PyCharm专业版做演示。

01

在工具栏里找到Tools->Deployment->Configuration...

be64fd734cc7c356d44f06576d78c2e6.png

02

进入Configuration..界面后,点击按钮+,选择SFTP

873e197d2800547dc3617ae88a1fdf13.png

为服务器取个名

976af6c87053d726add7bf63aff69f2a.png

点击OK,进入配置界面

52d49f5c2d91c5ef8d44785d1d92220f.png

03

点击...进入SSH Configuration界面

ecf5939ce29da3cda819f2c73a315394.png

点击按钮+,然后填入相关信息

Host一栏填入服务器的公网IP地址

Port选择22即可

User name和Password中分别填入用户名和密码即可

填完以上信息后可以点击Test Connection调试一下是否连接成功

ba51ae4585dac28f4c6ef9d3ded8161b.png

04

配置文件的存放位置

(路径必须在服务器中存在,否则上传文件过程中会报错)

c6a75e078f842bf0f3a3ccf029e4cd18.png

把Web Server URL设置成服务器的公网IP地址,并在Advanced选项里设置utf-8即可

e00762e123702718c83011024329f968.png

点击OK,配置结束

配置完成便可开始上传flask项目文件

05

在工具栏找到Tools->Deployment->Browse Remote Host

6c3cf06735804faa0ac64b658fc699d2.png

点击Browse Remote Host后,PyCharm右侧边栏便会弹出一个Remote Host窗口,

复制运行flask项目所需的文件,并在窗口粘贴即可。

837ee657266f3bdc996057fecc41f918.png

06

文件上传完成验证一下,打开XShell查看服务器上的指定文件夹下有没有上传的文件

99729d0ac2206b1896b2fbbb5662d401.png

这里要注意,上传到服务器上的flask项目中的入口文件里,必须要把debug设置成False,否则项目将无法在服务器运行。

ce117071564f820595a79c4fbb1ccb7f.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

进入flask-env文件夹,发现有一个bin文件夹

9494d040cf8142150e0f6e2387dd413c.png

进入bin文件夹可以看到一个activate文件

在命令行输入source activate指令激活虚拟环境,可以看到命令行前面多了一个(flask-env),代表此时现在是在虚拟环境下(要退出虚拟环境,只要输入deactivate指令即可)

d1a0c19354ece18132c2a4d6c3ba3a23.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

同理,查看服务器的flask虚拟环境的库,只要在flask虚拟环境下执行pip3 list即可

e458c4336f4e7a7b5ffbf73599be8c22.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

扫码关注啦!

7be729703a5f5db137b458a9a2f7a792.png
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值