码农知识堂 - 1000bd
  •   Python
  •   PHP
  •   JS/TS
  •   JAVA
  •   C/C++
  •   C#
  •   GO
  •   Kotlin
  •   Swift
  • Centos 7 - uWSGI服务器 虚拟环境配置详解及 .ini 文件配置模板 - No module named ‘encodings - uWSGI服务器无法识别虚拟环境内的python解释器


    目录

    • 1. 系统环境
    • 2. uWSGI安装
    • 3. 虚拟环境配置
      • 3.1 创建虚拟环境
      • 3.2 启动虚拟环境
      • 虚拟环境内安装uwsgi
    • 4. uwsgi.ini 配置模板
    • 5. uWSGI服务器无法识别虚拟环境内的python解释器
      • 5.1 查看 uwsgi 的可执行文件位置
      • 5.2 直接命令运行
      • 5.3 查看 uWSGI服务器的日志文件,验证是否成功
    • 参考链接

    1. 系统环境

    Centos 7
    
    anaconda3 
    
    • 1
    • 2
    • 3

    2. uWSGI安装

    pip install uwsgi
    
    • 1

    3. 虚拟环境配置

    3.1 创建虚拟环境

    conda create --name testenv python=3.7
    
    • 1

    3.2 启动虚拟环境

    好像有些是 source activate ,不过笔者这里的是下面的命令启动虚拟环境的。

    conda activate testenv
    
    • 1

    虚拟环境内安装uwsgi

    (testenv)pip install uwsgi
    
    • 1

    有些文章说是系统级安装uWSGI服务器,不过这里有一个让人头疼的问题,那么就是安装了系统级的 uWSGI 服务器后,已经配置好了虚拟环境python解释器路径,但是uWSGI 竟然老是默认是系统级的 python 解释器,导致虚拟环境内的 python 解释器无法被识别调用,这就很古怪了,一开始以为是虚拟环境的路径识别问题,在激活虚拟环境后,在虚拟环境内使用 python -m venv --upgrade venv path ,更新虚拟环境路径配置文件,但最多解决Python3 venv 模块 No module named 'encodings' 问题,面对这种问题,笔者在虚拟环境内再次安装 uWSGI ,至此,问题解决,虚拟环境内的 python 解释器路径能被识别。

    4. uwsgi.ini 配置模板

    shell 命令查看虚拟环境下 uwsgi.ini 文件的配置变量:

    uwsgi --help | grep virtualenv
    
    • 1

    在这里插入图片描述

    [uwsgi]
    #uid=test
    #gid=test
    
    #uid=www-data # Ubuntu系统下默认用户名
    #gid=www-data # Ubuntu系统下默认用户组
    project=testproject# 项目名
    base=/home/work/testproject# 项目根目录
    wsgi-file=/home/work/testproject/testproject/wsgi.py
    home = /home/anaconda3/envs/testenv
    #virtualenv = /home/anaconda3/envs/testenv
    #pyhome = /home/anaconda3/envs/testenv
    
    #http=127.0.0.1:8080
    #http-socket=127.0.0.1:8080
    #socket=/home/work/testproject/testproject.sock 
    socket=127.0.0.1:8080
    pidfile=uwsgi.pid
    processes=4
    threads=2
    enable-threads=true
    # socket权限设置
    chmod-socket=664  # 为 .sock 文件配置读、写、运行权限
    # 服务停止时,自动移除unix socket和pid文件
    vacuum=True
    master=True
    # 设置自中断时间
    harakiri=300
    # 设置缓冲
    post-buffering=6553600
    # 超时
    http-timeout=600
    #配置dump uwsgi 服务器日志记录
    daemonize=/home/work/testproject/test_uwsgi.log
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15
    • 16
    • 17
    • 18
    • 19
    • 20
    • 21
    • 22
    • 23
    • 24
    • 25
    • 26
    • 27
    • 28
    • 29
    • 30
    • 31
    • 32
    • 33
    • 34

    5. uWSGI服务器无法识别虚拟环境内的python解释器

    5.1 查看 uwsgi 的可执行文件位置

    进入anaconda3 虚拟环境

    conda activate testenv
    
    • 1

    which命令:

    (testenv) which uwsgi
    /home/anaconda3/envs/testenv//bin/uwsgi
    
    • 1
    • 2

    位置在这里

    /home/anaconda3/envs/testenv//bin/uwsgi
    
    • 1

    5.2 直接命令运行

    /home/anaconda3/envs/testenv//bin/uwsgi --ini /home/work/testproject/testproject.ini
    
    • 1

    后台运行:

    nohup /home/anaconda3/envs/testenv//bin/uwsgi --ini /home/work/testproject/testproject.ini  >/dev/null 2>&1 &
    
    • 1

    5.3 查看 uWSGI服务器的日志文件,验证是否成功

    用 vs code 编辑器,反正都可以,或者命令行 cat

    cat /home/work/testproject/test_uwsgi.log
    
    • 1

    参考链接

    1. 使用uWSGI和nginx来设置Django和你的web服务器

    2. Python3 venv 模块 No module named ‘encodings’ 其中一种解决办法

    3. python虚拟环境配置文件_uwsgi 配置 python virtualenv 虚拟环境目录 ( ini 配置)

  • 相关阅读:
    小程序列表下拉刷新和加载更多
    【Java高级】一篇文章带你学会什么是注解
    数据结构(C语言版)概念、数据类型、线性表
    【最全】PS各个版本下载安装及小试牛刀教程(PhotoShop CS3 ~~ PhotoShop 2022)
    docker系列7:docker安装ES
    Three.js机器人与星系动态场景:实现3D渲染与交互式控制
    读懂:“消费报销”模式新零售打法,适用连锁门店加盟的营销方案
    thinkphp+mysql校园篮球比赛网站vue+elementui
    PHP将数据集转换成树状结构
    STM32实战总结:HAL之触摸屏
  • 原文地址:https://blog.csdn.net/qq_42701659/article/details/127583808
  • 最新文章
  • 攻防演习之三天拿下官网站群
    数据安全治理学习——前期安全规划和安全管理体系建设
    企业安全 | 企业内一次钓鱼演练准备过程
    内网渗透测试 | Kerberos协议及其部分攻击手法
    0day的产生 | 不懂代码的"代码审计"
    安装scrcpy-client模块av模块异常,环境问题解决方案
    leetcode hot100【LeetCode 279. 完全平方数】java实现
    OpenWrt下安装Mosquitto
    AnatoMask论文汇总
    【AI日记】24.11.01 LangChain、openai api和github copilot
  • 热门文章
  • 十款代码表白小特效 一个比一个浪漫 赶紧收藏起来吧!!!
    奉劝各位学弟学妹们,该打造你的技术影响力了!
    五年了,我在 CSDN 的两个一百万。
    Java俄罗斯方块,老程序员花了一个周末,连接中学年代!
    面试官都震惊,你这网络基础可以啊!
    你真的会用百度吗?我不信 — 那些不为人知的搜索引擎语法
    心情不好的时候,用 Python 画棵樱花树送给自己吧
    通宵一晚做出来的一款类似CS的第一人称射击游戏Demo!原来做游戏也不是很难,连憨憨学妹都学会了!
    13 万字 C 语言从入门到精通保姆级教程2021 年版
    10行代码集2000张美女图,Python爬虫120例,再上征途
Copyright © 2022 侵权请联系2656653265@qq.com    京ICP备2022015340号-1
正则表达式工具 cron表达式工具 密码生成工具

京公网安备 11010502049817号