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

一:Python源码安装

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

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

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

3:配置:

1:先安装依赖环境

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

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

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

5:编译:make -j4

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

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

配置内容如下:

bash;gutter:true; [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</p> <h1>项目根目录</h1> <h1>chdir = /home/ubuntu/smart_farm</h1> <p>项目中wsgi.py文件目录</p> <h1>wsgi-file = smart_farm/wsgi.py</h1> <p>进程数</p> <h1>processes = 4</h1> <p>线程数建议2*cup核数+1</p> <h1>threads = 4</h1> <p>指定虚拟环境所在目录,不能填写相对目录 virtualenv = /home/centos/.virtualenvs/test

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

查看:netstat -ntpl

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

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

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 脚本内容如下:

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

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

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

CentOS7源码安装Python、virtualenv虚拟环境安装、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配置设置 参考文档

Original: https://www.cnblogs.com/wendj/p/15481099.html
Author: begrateful
Title: CentOS7源码安装Python、virtualenv虚拟环境安装、uwsgi安装配置

原创文章受到原创版权保护。转载请注明出处:https://www.johngo689.com/576494/

转载文章受原作者版权保护。转载请注明原作者出处!

(0)

大家都在看

  • MySQL数据库 DDL 阻塞问题定位 【转载】

    陈臣,甲骨文MySQL首席解决方案工程师,公众号《MySQL实战》作者,有大规模的MySQL,Redis,MongoDB,ES的管理和维护经验,擅长MySQL数据库的性能优化及日常…

    数据库 2023年6月16日
    085
  • Mybatis-Plus使用 ORDER BY FIELD

    一、Mybatis-Plus使用 ORDER BY FIELD 如图所示 两张仅有一个字段关联的表,商品表想用活动商品表查出来的顺序去查商品可以使用以下方法(不想去XML写Sql的…

    数据库 2023年6月6日
    082
  • 你真的懂Python命名吗?

    转载请注明出处❤️ 作者:测试蔡坨坨 原文链接:caituotuo.top/7417a7f0.html 大家好,我是测试蔡坨坨。 今天,我们来聊一下Python命名那些事儿。 名为…

    数据库 2023年6月11日
    0147
  • CSS进阶内容—浮动和定位详解

    CSS进阶内容—浮动和定位详解 我们在学习了CSS的基本知识和盒子之后,就该了解一下网页的整体构成了 当然如果没有学习之前的知识,可以到我的主页中查看之前的文章: CSS的三种布局…

    数据库 2023年6月14日
    074
  • 设计 | ClickHouse 分布式表实现数据同步

    作者:吴帆 青云数据库团队成员主要负责维护 MySQL 及 ClickHouse 产品开发,擅长故障分析,性能优化。 在多副本分布式 ClickHouse 集群中,通常需要使用 D…

    数据库 2023年5月24日
    097
  • Python丨听说这个地方的漫画不错,只用40行代码,给它全部爬下来

    前因后果 公司新来的小姐姐,超级喜欢看漫画,天天给我介绍,好烦~ 现在是2022年9月15日16点30,于是我决定, 五点下班前写个代码把她说的漫画全部爬下来,应付一下~ 再发篇文…

    数据库 2023年6月14日
    0112
  • 多线程基础知识!!!

    1.1、继承Thread类(重点) public class MyThread extends Thread{ @Override public void run() { } pu…

    数据库 2023年6月16日
    086
  • Class文件结构分析

    概述 在Java语言中,Java虚拟机只能理解 &#x5B57;&#x8282;&#x7801;( class&#x6587;&#x4EF6…

    数据库 2023年6月11日
    074
  • atomic 原子自增工程案例

    案例 1 : 简单用法 atomic_int id; atomic_fetch_add(&id, 1) atomic_uint id; atomic_fetch_add(&…

    数据库 2023年6月9日
    089
  • 磁盘空间满,如何处理?

    作为运维人员,磁盘空间报警是最寻常遇到的情况,那么遇到空间如何处理呢?这里介绍一下处理办法及处理思路。 操作系统:centos系统 、Ubuntu 1 定位目录 收到空间报警信息,…

    数据库 2023年6月14日
    085
  • MYSQL–>SQL优化

    Insert优化 优化原因:MYSQL数据库中insert每执行一次都会对数据库进行一次连接,会浪费很大资源。 优化方案: 批量插入 插入数据的时候尽量一次性批量插入多个数据而不是…

    数据库 2023年6月14日
    090
  • Redis和Mysql保持数据一致性

    1、简述 在高并发的场景下,大量的请求直接访问Mysql很容易造成性能问题。所以,我们都会用Redis来做数据的缓存,削减对数据库的请求。但是,Mysql和Redis是两种不同的数…

    数据库 2023年6月16日
    085
  • 【黄啊码】小程序:九宫格抽奖如何实现?可控制抽奖率

    如果让你用微信小程序获取经纬度,然后在后台计算距离,返回数据 一般人的逻辑就是:getLocation之后直接request 然而,当你request后才发现,根本没有弹窗,wha…

    数据库 2023年6月16日
    0147
  • mysql数据库 Window下安装

    关系数据库,是建立在关系数据库模型基础上的数据库,借助于集合代数等概念和方法来处理数据 库中的数据,同时也是一个被组织成一组拥有正式描述性的表格,该形式的表格作用的实质是装载着数 …

    数据库 2023年6月9日
    096
  • markdown语法

    特殊字符对照表 点击查看特殊字符对照表 特殊字符 描述 字符代码 空格符 & 逻辑与 < 小于号 大于号 ¥ 人民币 ± 正负号 × 乘号 ÷ 除号 © 版权符号 ®…

    数据库 2023年6月6日
    069
  • logrotate command in Linux

    背景 在生产过程中,由于磁盘空间、保留周期等因素,会对系统、应用等日志提出要求,要求系统日志定期进行轮转、压缩和删除,从而减少开销,而系统自带的 logrotate 则是一个简单又…

    数据库 2023年6月14日
    0170
亲爱的 Coder【最近整理,可免费获取】👉 最新必读书单  | 👏 面试题下载  | 🌎 免费的AI知识星球