文章 87
评论 0
浏览 460696
Redis服务

Redis服务

一、缓存概念 缓存是为了调节速度不一致的两个或多个不同的物质的速度,在中间对速度较快的一方起到一个加速访问速度较慢的一方的作用,比如CPU的一级、二级缓存是保存了CPU最近经常访问的数据,内存是保存CPU经常访问硬盘的数据,而且硬盘也有大小不一的缓存,甚至是物理服务器的raid 卡有也缓存,都是为了起到加速CPU 访问硬盘数据的目的,因为CPU的速度太快了,CPU需要的数据由于硬盘往往不能在短时间内满足CPU的需求,因此PCU缓存、 内存、Raid 卡缓存以及硬盘缓存就在一定程度上满足了CPU的数据需求,即CPU 从缓存读取数据可以大幅提高 CPU的工作效率。 1.1 系统缓存 buffer与cache buffer:缓冲也叫写缓冲,一般用于写操作,可以将数据先写入内存在写入磁盘,buffer 一般用于写缓冲,用于解决不同介质的速度不一致的缓冲,先将数据临时写入到里自己最近的地方,以提高写入速度,CPU会把数据先写到内存的磁盘缓冲区,然后就认为数据已经写入完成看,然后由内核在后续的时间在写入磁盘,所以服务器突然断电会丢失内存中的部分数据。 cache:缓存也叫读缓存,一般用于读操作,....

Jumpserver堡垒机

Jumpserver堡垒机

一、Jumpserver 简介 Jumpserver 是一款使用 Python, Django 开发的开源跳板机系统, 为互联网企业提供了认证,授权,审计,自动化运维等功能。 官方地址:http://www.jumpserver.org/ 二、部署环境 官方环境要求: 硬件配置: 2 个 CPU 核心, 4G 内存, 50G 硬盘(最低) 操作系统: Linux 发行版 x86_64 Python = 3.6.x Mysql Server ≥ 5.6 Mariadb Server ≥ 5.5.56 Redis 从 v2.5 开始, 要求 MySQL >= 5.7 MariaDB >= 10.2 从 v2.6 开始, 要求 Redis >= 5 推荐使用外置 数据库 和 Redis, 方便日后扩展升级 服务器准备 192.168.10.181 jumpserver 2c-4G 192.168.10.182 数据库/Redis 2C-2G 2.1 部署MYsql服务 外置数据库要求 mysql 版本需要大于等于 5.6 mariadb 版本需要大于等于 5.5.6 ....

keepalived服务

keepalived服务

一、keepalived介绍 LB(Load Balance) #负载均衡 #lvs/HAProxy/nginx(http/upstream, stream/upstream ) HA(High Availability) #高可用集群,数据库、Zookeeper、Redis SPoF: Single Point of Failure,解决单点故障 HPC #高性能集群(High Performance Computing) https://www.top500.org 系统可用性:SLA(Service-Level 95%=(60*24*30)*(1-0.9995) (指标)=99.9%, ..., 99.999%,99.9999% 提升系统高用性的解决方案之降低MTTR- Mean Time To Repair(平均故障时间) 解决方案:建立冗余机制 active/passive 主/备 active/active 双主 active --> HEARTBEAT --> passive active <--> HEARTBEAT <--> ....

HAProxy服务

HAProxy服务

一、负载均衡简介 负载均衡(Load Balance,简称LB)是⼀种服务或基于硬件设备等实现的 高可用反向代理技术,负载均衡将特定的业务(web服务、网络流量等)分担给指定的⼀个或多个后端特定的服务器或设备,从而提高了公司业务的并发处理能力、保证了业务的高可用性、方便了业务后期的水平动态扩展。 https://yq.aliyun.com/articles/1803 阿⾥云SLB介绍 1.1为什么使用负载均衡 Web服务器的动态⽔平扩展-->对⽤户⽆感知 增加业务并发访问及处理能⼒-->解决单服务器瓶颈问题 节约公⽹IP地址-->降低IT⽀出成本 隐藏内部服务器IP-->提⾼内部服务器安全性 配置简单-->固定格式的配置⽂件 功能丰富-->⽀持四层和七层,⽀持动态下线主机 性能较强-->并发数万甚⾄数⼗万 1.2 负载均衡类型 四层(传输层): LVS(Linux Virtual Server) HAProxy(High Availability Proxy) Nginx(1.9) 七层: HAProxy Nginx 硬件: F5 #h....

nginx服务

nginx服务

一、Web服务基础介绍 正常情况下的单次web服务访问流程 1.1 互联网发展历程回顾 1993年3⽉2⽇,中国科学院⾼能物理研究所租⽤AT&T公司(美国电话电报公司)的国际卫星信道建⽴的接⼊美国SLAC国家实验室的64K专线正式开通,成为我国连⼊Internet的第⼀根专线。 http://www.ihep.cas.cn/kxcb/kpcg/jsywl/201407/t20140714_4156699.html 1.2 web服务介绍 Netcraft公司于1994年底在英国成⽴,多年来⼀直致⼒于互联⽹市场以及在线安全⽅⾯的咨询服务,其中在国际上最具影响⼒的当属其针对⽹站服务器,域名解析/主机提供商,以及SSL市场所做的客观严谨的分析研究。 https://news.netcraft.com/ 1.2.1 Apace-早期的web服务端 Apache起初由美国的伊利诺伊⼤学⾹槟分校的国家超级计算机应⽤中⼼开发,⽬前经历了两⼤版本分别是1.X和2.X,其可以通过编译安装实现特定的功能,⽬前⽀持三种不同的MPM(multi-processingmodule,多进程处理模块,官....

tomcat服务

tomcat服务

一、Tomcat 基础功能 1.1 JDK 1.1.1 JDK和JRE Java SE API: Java 基础类库开发接口 JRE:Java Runtime Environment缩写,指Java运行时环境, 包含 JVM + Java核心类库 JDK:Java Development Kit,即 Java 语言的软件开发工具包,JDK协议基于 JRL(JavaResearchLicense)协议 1.1.2 Oracle JDK版本 收费 从2019年1月份开始,Oracle JDK 开始对 Java SE 8 之后的版本开始进行商用收费,确切的说是8u201/202 之后的版本。如果你用 Java 开发的功能如果是用作商业用途的,如果还不想花钱购买的话,能免费使用的最新版本是 8u201/202。当然如果是个人客户端或者个人开发者可以免费试用Oracle JDK 所有的版本。 发版方式 在 JDK 9 发布之前,Oracle 的发版策略是以特性驱动的,只有重大的特性改变才会发布大版本,比如JDK 7 到 JDK 8,中间会发多个更新版本。而从 JDK 9 开始变为以时间驱动的....

LVS调度器

LVS调度器

一、Linux Virtual Server简介 1.1 LVS介绍 LVS:Linux Virtual Server,负载调度器,内核集成,章文嵩(花名 正明), 阿里的四层SLB(ServerLoad Balance)是基于LVS+keepalived实现 LVS是全球最流行的四层负载均衡开源软件,由章文嵩博士(当前阿里云产品技术负责人)在1998年5月创立,可以实现LINUX平台下的负载均衡。 LVS 官网:http://www.linuxvirtualserver.org/ 阿里SLB和LVS: https://yq.aliyun.com/articles/1803 https://github.com/alibaba/LVS 1.2 LVS工作原理 VS根据请求报文的目标IP和目标协议及端口将其调度转发至某RS,根据调度算法来挑选RS。LVS是内核级功能,工作在INPUT链的位置,将发往INPUT的流量进行“处理” 范例:查看内核支持LVS [20:27:28 root@centos8 ~]#grep -i ipvs /boot/config-4.18.0-193.el8....

网络文件共享服务

网络文件共享服务

一、FTP 文件传输协议 1.1 FTP工作原理介绍 文件传输协议:File Transfer Protocol 早期的三个应用级协议之一,基于C/S结构 数据传输格式:二进制(默认)和文本 双通道协议:命令和数据连接 两种模式:从服务器角度 主动(PORT style):服务器主动连接 命令(控制):客户端:随机port ---> 服务器:21/tcp 数据:客户端:随机port <---服务器:20/tcp 被动(PASV style):客户端主动连接 命令(控制):客户端:随机port ---> 服务器:21/tcp 数据:客户端:随机port ---> 服务器:随机port /tcp 范例:服务器被动模式数据端口 227 Entering Passive Mode (172,16,0,1,224,59) 服务器数据端口为:224*256+59 范例: windows 连接FTP服务器默认使用主动模式 C:\Users\zhangzhuo>ftp 192.168.10.81 连接到 192.168.10.81。 220 (vsFTP....

日志服务管理

日志服务管理

一、系统日志管理 1.1 系统日志介绍 将系统和应用发生的事件记录至日志中,以助于排错和分析使用: 日志记录的内容包括: 历史事件:时间,地点,人物,事件 日志级别:事件的关键性程度,Loglevel 1.1.1 sysklogd 系统日志服务 CentOS 5 之前版本采用的日志管理系统服务 syslogd: system application 记录应用日志 klogd: linux kernel 记录内核日志 事件记录格式: 日期时间 主机 进程[pid]: 事件内容 C/S架构:通过TCP或UDP协议的服务完成日志记录传送,将分布在不同主机的日志实现集中管理 1.1.2 rsyslog 系统日志服务 rsyslog是CentOS 6 以后版本的系统管理服务.它提供了高性能,出色的安全性和模块化设计。 尽管rsyslog最初是常规的syslogd,但已发展成为一种瑞士军刀式的记录工具,能够接受来自各种来源的输入,并将其转换,然后输出到不同的目的地。 当应用有限的处理时,RSYSLOG每秒可以将超过一百万的消息传递到本地目的地。 即使在远程的目的地和更精细的处理中,性能....

MYSQL数据库服务

MYSQL数据库服务

一、关系型数据库理论 1.1 实体-联系模型E-R 实体Entity:客观存在并可以相互区分的客观事物或抽象事件称为实体,在E-R图中用矩形框表示实体,把实体名写在框内 属性:实体所具有的特征或性质 联系:联系是数据之间的关联集合,是客观存在的应用语义链 实体内部的联系:指组成实体的各属性之间的联系。如职工实体中,职工号和部门经理号之有一种关联关系 实体之间的联系:指不同实体之间联系。例:学生选课实体和学生基本信息实体之间 实体之间的联系用菱形框表示 1.2 联系类型 一对一联系(1:1) 一对多联系(1:n):外键 多对多联系(m:n):增加第三张表 1.3 数据的操作 开发工程师 CURD (Create,Update,Read,Delete) 数据提取:在数据集合中提取感兴趣的内容。SELECT 数据更新:变更数据库中的数据。INSERT、DELETE、UPDATE 1.4 数据库规划流程 收集数据,得到字段 收集必要且完整的数据项 转换成数据表的字段 把字段分类,归入表,建立表的关联 关联:表和表间的关系 分割数据表并建立关联的优点 节省空间 减....

企业级VPN服务OpenVPN

企业级VPN服务OpenVPN

一、OpenVPN简介 1.1 VPN 介绍 专用网:专用网就是在两个网络(例如,北京和广州)之间架设一条专用线路,但是它并不需要真正地去铺设光缆之类的物理线路。虽然没有亲自去铺设,但是需要向电信运营商申请租用专线,在这条专用的线路上只传输自己的信息,所以安全稳定,同时也费用高昂 VPN:Virtual Private Network,虚拟私有网络,又称为虚拟专用网络,用于在不安全的线路上安全的传输数据。 1.2 OpenVPN OpenVPN:一个实现VPN的开源软件,OpenVPN 是一个健壮的、高度灵活的 VPN 守护进程。它支持SSL/TLS 安全、Ethernet bridging、经由代理的 TCP 或 UDP 隧道和 NAT。另外,它也支持动态 IP 地址以及DHCP,可伸缩性足以支持数百或数千用户的使用场景,同时可移植至大多数主流操作系统平台上。 官网:https://openvpn.net GitHub地址:https://github.com/OpenVPN/openvpn OpenVPN 示意图 二、OpenVPN 部署 2.1 准备 OpenVPN 部署环境....

域名系统DNS服务

域名系统DNS服务

一、名字解析介绍和DNS 当前TCP/IP网络中的设备之间进行通信,是利用和依赖于IP地址实现的。但数字形式的IP地址是很难记忆的。当网络设备众多,想要记住每个设备的IP地址,可以说是“不可能完成的任务”。那么如何解决这一难题呢?我们可以给每个网络设备起一个友好的名称,如:www.zhangzhuo.ltd,这种由文字组成的名称,显而易见要更容易记忆。但是计算机不会理解这种名称的,我们可以利用一种名字解析服务将名称转化成(解析)成IP地址。从而我们就可以利用名称来直接访问网络中设备了。除此之外还有一个重要功能,利用名称解析服务可以实现主机和IP的解耦,即:当主机IP变化时,只需要修改名称服务即可,用户仍可以通过原有的名称进行访问而不受影响。实现此服务的方法是多样的。如下面所述: 本地名称解析配置文件:hosts Linux: /etc/hosts windows: %WINDIR%/system32/drivers/etc/hosts #格式 122.10.117.2 www.magedu.org. 93.46.8.89 www.google.com. DNS:Domain Name....

运维自动化之系统部署

运维自动化之系统部署

一、系统安装过程 1.1 运维自动化发展历程及技术应用 1.2 系统安装过程 加载boot loader 加载启动安装菜单 加载内核和initrd文件 加载根系统 运行anaconda的安装向导 1.2.1 Linux安装光盘的安装相关文件 在系统光盘的isolinux目录下有和安装相关的文件 boot.cat: 相当于grub的第一阶段 isolinux.bin:光盘引导程序,在mkisofs的选项中需要明确给出文件路径,这个文件属于SYSLINUX项目 isolinux.cfg:启动菜单的配置文件,当光盘启动后(即运行isolinux.bin),会自动去找isolinux.cfg文件 vesamenu.c32:是光盘启动后的启动菜单图形界面,也属于SYSLINUX项目,menu.c32提供纯文本的菜单 memtest: 内 存 检 测 程 序 splash.png:光盘启动菜单界面的背景图 vmlinuz: 是 内 核 映 像 initrd.img:ramfs文件 1.2.2 安装菜单的内核参数 安装光盘的启动菜单配置文件:isolinux/isolinux.cfg中设置....

13-Linux防火墙

13-Linux防火墙

一、安全技术和防火墙 1.1 安全技术 入侵检测系统(Intrusion Detection Systems):特点是不阻断任何网络访问,量化、定位来自内外网络的威胁情况,主要以提供报告和事后监督为主,提供有针对性的指导措施和安全决策依据。一般采用旁路部署方式 入侵防御系统(Intrusion Prevention System):以透明模式工作,分析数据包的内容如:溢出攻击、拒绝服务攻击、木马、蠕虫、系统漏洞等进行准确的分析判断,在判定为攻击行为后立即予以阻断,主动而有效的保护网络的安全,一般采用在线部署方式 防火墙( FireWall ):隔离功能,工作在网络或主机边缘,对进出网络或主机的数据包基于一定的规则检查,并在匹配某规则时由规则定义的行为进行处理的一组功能的组件,基本上的实现都是默认情况下关闭所有的通过型访问,只开放允许访问的策略,会将希望外网访问的主机放在DMZ(demilitarized zone)网络中 防水墙 广泛意义上的防水墙:防水墙(Waterwall),与防火墙相对,是一种防止内部信息泄漏的安全产品。网络、外设接口、存储介质和打印机构成信息泄漏的全部途径。....

12-加密与安全

12-加密与安全

一、安全机制 1.1 墨菲定律 墨菲定律:一种心理学效应,是由爱德华·墨菲提出的,原话:如果有俩种或俩种以上的方式去做某件事,而其中一种选择方式导致灾难,则必定有人会做出这种选择 主要内容: 任何事情都没有表面看起来那么简单 所有的事都会比你预计的时间长 会出错的事总会出错 如果你担心某种情况发送,那么它就更可能发生 1.2 信息安全防护的目标 保密性 Confidentiality 完整性 Integrity 可用性 Usability 可控制性 Controlability 不可否认性 Non-repudiation 1.3 安全防护环节 物理安全:各种设备/主机、机房环境 系统安全:主机或设备的操作系统 应用安全:各种网络服务、应用程序 网络安全:对网络访问的控制、防火墙规则 数据安全:信息的备份与恢复、加密解密 管理安全:各种保障性的规范、流程、方法 1.4 常见的安全攻击STRIDE Spoofing 假冒 Tampering 篡改 Repudiation 否认 Information Disclosure 信息泄漏 Denial of Service 拒绝服务....

11-Linux启动和内核管理

11-Linux启动和内核管理

一、CentOS 6 的启动管理 1.1 Linux 组成 kernel 实现进程管理、内存管理、网络管理、驱动程序、文件系统、安全功能等功能 rootfs 包括程序和 glibc 库 程序:二进制执行文件 库:函数集合, function, 调用接口(头文件负责描述) 1.2 内核设计流派 宏内核(monolithic kernel):又称单内核和强内核,Unix,Linux 把所有系统服务都放到内核里,所有功能集成于同一个程序,分层实现不同功能,系统庞大复杂,Linux其实在单内核内核实现了模块化,也就相当于吸收了微内核的优点 微内核(micro kernel):Windows,Solaris,HarmonyOS 简化内核功能,在内核之外的用户态尽可能多地实现系统服务,同时加入相互之间的安全保护,每种功能使用一个单独子系统实现,将内核功能移到用户空间,性能差 1.3 CentOS 6启动流程 1.3.1 CentOS6启动流程 加载BIOS的硬件信息,获取第一个启动设备 读取第一个启动设备MBR的引导加载程序(grub)的启动信息 加载核心操作系....

10-进程、系统性能和计划任务

10-进程、系统性能和计划任务

一、进程和内存管理 内核功用:进程管理、内存管理、文件系统、网络功能、驱动程序、安全功能等 1.1 什么是进程 Process:运行中的程序的一个副本,是被载入内存的一个指令集合,是资源分配的单位 进程ID(Process ID,PID)号码被用来标记各个进程 UID、GID和SELinux语境决定对文件系统的存取和访问权限 通常从执行进程的用户来继承 存在生命周期 进程创建: init:第一个进程,从Centos7以后为systemd 进程:都由其父进程创建,fork(),父子关系,Cow:Copy On Write 进程,线程和协程 1.1.1 进程 进程是一个具有一定独立功能的程序在一个数据集上的一次动态执行的过程,是操作系统进行资源分配和调度的一个独立单位,是应用程序运行的载体。进程是一种抽象的概念,从来没有统一的标志定义 进程的组成: 进程一般由程序、数据集合和进程控制块三部分组成。 程序用于描述进程要完成的功能,是控制进程执行的指令集: 数据集合是程序在执行时所需要的数据和工作区: 程序控制块(Program Control Block,简称PCB),包含进程....

8-磁盘存储和文件系统管理

8-磁盘存储和文件系统管理

一、磁盘结构 1.1设备文件 一切皆文件:open(),read(),write(),close() 设备文件:关联至少一个设备驱动程序,进而能够跟与之对应硬件设备进行通信 设备号码: 主设备号:major number,标识设备类型 次设备号:minor number,标识同一类型下的不同设备 #实例: [01:22:56 root@localhost ~]#ll /dev/null crw-rw-rw-. 1 root root 1, 3 Nov 22 01:12 /dev/null # 1,3 1是主设备号 3是次设备号 #范例:创建一个跟/dev/zero一样的文件 [01:23:04 root@localhost ~]#mknod /root/zero c 1 5 [01:27:23 root@localhost ~]#ll total 8 -rw-------. 1 root root 1301 Nov 21 23:55 anaconda-ks.cfg -rwxr-xr-x. 1 root root 1596 Nov 21 23:57 reset.sh crw-r--r....

SSH认证脚本

SSH认证脚本

#要认证的主机IP IP=" 192.168.10.182 " #centos开启 #rpm -q sshpass &>/dev/null || yum -y install sshpass #ubuntu开启 dpkg -L sshpass &>/dev/null || apt -y install sshpass [ -f /root/.ssh/id_rsa ] || ssh-keygen -f /root/.ssh/id_rsa -P '' #登录密码 export SSHPASS=123456 for HOST in $IP;do sshpass -e ssh-copy-id -o StrictHostKeyChecking=no $HOST done

7-软件管理

7-软件管理

一、软件相关概念 1.1 软件相关概念 1.1.1 ABI ABI:Application Binary Interface Windows与Linux不兼容 ELF(Executable and Linkable Format) PE(Portable Executable) 库级别的虚拟化: Linux:WINE Windows:Cygwin 1.1.2 API 系统级开发 汇编语言 C C++ 应用级开发 java Python go php perl ruby bash 1.2 C语言程序的实现过程 C程序源代码——预处理——编译——汇编——链接 C语言的程序编译主要经过四个过程: 预处理:(Pre-Processing) 将所有的#define删除,并且展开所有的宏定义 处理所有的条件预编译指令,比如#if #ifdef #elif等 处理#include预编译指令,将被包含的文件插入到该预编译指令的位置 删除所有注释 添加行号和文件标识,以便编译时产生调试用的行号及编译错误警告行号 保留所有的#pragma编译器指令,因为编译器需要使用他们 编....

生而为人