美文网首页
全新centos6+nginx+mysql+python3+fl

全新centos6+nginx+mysql+python3+fl

作者: an鑫_wolfxin2010 | 来源:发表于2020-09-01 17:34 被阅读0次

    1. 安装系统开发包

    # 安装pip报错 ModuleNotFoundError: No module named '_ctypes' 解决方法
    yum install libffi-devel -y
    # 报错 ModuleNotFoundError: No module named '_bz2' 解决方法
    yum install bzip2-devel
    

    2.编译安装python3.7

    进入tmp路径(本人喜欢把东西都下载到这里),执行以下命令:
    cd /tmp/
    wget https://www.python.org/ftp/python/3.7.9/Python-3.7.9.tgz
    下载完成后(如需Python其他版本:点击此处),执行解压命令:
    tar -xzvf Python-3.7.9.tgz
    进入解压后的Python-3.7.9文件夹,依次执行以下命令
    ./configure --prefix=/usr/local/python3
    (将python3安装到/usr/local/python3/路径下)
    make && make install
    ln -s /usr/local/python3/bin/python3.7 /usr/bin/python3
    ln -s /usr/local/python3/bin/pip3 /usr/bin/pip3
    (以上两个ln命令是为了方便在终端中直接使用python3和pip3命令)

    # _bz2.cpython-37m-x86_64-linux-gnu.so文件下载:https://pan.baidu.com/s/1GzUY4E0G2yVUfqxHOIzn1A (提取码:oiwh)
    mv _bz2.cpython-36m-x86_64-linux-gnu.so _bz2.cpython-37m-x86_64-linux-gnu.so
    cp _bz2.cpython-37m-x86_64-linux-gnu.so /usr/local/python3/lib/python3.7/lib-dynload/
    

    3.安装和使用virtualenv

    前提: python3和pip3都已经安装,执行命令:
    pip3 install virtualenv
    创建名字为django的虚拟环境,执行命令:
    python3 -m venv /home/venv/flask
    进入虚拟环境,执行命令:
    cd /home/venv/flask/bin
    source activate

    4.安装第三方库:

    安装Flask第三方库列表(requirements.txt),如下:

    boto==2.49.0
    boto3==1.14.51
    botocore==1.17.51
    certifi==2020.6.20
    chardet==3.0.4
    click==7.1.2
    docutils==0.15.2
    Flask==1.1.2
    gensim==3.8.3
    idna==2.10
    itsdangerous==1.1.0
    jieba==0.42.1
    Jinja2==2.11.2
    jmespath==0.10.0
    lxml==4.5.2
    MarkupSafe==1.1.1
    numpy==1.19.1
    Pillow==7.2.0
    pip==20.2.2
    python-dateutil==2.8.1
    python-docx==0.8.10
    requests==2.24.0
    s3transfer==0.3.3
    scipy==1.5.2
    setuptools==47.1.0
    six==1.15.0
    smart-open==2.1.1
    urllib3==1.25.10
    uWSGI==2.0.19.1
    Werkzeug==1.0.1

    在Flask虚拟环境下,安装第三方库列表:
    cd /tmp
    vim requirements.txt # 复制第三方库列表到此文件下,退出并保存:wq!
    pip install -r requirements.txt # 安装第三方库列表

    5.安装配置uwsgi

    [uwsgi]
    socket = :8188
    #由于外部还要嵌套Nginx,这里可以使用socket进行通信,如果Nginx和uwsgi部署在同一台机器上,直接使用127.0.0.1
    #如果外部直接通过uwsgi访问服务,需将socket改为http-socket或者http,将127.0.0.1改为0.0.0.0
    chdir=/home/wwwroot/py/aiword
    # 启动uwsgi的用户名和用户组
    uid=root
    gid=root
    #项目目录
    virtualenv =/home/venv/aiword
    #虚拟环境所在路径
    wsgi-file = aiword.py
    #编写flask代码的py文件
    callable = application
    #Flask应用对象
    master = true
    #启动主进程,来管理其他进程
    vacuum = true
    # 进程个数
    workers=4
    threads=4
    max-requests=2000
    # 启用线程
    enable-threads=true
    #uwsgi启动的进程数,可设为机器核数+1
    thunder-lock = true
    #防止惊群
    harakiri = 60
    #超时时间(秒)
    daemonize=/home/wwwroot/py/aiword/aiword.log
    #进程会在后台运行,并输出日志
    pidfile = /home/wwwroot/py/aiword/uwsgi.pid
    

    6.开机自启动

    6.1 创建文件/home/ishell/jieba.sh

    #!/bin/bash
    PATH=/bin:/sbin:/usr/bin:/usr/sbin:/usr/local/bin:/usr/local/sbin:~/bin
    export PATH
    
    source /home/venv/aiword/bin/activate
    pkill -f -9 uwsgi
    uwsgi --ini /home/wwwroot/py/aiword/uwsgi.ini
    

    6.1 配置开机自启动

    vim /etc/rc.d/rc.local # 文末添加执行脚本:/home/ishell/jieba.sh
    

    相关文章

      网友评论

          本文标题:全新centos6+nginx+mysql+python3+fl

          本文链接:https://www.haomeiwen.com/subject/shxvsktx.html