Centos7下部署Flask应用

本文详细介绍了如何在CentOS 7系统上部署Flask应用,包括Python3安装、uWSGI配置、nginx集成和Flask应用的创建与启动,最后展示了如何使用uwsgi和nginx进行部署,并提供关键步骤和命令。
摘要由CSDN通过智能技术生成

Centos7下部署Flask应用

一、安装 Python3

yum install python3 -y

# 验证Python安装是否完成
python3 -V
pip3 -V

# 更新pip
pip3 install --upgrade pip

二、安装uWSGI

安装依赖:

yum install python3-devel

如果出现下面的错误:

Transaction check error:
  file /etc/rpm/macros.python from install of python-rpm-macros-3-34.el7.noarch conflicts with file from package python-devel-2.7.5-80.el7_6.x86_64

Error Summary

则执行下面的命令后再次进行安装:

yum update python-devel

安装uWSGI:

pip3 install uwsgi

# 验证安装uwsgi是否完成
uwsgi --version

三、安装nginx

yum install nginx -y

启动 nginx:

systemctl start nginx

通过 IP 直接访问服务器,访问成功说明 nginx 开启成功:

常用命令:

# 设置nginx开机自启动
systemctl enable nginx
# 开启nginx
systemctl start nginx
# 查看nginx运行状态
systemctl status nginx
# 关闭nginx
systemctl stop nginx
# 重启nginx
systemctl restart nginx
# 重载配置文件
systemctl reload nginx

四、创建flask应用

首先安装flask库:

pip3 install flask

创建 flask 应用:

# /var/www/app.py

from flask import Flask
app = Flask(__name__)

@app.route('/')
def hello_world():
    return 'Hello World!'

if __name__ == '__main__':
    app.run()

使用 Python 启动 flask 应用:

python3 app.py

运行成功:

* Serving Flask app 'app' (lazy loading)
 * Environment: production
   WARNING: This is a development server. Do not use it in a production deployment.
   Use a production WSGI server instead.
 * Debug mode: off
 * Running on http://127.0.0.1:5000/ (Press CTRL+C to quit)

五、使用uwsgi启动flask

编写配置文件:

# /var/www/conf/config.ini

[uwsgi]

# uwsgi 启动时所使用的地址与端口
socket = 127.0.0.1:8000

# python 调用的模块
module = app

# python 启动程序文件
wsgi-file = /var/www/app.py

# python 程序内用以启动的 application 变量名
callable = app

# 处理器数
processes = 4

# 线程数
threads = 8

# 输出日志文件
daemonize = /var/www/log/server.log

使用 uwsgi启动flask:

uwsgi /var/www/conf/config.ini

out:
[uWSGI] getting INI configuration from conf/config.ini

启动成功!

六、使用nginx启动uwsgi

编辑 nginx.conf :

# 备份配置文件
cp /etc/nginx/nginx.conf /etc/nginx/nginx.conf.bak

# 编辑配置文件
vim /etc/nginx/nginx.conf
server {
	listen 80;
	location / {
        include uwsgi_params;
        uwsgi_pass 127.0.0.1:8000;
        uwsgi_param UWSGI_CHDIR /var/www;
    }
}

重启 nginx :

# 重载配置文件
systemctl reload nginx
# 重启nginx
systemctl restart nginx

直接访问服务器 IP:

在这里插入图片描述

配置完成!

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值