- 博客(52)
- 收藏
- 关注
原创 基于docker部署python私有仓库-devpi
一、制作镜像1、Dockerfilecat DockerfileFROM python:3.7-alpineMAINTAINER yangyuhang@qq.comRUN echo "http://mirrors.aliyun.com/alpine/v3.11/main" > /etc/apk/repositories && \ echo "http://mirrors.aliyun.com/alpine/v3.11/community" >>.
2020-07-24 19:03:12
1151
原创 [踩坑篇]logrotate切割日志后,日志还是写在老日志文件中
背景 公司的生产环境中,使用gunicorn部署后端后端django服务,每天会产生很多前端掉调用后端api的日志文件,为了方便管理这些文件,使用了Linux自带的日志切割工具logrotate,每天对log目录下的日志文件进行切割备份,使用起来十分方便。 但是在使用两天后发现了一个问题:虽然日志文件每天凌晨三点会进行切割,并将老的日志文件以时间戳为结尾进行备份,但是程序依然会将日志信息写入老文件中,新的日志文件一直为空。配置及测试结果如下:切割结果:由上图可见,日志切割认为已经完...
2020-06-10 15:06:16
3927
原创 python:3.7-alpine镜像使用踩坑
问题 今天开发更新了代码,Jenkins在自动构建打包时报错了,查看日志后发现Dockerfile在执行pipenv install--deploy --system --ignore-pipfile时报错了,报错如下:即pypi阿里源里面没有protobuf==3.12.1的包,匹配不到所以无法安装。解决 昨天在解决时区问题时发现python-alpine是一个极简的镜像,所以这次依旧怀疑是环境的问题,所以我在自己的centos机器是那个尝试使用阿里源安装这个版本的依赖:...
2020-06-05 16:48:01
5174
原创 记一次使用python-alpine镜像部署Django项目排错经历
背景 在对公司的Django项目进行容器化的过程中,生产环境上出现了一个问题:客户在前台使用产品时有部分请求会返回403状态码,刷新一下后就又访问成功了。后端开发人员在进行排查时发现返回403状态码的原因是客户携带的token过期了,但客户是几分钟之前才登陆的。在咨询后端工程师对token校验的逻辑后发现,非正常的请求客户的token时间比passport服务器上的时间晚了8小时,即部分后端服务器上的程序所使用的时区是UST,而passport服务器是CST,导致校验不通过。 ...
2020-06-04 19:19:51
564
原创 Jenkins配置Kubernetes Cloud(https)
摘要Jenkins连接低版本的Kubernetes(v1.11以下)时不需要进行验证,但新版本开启了https验证,需要为Jenkins制作访问apiserver的证书。安装Kubernetes插件登陆Jenkins后点击系统管理->插件管理->可选插件在右上角搜索框中输入kubernetes,在下方筛选出来的结果中找到“Kubernetes”后,点击直接安装:点击下方“安装完成后重启(空闲时)”按钮,重启Jenkins后生效。重新登陆后点击“系统管理->系统配置”,拉到最下
2020-05-21 10:38:46
1848
原创 K8S为什么需要POD?
POD是什么? pod是Kubernetes项目中最小的API对象,也可说是Kubernetes项目中的原子调度单位。在通俗的概念里,pod是一个容器池,在这个池子里我们可以运行很多个容器,看起来就像虚拟机里可以运行很多服务一样。但在本质上,pod跟虚拟机几乎没有任何相似之处。为什么这样说呢?还要从容器的原理来看,毕竟pod中是运行了一个或多个容器的“组合”。容器原理 容器其实是一种沙盒技术。顾名思义,沙盒就像是一个箱子一样,把我们所写的应用装起来。这样,不同箱子里的应用会因为...
2020-05-15 14:27:35
1191
原创 Kubernetes基础概念
一、Kubernetes是什么? Kubernetes(简称K8S)是一个实现容器自动化操作的开源平台,包括部署、调度、滚动更新和节点集群扩展等操作。这些复杂的操作过程在K8S中均可通过一两行命令或者web端点击进行完成,不需要再使用脚本完成。Docker是K8S的一个基础组件,K8S除了支持Docker之外,也支持另外一种容器技术---Rocket。使用K8S可以实现:容...
2020-05-03 19:06:57
338
原创 docker部署Python Django前后端分离项目
一、部署准备1、创建项目目录,将资源都放在该目录下tree docker/docker/├── backend│ ├── Dockerfile│ └── start.sh├── docker-compose.yaml└── front ├── Dockerfile └── nginx3 directories, 4 files2、安装dock...
2020-04-30 12:39:31
545
原创 清除Centos 7 syslog中的无用信息
环境Centos 7问题在我的机器上,发现/var/log/message文件中经常会产生很多如下无用日志:Jan 20 18:28:26 pycharm systemd: Started Hostname Service.Jan 20 18:30:01 pycharm systemd: Starting Session 10 of user root.Jan 20 18:30:...
2019-01-21 15:19:41
877
原创 基于RSYNC的实时目录同步
应用场景搭建多台web服务器实现负载均衡,因此多台服务器的网站文档内容必须实时同步。本实例中使用两台web服务器,基于rsync进行目录同步,需要结合inotify机制实现触发式的上行同步,保持两个网站的文档的统一性。部署过程1、安装inotifywget http://yh-30.oss-cn-hangzhou.aliyuncs.com/%E8%B5%84%E6%BA%90/i...
2019-01-14 11:16:10
1778
原创 ELK日志分析平台实战(二)
一、实战环境1、架构图相比上一篇博客,该架构的变化在于将单点ES替换为ES集群(master+data_node)2、机器分布192.168.117.136 Nginx+filebeat192.168.117.137 Nginx+filebeat192.168.117.138 logstash192.168.117.139 es+kiba...
2018-12-29 18:13:30
512
原创 ELK日志分析平台实战(一)
一、实战环境1、架构图Filebeat作为日志采集器分别部署在Nginx服务器上,logstash作为日志过滤器单独部署在服务器上,es与Kibana部署在同一台服务器上,通过内网传输日志数据,Nginx代理Kibana可视化。2、机器分布192.168.117.136 nginx+filebeat192.168.117.137 Nginx+filebeat192.1...
2018-12-29 16:45:43
406
原创 Python函数
##函数的定义##函数的定义:def 函数名(): 函数体 return 返回值1,返回值2注:其中返回值在有的函数中可以没有。##函数的调用##函数定义好后需要调用才能执行,调用的过程就是直接调用函数名加括号,即可执行,如下: ##有参数的函数##必选参数##def add(x,y): ##形式参数## pr
2018-01-09 16:00:39
737
原创 Python集合
##集合的定义##第一种定义方式:赋值定义s = {1,2,3,"hello"}print type(s)print s 注意:在赋值法定义集合时,大括号中必须要有值,否则系统将自动判定s为字典类型!!! 第二种方式:工厂式定义集合s = set()print type(s)注意:工厂式定义时括号内没有值!! 用该方式定义后,s可以被赋值,可以是列表,字符串等任何数据类型 但
2018-01-08 21:12:40
308
原创 Python字典
##字典结构####定义##字典是Python中重要的数据类型,字典是由“键-值“对组成的集合,字典的“值“通过“键“来引用。##字典的创建####赋值创建字典##d = {"key1":"value1","key2":"value2","key3":"value3"}注:key值与value值之间用冒号,一个key对应一个value;两个键值对之间用逗号隔开##通过工厂函数创建字典##us
2018-01-03 19:35:30
413
原创 Python列表
##列表结构##列表是Python中非常重要的数据类型,通常作为函数的返回类型。列表和元组相似,也是由一组元素组成,列表可以实现添加,删除和查找操作,元素值可以被修改。##列表的创建##列表定义:list = [元素1,元素2,元素3,....]列表中的元素可以是数,字符串,元组,甚至是列表。举例:list = [1,2,"westos",(1,3,5,7),[2,4,6,8]]列表与元组的
2018-01-02 22:44:55
980
原创 Python面试题
第一个题: ##分析##该题纯考if...elsif..else语句的语法与判断过程,按一般顺序结构写即可代码如下: 代码调试: 第二题: 问题描述:一个整数,加上100是完全平方数,加上168还是完全平方数,求该数?##分析##由于没有对该数的范围有限制,则需要从0开始进行遍历,每遍历一个数,判断一次。##代码##for i in range(1,100): ##遍历
2017-12-27 19:06:38
415
原创 Python练习题
1、在Linux电脑上安装pycharm专业版本软件 pycharm工具可以在官网https://www.jetbrains.com/pycharm/上下载,分专业版和社区版: 专业版需要注册码(收费),而社区版完全免费开放但功能较少,在此介绍专业版的免费安装: 点击上图Professional(专业版)下的DOWNLOAD进行下载安装包: 输入你的电子邮箱后即可下载安装包,
2017-12-27 13:08:25
668
原创 Python元组
元组的结构元组是Python中常用的一种数据结构。元组由不同的元素组成,每个元素可以存储不同类型的数据,如字符串、数字、甚至元组。元组是“写保护”的,即元组创建后不能再做任何修改操作,元组通常代表一行数据,二元组中的元素代表不同的数据项。 1、元组的创建#格式:t = (元素1,元素2,元素3,....)#初始化实例:t = (1,2,"hello",'s',2j,True)注意:元组中各元
2017-12-26 23:47:22
635
原创 Python控制语句
一、 条件判断语句1、概念:条件语句是指根据条件表达式的不同计算结果,使程序流转至不同的代码块。 2、if else 条件语句 if语句的基本格式如下。if 表达式: 语句1else: 语句2if语句的执行过程:如果表达式的布尔值为真,则执行语句1;否则执行语句2。其中else语句可以省略。 注意:if 表达式后的冒号不能省略,else后的冒号也不能省略,否则系统报错!!!
2017-12-26 23:00:36
318
原创 Python的基础数据结构
一、变量的命名规则 变量的名称的设定规则是:由字母、数字或下划线组成,必须以字母或下划线开头,其他字符可以由字母、数字或下划线(即数字不能出现在开头),也不可以由关键字 正确的变量命名:aInt = 1_hell8 = 2错误的变量命名:1Int = 3 ##以数字开头si$2 = 4 ##含有其他特殊字符if = 3 ##if为关键字,不能作
2017-12-26 17:12:51
405
原创 Python简介
一、Python的由来 Pthon是一种动态解释性的编程语言,由Guido(龟叔)在1989年开发,于1991年发表。Guido曾是CWI公司的一员,使用解释性编程语言ABC开发应用程序,该语言在开发软件上有局限性,为了更高效的完成一些任务,Guido设计了一门更通用的程序设计语言。Python就此诞生。 二、Python的开发环境 1、Python的开发环境有多种,在windows
2017-12-26 16:57:39
231
原创 Linux系统之网卡安装系统pxelinux
一、网卡安装系统的优点网卡安装系统是指将系统的安装包通过dhcp、http服务传送到需要安装系统的服务器中,可以同时安装十几台甚至上百台服务器,而用硬盘或驱动安装每次只能安装一台服务器,通过网卡安装更为方便。二、网卡安装的部署1、服务端软件的安装2、配置tftpvim /etc/xinetd.d/tftp将disable的值改为NO才能进行使用,默认
2017-12-11 23:34:09
604
原创 Linux系统之iscsi
一、什么是iscsi?iscsi是一种块级别的协议,用于通过TCP/IP网络共享原始存储设备,即硬盘的共享。可以用已经存在的IP和以太网如网卡、交换机、路由器等通过iSCSI协议共享和访问存储。iSCSI target是一种由远程iSCSI服务器(target)提供的远程硬盘。二、iscsi的安装部署配置服务端:安装:yum install targetcli -y使用
2017-12-11 22:33:42
411
原创 Linux系统之nfs文件共享
一、什么是NFSNFS是Network File System的缩写,即网络文件系统。简单的说 ,一台服务器提供NFS服务(共享目录),客户机可以将服务器上的共享目录挂载到本机,从而实现共享信息。二、NFS的部署安装:yum install nfs-utils -y启动:systemctl start nfs设置防火墙:可以将防火墙关掉,也可以打开firewall-
2017-12-11 21:16:02
446
原创 samba案例
一、工作内容及要求1. 所有员工都能够在公司内流动办公,但不管在哪电脑上工作,都要把自己文件存在 Samba文件服器上.2. 各部门办公人员拥有各自的主目录,用于存放私有文档(工作相关),其他人禁止访问.3. 所有的用户都不允许使用服务器的 SHELL(安全考虑).4. 制造部、财务部、管理部,都有各自的文件目录.5. 各部门目录下提供“对外”、“公共文档”、“受控
2017-12-06 00:24:44
376
原创 Linux系统之SMB文件共享
一、SMB文件共享1、INTERNET文件系统(cifs)也称为服务信,是适用于MicrosoftWindows服务器和客户端的标准文件和打印机共享信息块2、Samba服务器可用于将Linux文件系统作为CIFS网络文件共享进行共享,并将Linux打印机作为CIFS打印机共享进行共享。二、Samba系统的部署即使用1、安装:需要安装samba-client.x86_64、samba
2017-12-05 21:29:17
910
原创 Linux系统之iptables
一、IPTABLES的认识1、iptables和firewalld一样,都是一种动态控制防火墙的工具,通过设定一系列的策略从而保证在与其他主机进行数据传输时系统的安全性。2、iptables具有filter、nat、mangle、raw四种内建表,各个表中又有内建链,有各自不同的功能。二、IPTABLES的常用内建表1、filter表:filter表示iptables的默认表,如果
2017-12-05 19:48:52
231
原创 Linux系统之firewalld
一、firewalld的认识1、firewalld提供了支持网络/防火墙区域(zone)定义网络链接以及接口安全等级的动态防火墙管理工具。 2、firewalld将网卡分为不同的区域,这些区域的区别在于对待来访的用户及传输的数据包的默认动作的不同,通过制定一些安全策略从而保证系统在被访问或传输数据时的安全。二、firewalld区域(zones) firewa
2017-12-04 21:32:35
822
原创 Linux系统之DNS解析
一、DNS的含义 DNS是Domain Name System的英文缩写,被翻译为域名系统,是英特网的一项核心服务,它作为可以将域名和IP相互映射的一个数据库,使用户在访问互联网时只需要记住简单的域名(如www.baidu.com),而不需要记住复杂的被机器直接读取的IP数字串,即DNS的工作就是当用户在输入域名时,帮助用户自动找到该域名对应的IP从而使用户在使用互联网时更加方便
2017-11-29 22:03:30
4457
原创 Linux系统网络桥接
一、网桥的基本知识1、概念:linux网桥是一种以同种协议连接两个局域网的产品。可以把它看成是一个决定发送的包是到自己的局域网还是到另一个局域网的设备。linux网桥检查局域网上所有的包,在同一个局域网中传送它,如果不是同一个网中的,就将它发到别的网上。2、原理:网桥工作在数据链路层,将两个LAN连起来,根据MAC地址来转发帧,可以看作一个“低层的路由器”(路由器工作在网络层,根据网络地址
2017-11-27 22:49:49
6546
原创 mariadb服务
一、mariadb简介 mariadb数据库管理系统是MYSQL的一个分支,主要由开源社区在维护,采用GPL授权许可,是由MYSQL创始人麦克尔·维德纽斯主 导开发的。二、mariadb的安装及初始化1、安装:yum install mariadb-server.x86_64 -y 安装完成后需要启动该服务才能进行使用:syste
2017-11-22 22:46:25
2048
原创 apache的基本使用
一、认识apache apache企业中常用的web服务,也是世界上使用排名第一的web服务器,用来提供http://(超文本传输协议)。二、apache的安装部署 1、yum install httpd -y :下载并安装apache服务器(在linux系统的镜像中有安装包) 2、syst
2017-11-21 15:05:10
18518
1
原创 Linux系统之ftp
一、ftp的定义 ftp是一种文件传输协议,是TCP/IP协议组中的协议之一。该协议是Internet文件传送的基础,它由一系列规格说明文档组成,目标是提高文件的共享性,提供非直接使用远程计算机,使存储介质对用户透明和可靠高效地传送数据。简单的说,FTP就是完成两台计算机之间的拷贝,从远程计算机拷贝文件至自己的计算机上,称之为“下载(download)”文件。若将文件从自己计算机
2017-11-08 20:35:38
475
原创 Linux系统之lvm的应用
一、lvm的介绍 1、lvm:是 Logical Volume Manager(逻辑卷管理)的简写,它由Heinz Mauelshagen在Linux 2.4内核上实现。LVM将一个或多个硬盘的分区在逻辑上集合,相当于一个大硬盘来使用,当硬盘的空间不够使用的时候,可以继续将其它的硬盘的分区加入其中,这样可以实现磁盘空间的动态管理,相对于普通的磁盘分区有很大的灵活性。
2017-11-07 20:43:08
729
原创 Linux系统之存储管理
一、存储设备的查看 1、发现系统中的设备 -l cat /proc/partitions 2、系统发现的,但是没有投入使用,随时可以使用的 blkid 查看设备的id信息
2017-11-06 20:30:40
1027
原创 Linux系统之系统延迟和定时机制
一、系统延时 1、at延时:at命令可以指定某一任务在将来的特定时间执行(必须指定时间) (1)at time :指定某一任务在将来的time时刻进行执行 图中指定在17:51分执行删除当前目录中的所有内容,at中要执行的命令写好后,按“ctrl + d”退出,图中2位置!! 在17:51后,当前目录中的文件全部被删除
2017-11-01 19:46:06
699
原创 Linux系统之ks脚本安装虚拟机与dhcp网络配置
一、ks脚本安装虚拟机 1、ks脚本:在安装虚拟机时,生成图形界面后需要回答系统问题进行语言、网络、密码等设置,ks脚本就是系统根据脚本内容自动完成设置并安装完成,与之前虚拟机安装脚 本一起使用可以让服务器完全自动安装虚拟机系统。 2、ks脚本的生成:ks脚本是由system-config-kickstart命
2017-11-01 00:12:14
1214
原创 Linux系统之软件的安装
一、软件名称的识别 [abrt-addon-ccpp]-[2.1.11-19].[el7].[x86_64].rpm ##rpm结尾的适用与redhat操作系统 || || || 软件名称
2017-10-30 22:51:17
424
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人