下面是“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 项目部署
- 准备工作:安装 MySQL,创建数据库和用户
- 安装所需的依赖:flask、gunicorn、pymysql
- 编写 Flask 程序,将 Flask 程序与 MySQL 数据库连接
- 在服务器上使用 gunicorn 启动 Flask 程序
- 在服务器上配置 nginx,将请求转发到 gunicorn 所监听的端口上
示例说明2
二、基于 PostgreSQL 数据库的 Flask 项目部署
- 准备工作:安装 PostgreSQL,创建数据库和用户
- 安装所需的依赖:flask、gunicorn、psycopg2-binary
- 编写 Flask 程序,将 Flask 程序与 PostgreSQL 数据库连接
- 在服务器上使用 gunicorn 启动 Flask 程序
- 在服务器上配置 nginx,将请求转发到 gunicorn 所监听的端口上