当前位置: 首页 > news >正文

Python生产环境构建

目录

Python生产环境构建的介绍

Python生产环境的部署

linux系统上的操作!!!

安装依赖包

下载并编译Python

配置一些开机自启的配置

设定 mirros.ustc.edu.cn pip源

下载virtualenv

window系统上的操作(选)

linux系统上的操作!!!

创建项目目录

从后端拿到对应的项目克隆到服务器中

构建项目对应的虚拟环境并安装项目依赖

解决办法

主机系统中安装supervisor(守护进程)并根据项目README文件配置启动文件

验证启动


Python生产环境构建的介绍

在线上环境中 `python环境` 的设置也是尤为重要的, 这里主要介绍单体应用的环境设置, 容器环境只需要采用相应镜像即可。 在线上环境中同样采用 `virtualenv` 来针对不同的项目及异步程序进行环境的设定, 根据项目根目录中提供的 `requirements.txt` 包版本控制文件进行依赖项的安装及同步。 为了更好的对 `python版本` 的控制, 采用源码部署是通用的方式。

Python生产环境的部署

linux系统上的操作!!!

安装依赖包

yum -y install epel-release
yum -y groupinstall "Development Tools"
yum -y install zlib-devel bzip2-devel openssl-devel ncurses-devel sqlite-devel readline-devel tk-devel gdbm-devel db4-devel libpcap-devel xz-devel libffi-devel gcc zlib  libffi libffi-devel openssl11 openssl11-devel

下载并编译Python

https://www.python.org/downloads/source/

tar xf Python-3.14.0.tar.xz -C /opt #解压指定位置opt
cd /opt/Python-3.14.0/ #进入解压完成的包
./configure --prefix=/usr/local/Python-3.14.0/ --with-openssl=/usr/bin/openssl && make -j 4 && make install#--prefix指定安装位置
#--with-openssl确保openssl模块能被正确编译

这个样子是编译成功的

配置一些开机自启的配置

vim /etc/profile.d/openssl11.sh
export CFLAGS=$(pkg-config --cflags openssl11)
export LDFLAGS=$(pkg-config --libs openssl11)vim /etc/profile.d/python3.14.sh
export PATH=$PATH:/usr/local/Python-3.14.0/binsource /etc/profile

设定 mirros.ustc.edu.cn pip源

sudo pip3 install -i https://pypi.mirrors.ustc.edu.cn/simple/ --upgrade pip
ln -sf /usr/local/Python-3.14.0/bin/pip3 /usr/local/Python-3.14.0/bin/pip
pip config set global.index-url https://mirrors.ustc.edu.cn/pypi/web/simple

下载virtualenv

pip install virtualenv

window系统上的操作(选)

 具体操作看这一篇Python个人开发环境构建-CSDN博客

像linux一样创建两个文件夹存项目文件和虚拟环境的项目文件(看一下而已)

将拿到的项目代码放在Project下,在envs中创建项目的虚拟环境

写一下Python的虚拟环境解释器

linux系统上的操作!!!

创建项目目录

mkdir -p /srv/envs/apps	 // 创建各项目存放虚拟环境的目录
mkdir -p /srv/apps			 // 创建存放项目的目录

从后端拿到对应的项目克隆到服务器中

cd /srv/apps
git clone 去克隆项目

构建项目对应的虚拟环境并安装项目依赖

virtualenv -p python3 /srv/envs/apps/helloworld #创建虚拟环境
cd /srv/apps/helloworld
source /srv/envs/apps/helloworld/bin/activate #进入虚拟环境
pip install -r requirements.txt #下载代码所依赖的包
deactivate #退出虚拟环境

默认运行代码之后是占用前台资源的生产环境中式不要占用前台资源

解决办法

主机系统中安装supervisor(守护进程)并根据项目README文件配置启动文件
pip3 install supervisor #守护进程
echo_supervisord_conf >/etc/supervisord.conf #生成主配置文件
vim /etc/supervisord.conf最下面的位置创建一个子配置文件,可以将前台程序目录放在子配置中;[include];files = /etc/supervisord.d/*.ini
vim /etc/supervisord.d/程序名.ini
下方代码写入
[program:helloworld]
directory=/srv/apps/helloworld #项目所在的目录
command=/srv/envs/apps/helloworld/bin/python /srv/apps/helloworld/server.py #虚拟环境路径和运行的文件
autostart=true #自动的启动
autorestart=true #自动重启
startsecs=10 #开始10秒钟检测程序
stderr_logfile=helloworld_stderr.log #存储日志的文件
stdout_logfile=helloworld_stdout.log
stdout_logfile_maxbytes = 20MB #达到保留的条件
stdout_logfile_backups = 20 #日志保留的个数supervisord -c /etc/supervisord.conf #手动启动supervisord

验证启动

supervisorctl reload #重载
supervisorctl update #更新
supervisorctl status #查看状态
ps aux | grep super

http://www.dtcms.com/a/467498.html

相关文章:

  • 北京网站建设w亿玛酷1专注关于加强公司网站建设的通知
  • 珠海网站制作渠道电商推广和网络推广的策略
  • 旅游网站建设案例分析镇江公交优化
  • 用everything实现从主机下载资源
  • 网站开发与维护好找工作吗wordpress分类目录添加图片
  • 深入了解 IDS/IPS/IDP:概念、问题与应对策略
  • 珠海企业建站西宁软件网站建设
  • 什么网站可以做动画报名系统网站开发
  • 杭州富阳建设局网站女孩子做室内设计累吗
  • flash做网站步骤最近中文字幕2018免费版2019
  • 个人网站可以做推广不dedecms做的网站手机上看图片变形
  • 江苏住房建设厅网站温州建设集团招聘信息网站
  • 【iOS】KVC总结
  • 湖北省建设厅投标报名官方网站企业产品做哪个网站推广好
  • stable-diffusion试验1-静态人物
  • 信息网站建设费使用年限望野王
  • C++ 中 std::numeric_limits使用详解
  • 爱网站无法登录怎么回事seo网络优化公司
  • 思睿鸿途北京网站建设网页设计模板素材网站
  • Google 智能体设计模式:反思
  • 网页设计与网站建设实训目的装修平台app
  • dede无法更新网站主页到asp.net网站开发典型模块与实例精讲
  • [嵌入式系统-90]:GPU是一个以极致并行计算为目标的专用加速器芯片,其特点是拥有海量轻量级处理单元和高带宽内存系统,用于执行高度规则的数据并行任务。
  • 类和对象的创建
  • 网站建设管理风险点站外推广渠道
  • 永兴做网站聚美优品网站建设分析
  • 实现支持链式调用但构造函数不可链式调用的 JavaScript 类
  • Python 函数与Lambda表达式完整指南
  • Java内存模型与并发编程:如何高效、安全地写并发程序?
  • 哪一个网站做专栏作家好点小程序制作开发定制