当前位置 : 主页 > 操作系统 > centos >

CentOS 部署 flask项目的方法

来源:互联网 收集:自由互联 发布时间:2023-07-28
以下是CentOS部署flask项目的详细攻略。 准备工作 在开始部署之前,我们需要安装一些必要的依赖包和软件: sudo yum install epel-releasesudo yum install python3 python3-devel python3-pip nginx supervisor 安

以下是CentOS部署flask项目的详细攻略。

准备工作

在开始部署之前,我们需要安装一些必要的依赖包和软件:

sudo yum install epel-release
sudo yum install python3 python3-devel python3-pip nginx supervisor

安装完成后,我们可以检查python3和pip3是否安装成功:

python3 -V
pip3 -V
创建虚拟环境

使用虚拟环境可以有效地隔离不同项目之间的依赖,使得每个项目都可以独立地维护其所需的库和版本。

在安装完虚拟环境之后,我们可以在项目的根目录下创建一个新的虚拟环境:

python3 -m venv venv

启动虚拟环境并安装flask:

source venv/bin/activate
pip3 install flask
配置Nginx

Nginx是一款高性能的HTTP服务器,可以作为反向代理服务器用于将请求转发到应用程序或Web服务器。

在CentOS上安装Nginx:

sudo systemctl start nginx
sudo systemctl enable nginx

编辑Nginx配置文件/etc/nginx/conf.d/flask.conf:

server {
    listen 80;
    server_name yourdomain.com;

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

上述配置的作用是将所有的80端口的请求都转发给本地的8000端口,我们需要在应用程序中使用8000端口:

自由互联热门推荐:PDF电子发票识别软件,一键识别电子发票并导入到Excel中!10大顶级数据挖掘软件!人工智能的十大作用!

FLASK_APP=app.py flask run --host=127.0.0.1 --port=8000
配置Supervisor

Supervisor是一个进程管理工具,可以帮助我们在服务器意外宕机或重启之后,自动重启flask应用程序,从而保证应用的高可用性。

安装Supervisor:

sudo systemctl start supervisord
sudo systemctl enable supervisord

在/etc/supervisord.d/flask.conf中添加以下内容:

[program:flask]
command=/path/to/venv/bin/flask run --host=127.0.0.1 --port=8000
directory=/path/to/project/folder
autostart=true
autorestart=true
stderr_logfile=/var/log/flask.err.log
stdout_logfile=/var/log/flask.out.log
user=yourusername

上述配置的作用是当Supervisor在运行的时候,启动flask程序,并将标准和错误输出日志记录到/var/log/flask.out.log和/var/log/flask.err.log中。

最后,使用以下命令重新加载Supervisor配置并启动flask

sudo supervisorctl reread
sudo supervisorctl update
sudo supervisorctl start flask

这样,我们就完成了CentOS上flask项目的部署。

下面是一个示例,假设我们的flask应用程序名为myapp,项目文件夹为/home/user/myapp

cd /home/user/myapp
source venv/bin/activate
pip3 install flask

sudo vim /etc/nginx/conf.d/flask.conf
# 确保server_name参数与您的域名匹配
# 将代理路径更新为您的项目路径
sudo systemctl restart nginx

sudo vim /etc/supervisord.d/flask.conf
# 确保command和directory参数与您的项目路径匹配
sudo systemctl restart supervisord

当以上步骤都已成功执行并启动后,我们可以以此方式来管理我们的flask应用程序:

sudo supervisorctl start myapp
sudo supervisorctl stop myapp
sudo supervisorctl restart myapp
网友评论