• CentOS7.2+Python3x+Flask部署标准化配置流程


    转自:https://zhuanlan.zhihu.com/p/24554242

    Step1.安装最基本的开发工具,吐槽一下除此之外的任何垃圾教程

    # yum groupinstall "Development tools"
    # yum install zlib-devel bzip2-devel openssl-devel ncurses-devel sqlite-devel readline-devel tk-devel
    

    Step2.下载代码 configure → make → make altinstall

    3.5.2下载安装同 下:

    # cd /usr/local/src
    # wget https://www.python.org/ftp/python/3.4.3/Python-3.4.3.tgz
    # tar -zxvf Python-3.4.3.tgz 
    # cd Python-3.4.3
    # ./configure --prefix=/usr/local/python
    # make && make altinstall
    

    Step3.安装Python3.4公用库

    # echo "/usr/local/python/lib" >> /etc/ld.so.conf
    # ldconfig
    

    Step4.安装Python3.4至 /usr/local/bin/

    # ln -s /usr/local/python/bin/python3.4 /usr/local/bin/python
    

    Step5. 确认是否安装正确

    # /usr/local/python/bin/python3.4 -V
    # python -V
    

    Step6.安装Easy_Install

    # cd /usr/local/src
    # wget https://pypi.python.org/packages/source/s/setuptools/setuptools-18.0.1.zip
    # unzip setuptools-18.0.1.zip
    # cd setuptools-18.0.1
    # /usr/local/bin/python setup.py install
    # ln -s /usr/local/python/bin/easy_install /usr/local/bin/easy_install
    

    Step7.安装Pip

    # /usr/local/bin/easy_install pip
    # ln -s /usr/local/python/bin/pip /usr/local/bin/pip
    

    Step8.安装Virtualenv

    # pip install virtualenv
    # ln -s /usr/local/python/bin/virtualenv /usr/local/bin/virtualenv
    

    Step9.安装Virtualenvwrapper

    # pip install virtualenvwrapper
    

    Step10.配置Virtualenvwrapper参数设定

    $ vim ~/.bashrc
    if [ -f /usr/local/python/bin/virtualenvwrapper.sh ]; then
    export WORKON_HOME=$HOME/.virtualenvs
    source /usr/local/python/bin/virtualenvwrapper.sh
    fi
    

    补充virtualenvwrapper用法

    1.创建环境

    mkvirtualenv env1
    mkvirtualenv env2
    

    环境创建之后,会自动进入该目录,并激活该环境。

    2.切换环境

    workon env1  # # (运行:ls ~/.virtualenvs 可见)
    workon env2
    

    3.列出已有环境

    workon
    

    4.退出环境

    deactivate
    

    5.删除环境

    rmvirtualenv
    

    6.创建project

    项目将创建到PROJECT_HOME目录下,实际上相当于在某个目录下,建了一个环境。

    mkproject 
    

    补充配置nginx

    1.下载nginx

    yum install nginx
    

    2.启动nginx服务

    systemctl start nginx
    

    3.配置

    默认的配置文件在 /etc/nginx 路径下,使用该配置已经可以正确地运行nginx;如需要自定义,修改其下的 nginx.conf 等文件即可。

    4.测试

    在浏览器地址栏中输入部署nginx环境的机器的IP,如果一切正常,应该能看到如下字样的内容。

    5. 列出所有端口状态

    netstat -ntlp
    

    配合 kill -9 pid

    补充Gunicorn配置

    Gunicorn 绿色独角兽 是一个Python WSGI UNIX的HTTP服务器。这是一个pre-fork worker的模型,从Ruby的独角兽(Unicorn )项目移植。该Gunicorn服务器大致与各种Web框架兼容,只需非常简单的执行,轻量级的资源消耗,以及相当迅速。

    Gunicorn 应该装在 virtualenv 环境下,安装前记得激活workon env1!

    (venv) $ pip install gunicorn
    

    一行搞定运行Web:

    (venv) $ gunicorn -w 4 -b 127.0.0.1:8080 wsgi:application
    

    注:各个参数的具体含义相信都能找到。

    补充进程守护

    Supervisor守护神不支持python3,centos7不支持Upstart,蛋疼!

    截至现在仍旧没有找到解决方案,但是意外收获了systemd作为守护神保护常规的python程序进程。

    有关systemd的介绍和使用推荐阮一峰老师的以下两篇博客,写的非常详细和全面

    这一篇就写到这里,部署就这样啦,中途会出现一些BUG,可以肯定是你程序的问题,仔细检查哈!

    胶水语言博大精深,

    本主只得一二为新人带路,

    老鸟可去另一专栏:Python中文社区

    新手可查阅历史目录:

    Python数据分析及可视化实例目录

  • 相关阅读:
    CSS教程:div垂直居中的N种方法
    .NET中Flags枚举的使用
    C# 两种方法实现HTTP协议迷你服务器
    百度面试题:求绝对值最小的数
    单点登录
    三范式
    hibernate cascade
    debugview trace 调试
    面向模式的软件体系结构
    待研究
  • 原文地址:https://www.cnblogs.com/badseal/p/8445596.html
Copyright © 2020-2023  润新知