CentOS 部署 flask项目的方法

  • Post category:Linux

下面是“CentOS部署flask项目的方法”的完整攻略,并且给出了两个完整的示例说明。

1. 准备工作

在开始部署之前,需要进行如下准备工作:

  • 安装Python以及pip
  • 安装虚拟环境工具virtualenv
  • 部署flask项目所需的依赖和数据库

2. 创建虚拟环境

使用virtualenv创建一个虚拟环境,并切换到该虚拟环境。

virtualenv venv
source venv/bin/activate

3. 安装依赖

使用pip安装所需要的依赖

pip install flask
pip install gunicorn
pip install psycopg2-binary  # 如果使用PostgreSQL数据库

可以把所需要的依赖放到一个名为requirements.txt的文件中,使用如下命令安装所有依赖

pip install -r requirements.txt

4. 编写flask程序

在虚拟环境中编写flask程序,可以按照自己的需要进行编写,这里给出一个简单的示例程序。

from flask import Flask

app = Flask(__name__)

@app.route("/")
def hello():
    return "Hello World!"

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

5. 运行测试

使用gunicorn运行应用程序

gunicorn app:app -b 127.0.0.1:8000

然后打开浏览器访问http://127.0.0.1:8000/,如果能够看到“Hello World!”字样,说明flask应用已经部署成功。

6. 部署到服务器

启动一个CentOS服务器,并且安装nginx,然后使用gunicorn来进行flask应用程序的部署。

6.1 安装nginx

sudo yum install nginx
sudo systemctl enable nginx
sudo systemctl start nginx

6.2 编辑nginx配置文件

sudo vi /etc/nginx/conf.d/flask.conf

在文件中填写如下内容

server {
    listen 80;

    location / {
        proxy_pass http://127.0.0.1:8000/;
        proxy_set_header Host $host;
        proxy_set_header X-Real-IP $remote_addr;
    }
}

6.3 重启nginx

sudo systemctl restart nginx

6.4 使用gunicorn部署flask应用程序

gunicorn app:app -b 127.0.0.1:8000 --daemon

示例说明1

一、基于 MySQL 数据库的 Flask 项目部署

  1. 准备工作:安装 MySQL,创建数据库和用户
  2. 安装所需的依赖:flask、gunicorn、pymysql
  3. 编写 Flask 程序,将 Flask 程序与 MySQL 数据库连接
  4. 在服务器上使用 gunicorn 启动 Flask 程序
  5. 在服务器上配置 nginx,将请求转发到 gunicorn 所监听的端口上

示例说明2

二、基于 PostgreSQL 数据库的 Flask 项目部署

  1. 准备工作:安装 PostgreSQL,创建数据库和用户
  2. 安装所需的依赖:flask、gunicorn、psycopg2-binary
  3. 编写 Flask 程序,将 Flask 程序与 PostgreSQL 数据库连接
  4. 在服务器上使用 gunicorn 启动 Flask 程序
  5. 在服务器上配置 nginx,将请求转发到 gunicorn 所监听的端口上