Linux安装Python并部署Flask程序

1、安装Python3

1)安装python3必要的库

yum -y install zlib* gcc-c++

2)创建安装目录

mkdir /usr/local/python3

3) 进入安装目录,下载python安装包,解压包

cd /usr/local/python3

wget --no-check-certificate https://www.python.org/ftp/python/3.7.9/Python-3.7.9.tgz

tar -xzvf Python-3.7.9.tgz

4) 进入安装包,指定安装目录,编译&安装,创建pytho3软连接

cd Python-3.7.9

# 如果此命令报错,则可能是没有安装gcc库,安装即可
# 安装命令 yum install gcc-c++
# configure: error: no acceptable C compiler found in $PATH
./configure --prefix /usr/local/python3/

make & make install

ln -s /usr/local/python3/bin/python3 /usr/bin/python3

2、安装包管理工具pip3

1)创建文件夹并进入

mkdir /usr/local/pip3
cd /usr/local/pip3

2)下载源代码,解压文件,进入文件

wget --no-check-certificate https://github.com/pypa/pip/archive/9.0.1.tar.gz

tar -zvxf 9.0.1.tar.gz

cd pip-9.0.1

3)使用python3安装,创建pip3软链接

python3 setup.py install 
#这一步是什么意思呢
#python setup.py install包括两步:python setup.py build, python setup.py install,这两步,可分开执行, 也可只执行python setup.py install, 因为python setup.py install总是会先build后install. 
#python setup.py build 是python编译这个module的过程, 这个过程比较复杂,最后会生成build文件夹。除去build过程后的install过程,就是复制build/lib文件到用户指定的lib库。

ln -s /usr/local/python3/bin/pip /usr/bin/pip3

3、安装服务器中间件gunicorn

1) 安装WSGI服务器gunicorn

pip install gunicorn

2) 全局配置

ln -s /usr/local/python/bin/gunicorn /usr/bin/gunicorn

3) 测试是否安装成功

gunicorn -v

4、部署接口应用

1)准备接口服务程序app.py

2)安装依赖包flask

pip install flask

3)部署接口程序

http://127.0.0.1:5000

3)-1简单部署

gunicorn可以配置一些额外参数,格式如下:

gunicorn -w 进程数量 -b 监听地址:监听端口 运行文件名称:Flask程序实例名

例如:

gunicorn -w 4 -b 0.0.0.0:8080 app:app -D

-D表示将gunicorn置于后台运行

3)-2借助配置文件部署

执行pip install gevent安装依赖包。

gunicorn可以通过执行配置文件来完成启动,配置文件如下

# gun.py
import logging
import logging.handlers
import os
import multiprocessing
import gevent.monkey
gevent.monkey.patch_all()

bind = '0.0.0.0:8080'  # 绑定的ip已经端口号
chdir = '/home/flaskProject'  # gunicorn要切换到的目的工作目录
timeout = 60  # 超时
worker_class = 'gevent'  # 使用gevent模式,还可以使用sync 模式,默认的是sync模式
workers = multiprocessing.cpu_count() * 2 + 1  # 启动的进程数
loglevel = "info"  # 日志级别,这个日志级别指的是错误日志的级别,而访问日志的级别无法设置
access_log_format = '%(t)s %(p)s %(h)s "%(r)s" %(s)s %(L)s %(b)s %(f)s" "%(a)s"'  # 设置gunicorn访问日志格式,错误日志无法设置
pidfile = "gunicorn.pid"
accesslog = "access.log"
errorlog = "error.log"
daemon = True  # 是否后台运行

执行gunicorn -c gun.py app:app启动应用程序,

启动后项目的目录下会生成access.logerror.loggunicorn.pid三个文件,gunicorn.pid中保存了gunicorn的主进程PID号,可以通过cat gunicorn.pid查看,当想要停止gunicorn时,直接kill 进程号即可杀死所有gunicorn进程。

  • 4
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值