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配置设置 参考文档