在Centos 7系统上部署Flask项目:使用Pipenv、Nginx和Gunicorn

 
更多

简介

Flask是一个轻量级的Python Web框架,其简洁易学的特点使其成为开发Web应用程序的理想选择。本文将介绍如何在Centos 7系统上部署Flask项目,使用Pipenv来创建虚拟环境并管理项目依赖,同时使用Nginx和Gunicorn来实现生产环境的部署。

步骤

安装Pipenv

Pipenv是一个工具,用于创建虚拟环境并管理Python项目的依赖。在Centos 7上安装Pipenv,您可以使用以下命令:

$ pip install pipenv

创建虚拟环境

使用Pipenv创建一个新的虚拟环境,并切换到该环境中。在项目根目录下执行以下命令:

$ pipenv shell

安装Flask和相关依赖

在虚拟环境中,使用Pipenv安装Flask和其他项目依赖包:

$ pipenv install flask

编写Flask应用程序

在项目根目录下,新建一个名为app.py的文件,并编写Flask应用程序的代码。例如:

from flask import Flask

app = Flask(__name__)

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

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

测试Flask应用程序

在虚拟环境中,运行以下命令来测试Flask应用程序:

$ python app.py

然后,在您的浏览器中访问http://localhost:5000,如果看到”Hello, Flask!”的输出,说明Flask应用程序成功运行。

安装和配置Nginx

使用以下命令在Centos 7上安装Nginx:

$ sudo yum install nginx

安装完成后,编辑Nginx的配置文件/etc/nginx/nginx.conf

$ sudo vi /etc/nginx/nginx.conf

将配置文件中的以下部分修改为如下内容:

http {
    server {
        listen 80;
        server_name your_domain;  # 修改为您的域名

        location / {
            proxy_pass http://localhost:8000;  # 将端口号修改为Gunicorn监听的端口号
            proxy_set_header Host $host;
            proxy_set_header X-Real-IP $remote_addr;
        }
    }
}

保存并退出配置文件,然后重新启动Nginx服务:

$ sudo systemctl restart nginx

安装和配置Gunicorn

使用Pipenv在虚拟环境中安装Gunicorn:

$ pipenv install gunicorn

创建一个名为run.sh的脚本文件,用于启动Gunicorn服务器。在文件中写入以下内容:

#!/bin/bash
pipenv run gunicorn -b localhost:8000 app:app  # 将端口号修改为您的应用程序监听的端口号,app:app指的是导入的Flask应用实例和应用名称

赋予脚本文件执行权限:

$ chmod +x run.sh

使用以下命令启动Gunicorn服务器:

$ ./run.sh

部署Flask项目

现在,您的Flask应用程序已在Gunicorn服务器上运行,并通过Nginx进行代理。最后,您可以使用以下命令来启动Gunicorn和Nginx服务:

$ sudo systemctl start nginx
$ ./run.sh

结论

通过本文,您已了解到如何在Centos 7系统上部署Flask项目。使用Pipenv创建虚拟环境和管理依赖,结合Nginx和Gunicorn实现生产环境部署,能够更好地管理和运行您的Flask应用程序。祝您的项目顺利运行!

打赏

本文固定链接: https://www.cxy163.net/archives/9020 | 绝缘体

该日志由 绝缘体.. 于 2018年12月11日 发表在 未分类 分类下, 你可以发表评论,并在保留原文地址及作者的情况下引用到你的网站或博客。
原创文章转载请注明: 在Centos 7系统上部署Flask项目:使用Pipenv、Nginx和Gunicorn | 绝缘体
关键字: , , , ,

在Centos 7系统上部署Flask项目:使用Pipenv、Nginx和Gunicorn:等您坐沙发呢!

发表评论


快捷键:Ctrl+Enter