首页 > 系统相关 >Centos 7 - uWSGI服务器 虚拟环境配置详解及

Centos 7 - uWSGI服务器 虚拟环境配置详解及

时间:2023-03-24 16:55:45浏览次数:41  
标签:Centos testenv 虚拟环境 uwsgi testproject home uWSGI

@

目录

1. 系统环境

Centos 7

anaconda3 

2. uWSGI安装

pip install uwsgi

3. 虚拟环境配置

3.1 创建虚拟环境

conda create --name testenv python=3.7

3.2 启动虚拟环境

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

conda activate testenv

虚拟环境内安装uwsgi

(testenv)pip install uwsgi

有些文章说是系统级安装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

在这里插入图片描述

[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

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

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

进入anaconda3 虚拟环境

conda activate testenv

which命令:

(testenv) which uwsgi
/home/anaconda3/envs/testenv//bin/uwsgi

位置在这里

/home/anaconda3/envs/testenv//bin/uwsgi

5.2 直接命令运行

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

后台运行:

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

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

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

cat /home/work/testproject/test_uwsgi.log

参考链接

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

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

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

标签:Centos,testenv,虚拟环境,uwsgi,testproject,home,uWSGI
From: https://www.cnblogs.com/Loki-Severus/p/17252648.html

相关文章

  • Centos + Django + Nginx + uwsgi 部署项目-rpm包安装 Mysql 5
    笔者发觉下面这个方法可能有些缺陷,适合自己的就看下,如果是新开的虚拟机有可能不适用下面的方法,云服务器开的LinuxCentos系统应该可以。虚拟机安装Mysql的具体方法,可以看......
  • centos7安装tinyproxy
    一般需要先安装gccyuminstallgcc-y具体命令如下:gitclonehttps://github.com/tinyproxy/tinyproxy.gitcdtinyproxy./autogen.sh./configure--prefix=/usr/loca......
  • CentOS7下/etc/rc.local开启自启不执行问题处理
    1、原因:服务器重启后rsync服务没有起来,rsync启动已经写入/etc/rc.local中2:分析:查看more/etc/rc.local写启动内容没问题,也是全路径;查看/etc/rc.local文件,是一个链接,链......
  • Centos7下安装Elasticsearch6步骤
    Centos7下安装Elasticsearch6步骤1、安装jdk2、安装Elasticsearch1、新建一个esGroup组和用户(出于安全考虑,Elasticsearch默认是不允许使用root账号运行的)2、更改Elasticsear......
  • centos多网卡时修改网卡的优先级
    我有个服务器有多个网卡,分别配置了多个网段的IP地址,发现有一个网段ping不通。最后发现是路由优先级的问题。查看路由查看本机路由route主要看Metric的值,值越小表示优先级......
  • CentOS7关机重启之后,Mysql8启动不成功
    我在自己电脑上使用VM工具安装了虚拟机,CentOS7,里面继续安装了mysql8,下班的时候,直接把整个虚拟机关机了,没有依次关闭里面的服务,早上来的时候发现启动不来mysql 它提示用......
  • centos 8 手把手部署并安装 itlab Jenkins
    目录centos8镜像下载安装其他错误下载源数据失败无法联网网站的搭建安装gitlabJenkinscentos8镜像下载安装centos8镜像下载安装(下载源)[镜像大概在8.2G往上,做好......
  • CentOS7 安装 Sublime Text3
    在官网下载,下载链接:http://www.sublimetext.com解压:sublime_text_build_4113_x64.tar.xz这是两层压缩,外面是xz压缩方式,里层是tar压缩[root@bogonwwwroot]#xz-dsublime_......
  • Centos7安装npm
    下载node镜像,这里我们选择node-v16.19.1-linux-x64.tar.gzwgethttps://nodejs.org/dist/v16.19.1/node-v16.19.1-linux-x64.tar.gz如果想下载其他版本,可以在https://......
  • Centos7搭建redis7集群
    redis集群搭建准备了3台主机,每台主机部署2个节点,整个集群3个master节点和3个slave节点组成主机:192.168.130.101 7001 7002      192.168.130.102 7001 70......