zoukankan      html  css  js  c++  java
  • uwsgi centos python3 flask 部署

    uwsgi centos python3 flask 部署

    1. 添加一个用户

    新增用户
    adduser python3
    
    修改密码
    passwd python3
    
    添加到sudo用户组
    gpasswd -a python3 wheel
    
    切换到python3 用户
    sudo -iu python3
    

    注意: 下方所有的命令,都是切换到了python3用户进行的,所以要带上sudo

    2. 初始化环境

    初始化仓库
    sudo yum install epel-release -y
    
    安装gcc ,nginx
    sudo yum install gcc  -y
    
    
    

    3. 安装 anaconda

    下载地址 : www.anaconda.com/distribution

    下载地址 : https://mirrors.tuna.tsinghua.edu.cn/anaconda/archive/?C=M&O=D

    下载Anaconda 的安装文件

    wget https://mirrors.tuna.tsinghua.edu.cn/anaconda/archive/Anaconda3-2019.10-Linux-x86_64.sh

    安装 :

    sh Anaconda3-2019.10-Linux-x86_64.sh

    回车

    空格

    配置安装路径

    yes

    如果安装异常

    https://zhuanlan.zhihu.com/p/64930395

    安装路径 给 根目录下 /anaconda3

    4. 创建python虚拟环境

    激活anaconda
    source /anaconda3/bin/activate
    
    安装virtualenv
    pip install virtualenv
    
    创建目录
    mkdir ~/myproject
    cd ~/myproject
    
    创建虚拟环境目录   --  一定要指定 python 路径
    virtualenv -p /anaconda3/bin/python python3_flask
    
    激活新创建的虚拟环境
    source python3_flask/bin/activate
    
    

    离开虚拟环境 deactivate

    退出anaconda环境 conda deactivate

    5. 初始化一个简单的flask应用

    上传文件

    pip install flask
    
    如果有防火墙
    sudo firewall-cmd --permanent --add-port=5000/tcp
    sudo firewall-cmd --reload
    

    6.创建uwsgi.ini 在项目根目录下

    uwsgi.ini

    [uwsgi]
    #工程目录
    chdir = /python_project/xxx
    #虚拟环境目录
    home = /home/python3/myproject/python3_xxx
    #启动flask应用的文件名,不用加py
    module = app
    callable=app
    master = true
    processes = 5
    chmod-socket=666
    logfile-chmod = 644
    py-autoreload=1
    threads = 100
    
    http = 0.0.0.0:5000
    die-on-term = true
    vacuum=true
    socket=%(chdir)/uwsgi/uwsgi.sock
    stats=%(chdir)/uwsgi/uwsgi.status
    pidfile=%(chdir)/uwsgi/uwsgi.pid
    daemonize=%(chdir)/uwsgi/uwsgi.log
    

    7.安装 uwsgi

    跳出虚拟环境 
    	离开虚拟环境  deactivate
    
    安装 uwsgi 
    pip install uwsgi
    
    
    

    8.启动

    uwsgi --ini uwsgi.ini
    

    uwsgi 启动报错

    uwsgi: error while loading shared libraries: libssl.so.1.1: cannot open shared object file: No such file or directory

    https://blog.csdn.net/MarsYWK/article/details/86704428?utm_medium=distribute.pc_relevant.none-task-blog-BlogCommendFromMachineLearnPai2-1.control&depth_1-utm_source=distribute.pc_relevant.none-task-blog-BlogCommendFromMachineLearnPai2-1.control

    把anaconda3/lib 下相应的包软链到/lib64下去(64bit 机器,如果时32bit 机器则软链到/lib下)
    
    
    sudo ln -s /anaconda3/lib/libssl.so.1.1 /lib64/libssl.so.1.1
    
    
    (py3) [root@localhost ~]# ln -s /root/anaconda3/lib/libicui18n.so.58 /lib64/libicui18n.so.58
    (py3) [root@localhost ~]# ln -s /root/anaconda3/lib/libicuuc.so.58 /lib64/libicuuc.so.58
    (py3) [root@localhost ~]# ln -s /root/anaconda3/lib/libicudata.so.58 /lib64/libicudata.so.58
    
    
    
    
    把进入anaconda3的lib下的目录,将libstdc++.so.6.0.24拷贝到/lib64目录下。
      cp libstdc++.so.6.0.24 /lib64/
    进入/lib64目录删除原来的libstdc++.so.6符号连接。
      rm -rf libstdc++.so.6
    新建新符号连接。
      ln -s libstdc++.so.6.0.24 libstdc++.so.6
    再次执行查看结果符合就哦了。
    
    
    
    日志文件夹得给权限 sudo chmod 777 -R uwsgi
    

    9.关闭

    sudo pkill -f uwsgi -9
    
  • 相关阅读:
    GIL锁、进程池和线程池、同步和异步
    线程
    socket编程
    单例模式
    反射、自定义内置方法来定制类的功能、元类
    elasticSearch(一)--数据1
    docker学习整理(三)
    docker学习整理(二)
    docker学习整理(一)
    IDEA 配置mybatis生成代码
  • 原文地址:https://www.cnblogs.com/angdh/p/14082429.html
Copyright © 2011-2022 走看看