Centos下部署Flask

Posted 柯君的博客

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Centos下部署Flask相关的知识,希望对你有一定的参考价值。

尝试在Centos6.5下部署Flask应用并成功,记录一下步骤,参数为什么这样配置还需要再研究uwsgi和nginx才能回答。

Python版本升级2.7

测试机器centos6.5默认自带的python版本是2.6.6,因此需要升级。我们采用Anacond的方式进行升级。

升级过程:

  • 下载anaconda https://mirrors.tuna.tsinghua.edu.cn/anaconda/archive/ 下载Anaconda2-4.3.1-Linux-x86_64.sh
  • 拉到服务器,输入指令“bash Anaconda2-4.3.1-Linux-x86_64.sh”进行安装
  • 默认安装,安装的最后一个步骤中需要选择“prepend Anaconda install location to PATH in your /root/.bashrc",输入“YES”(必须)。
  • 安装完成后,输入命令更新环境变量bashrc "source /root/.bashrc"
  • 输入“python”,如果显示python的版本是2.7.13即可。

注意,上述安装使用的是root用户,其他用户可以参考类似配置。

部署准备

python下载工具包:

pip install flask
pip install uwsgi

下载Nginx

rpm -ivh http://nginx.org/packages/centos/6/noarch/RPMS/nginx-release-centos-6-0.el6.ngx.noarch.rpm
yum install nginx

上传代码文件到发布目录。
Flask应用中如涉及第三方的工具包及数据库关联也一并安装好。

参数配置

在发布目录下新增uwsgiconfig.ini配置文件,并输入

[uwsgi]
socket = 127.0.0.1:5001
chdir = /root/flask/flask_source/ #发布目录
wsgi-file = flask_source.py #入口文件
callable = app #应用名称
processes = 16
threads =32
stats = 127.0.0.1:9191

修改Nginx的配置参数,/etc/nginx/conf.d/default.conf

server {
    listen      80;
    server_name  192.168.2.24;

    #charset koi8-r;
    access_log  /root/test/access.log;
    error_log  /root/test/error.log;
    location / {
        include        uwsgi_params;
        uwsgi_pass    127.0.0.1:5001;
        uwsgi_param UWSGI_PYHOME /root/anaconda2/lib/python2.7;
        uwsgi_param UWSGI_CHDIR  /root/flask/flask_source/;
        uwsgi_param UWSGI_SCRIPT flask_source:app;

    }
}

运行

uwsgi uwsgiconfig.ini #在发布目录运行uwsgi
Ngnix

以上是关于Centos下部署Flask的主要内容,如果未能解决你的问题,请参考以下文章

CentOS下实现Flask + Virtualenv + uWSGI + Nginx部署

centos部署flask

Centos7部署Flask

部署Flask项目到腾讯云服务器CentOS7

CentOS6.7+Python+Flask开发框架部署

使用uwsgi在centos7上部署Flask在线Web服务