简介
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应用程序。祝您的项目顺利运行!
本文来自极简博客,作者:网络安全守护者,转载请注明原文链接:在Centos 7系统上部署Flask项目:使用Pipenv、Nginx和Gunicorn
微信扫一扫,打赏作者吧~