CentOS7源码安装Python、virtualenv虚拟环境安装、uwsgi安装配置

一:Python源码安装

1:Python源码下载XZ开头的 https://www.python.org/downloads/source/

  

2:解压:tar xf Python-3.8.11.tgz

3:配置:

   1:先安装依赖环境

    yum -y install gcc-* openssl-* libffi-devel sqlite-devel

  

 

4:配置:./configure --enable-optimizations --with-openssl=/usr/bin/openssl

5:编译:make -j4

  

 

6:安装:make install

python 默认安装路径:/usr/local/lib/python3.8

 

二:virtualenv虚拟环境安装

1:升级pip

  执行:pip3 install --upgrade pip

  会报一个错误关于ssl的,解决如下:

  在源码目录中 Modeules/Setup 文件中211-214行放开注释。然后重新编译、安装

2:设置pip镜像地址 参考文档

3:安装虚拟环境 参考文档

三:安装uwsgi

  1:执行:pip install uwsgi

  2:创建一个配置文件 执行:mkdir /etc/uwsgi

  3:编辑配置文件执行:vim /etc/uwsgi/uwsgi.ini

   配置内容如下:

[uwsgi]
uid = root
gid = root
# 使用nginx链接时使用,django程序所在服务器地址
# 选择内网IP和端口 192.168.31.170   172.17.0.1:8000 # 47.110.45.184:8090
socket = 127.0.0.1:8090
# 直接做web服务器使用
# http = 0.0.0.0:8090
# uwsgi服务器的角色主进程
master = true
# 多站模式
vhost = true
# 多站模式时不设置入口模块和文件
no-site = true
# 子进程
workers = 2
# 平滑的重启
reload-mercy = 10
# 退出、重启时清理文件
vacuum = true
# 开启1000个进程后,自动respawn下
max-requests = 1000
# 将进程的总内存量控制在512M
limit-as = 512
buffer-size = 30000
# 存放进程编号文件
pidfile = /var/run/uwsgi8090.pid
# 日志文件
daemonize = /var/log/uwsgi8090.log
#项目根目录
#chdir = /home/ubuntu/smart_farm
# 项目中wsgi.py文件目录
#wsgi-file = smart_farm/wsgi.py
# 进程数
#processes = 4
# 线程数建议2*cup核数+1
#threads = 4

# 指定虚拟环境所在目录,不能填写相对目录
virtualenv = /home/centos/.virtualenvs/test

   启动:uwsgi --ini /etc/uwsgi/uwsgi.ini

   查看:netstat -ntpl

    

 

   传统修改了配置文件后重启方式:

     1:执行 cat /var/run/uwsgi8090.pid 获取进程id

     2:在根据上面得到的进程id号杀死 kill -9 进程id

     3:重新开启 uwsgi --ini /etc/uwsgi/uwsgi.ini

     为了方便管理uwsgi,写一个脚本

   执行:vim /etc/init.d/uwsgi 脚本内容如下:

    

 

 

 

 

 

 

 

   在执行:chmod 755 /etc/init.d/uwsgi

   测试如查看uwsgi状态执行:/etc/init.d/uwsgi status

   测试关闭uwsgi执行:/etc/init.d/uwsgi stop

   测试开启uwsgi执行:/etc/init.d/uwsgi start

四:安装redis 官方文档

  源码安装redis 参考文档

  redis配置设置 参考文档

   

posted @ 2021-11-01 09:14  begrateful  阅读(410)  评论(0编辑  收藏  举报