常见的http服务器器程序httpd apache,存在C10K(10K connections)问题C10K(Concurrent 10,000 Connections)问题是指,在同一时间内,服务器需要处理超过10,000个并发连接的情况。Apache HTTP服务器本身不是一个异步事件驱动的服务器,因此在处理大量并发连接时,性能会受到限制。为了解决这个问题,人们开发了一些异步事件驱动的服务器
socket套接字Socket套接字是一种用于实现网络通信的接口。它可以在不同的主机之间传递数据,使得程序可以通过网络与其他程序进行通信。Socket套接字通常包含一个IP地址和一个端口号,可以唯一地标识一个网络上的进程。 Socket套接字是在应用层和传输层之间的一个接口,它可以被看作是应用程序与网络之间的桥梁。使用Socket套接字,应用程序可以发送和接收网络数据,也可以对网络数据进行处理和控
playbook介绍在 Ansible 中,Playbook 是一个用 YAML 格式编写的文本文件,它描述了一系列任务,每个任务又是一个或多个 action 的集合。Playbook 通过在远程主机上执行任务来实现自动化。 在 playbook 中,可以指定主机、变量、任务、处理器、模块等等。通过对这些组件的组合和配置,可以实现对主机的配置、安装软件包、启动服务、文件复制等任务的自动化执行。 P
ansible相关工具/usr/bin/ansible 主程序,临时命令执行工具 /usr/bin/ansible-doc 查看配置文档,模块功能查看工具,相当于man /usr/bin/ansible-playbook 定制自动化任务,编排剧本工具,相当于脚本 /usr/bin/ansible-pull 远程执行命令的工具 /usr/bin/ansible-vault 文件加密工具 /usr/b
自动化运维工具介绍以下是一些常见的Linux开源自动化运维工具的简要介绍: 1、Ansible:使用SSH协议,不需要在被控端安装agent,支持批量部署、配置管理、任务调度等功能。使用YAML语言编写剧本,易于学习和使用。 2、Puppet:使用自己的DSL语言,需要在被控端安装agent,支持配置管理、自动化部署等功能。相对于Ansible,Puppet的学习曲线较为陡峭,但是可以实现更加精细
DML语句DML: INSERT, DELETE, UPDATE INSERT语句一次插入一行或多行数据格式参考:INSERT [LOW_PRIORITY | DELAYED | HIGH_PRIORITY] [IGNORE][INTO] tbl_name [(col_name,...)]{VALUES | VALUE} ({expr | DEFAULT},...),(...),...[ ON D
管理数据库创建数据库CREATE DATABASE|SCHEMA [IF NOT EXISTS] 'DB_NAME'CHARACTER SET 'character set name'COLLATE 'collate name';查看数据设置的的字符集use testdb;select @@character_set_database;SELECT @@collation_database;或者查
DNS软件LINUX DNS软件 bindbind:服务器bind-lib:相关库bind-utils:客户端bind-chroot:安全包,将DNS相关文件放置/var/named/chroot配置文件BIND主程序:/usr/sbin/named服务脚本和Unit名称:/etc/rc.d/init.d/named,/usr/lib/systemd/system/named.service主配置
DNS工作原理DNS:domain name system域名系统,它作为将域名和IP地址相互映射的一个分布式数据库,能够可以是用户更加变了的访问互联网;服务器端口TCP/UDP:53域名结构是指互联网域名的组成形式,它以点号分隔,由多个标签(label)组成。域名结构从右到左逐级向上划分,最右边的标签是顶级域名(Top Level Domain,简称TLD),比如“.com”、“.net”、“.
PXE介绍 PXE:Preboot Excution Environment,预启动执行环境,是由Intel公司研发,基于Client/Server的网络模式,支持远程主机通过网络从远端服务器下载映像,并由此支持通过网络启动操作系统,可以引导和安装Windows,linux等多种操作系统 PXE工作原理1、客户端计算机通过网络启动时,将发送DHCP请求到局域网中的DHCP服务器,请求IP地址和引导
DHCP服务DHCP: Dynamic Host Configuration Protocol,动态主机配置协议,UDP协议,C/S模式,dhcpserver:67/udp,dhcpv4c client :68/udp,dhcpv6 client:546/udp DHCP 工作原理:DHCP客户端在启动时发送广播包(DHCP Discover),请求 DHCP 服务器提供配置信息。DHCP 服务器
系统安装过程Linux系统安装过程加载boot loader-加载启动安装菜单-加载内核和initrd文件-加载根系统-运行anaconda的安装向导linux安装镜像中的文件在系统光盘isolinux目录下有和安装相关的文件1、boot.cat 相当于grub的第一阶段2、isolinux.bin 光盘引导程序,在mkisofs的选项中需要明确给出文件路径,这个文件属于syslinux项目3、i
多主机协作工作时,各个主机的时间同步很重要,时间不一致会造成很多重要应用的故障,如:加密协议,日志,集群等, 利用NTP(Network Time Protocol) 协议使网络中的各个计算机时间达到同步。目前NTP协议属于运维基础架构中必备的基本服务之一 NTP软件yum install ntpdate ntp -yvim /etc/ntp.conf# For more information
PAM介绍PAM:可插入式认证模块,是实现认证工作的一个模块。sun公司1995年开发,PAM 只关注如何为服务验证用户的 API,通过提供一些动态链接库和一套统一的API,将系统提供的服务和该服务的认证方式分开,使得系统管理员可以灵活地根据需要给不同的服 务配置不同的认证方式而无需更改服务程序一种认证框架,自身不做认证。PAM(Pluggable Authentication Modules)是
sudo介绍sudo:superuser do,即使用超级用户执行,配置文件为/etc/sudoers;sudo使用需要输入用户密码,输入后5分钟内无需再次输入密码sudo特性:1、能够授权指定用户在指定主机上运行某些命令2、日志能够记录用户执行了什么命令3、sudo的配置文件为sudoers文件,属性必须为0440sudo组成配置文件:/etc/sudo.conf 授权规则文件:/et
ssh服务介绍及通信原理ssh服务:secure shell;加密通信,代替传统的telnet具体软件实现:openssh、dropbearssh协议版本:V1基于crc-32做mac,不安全;V2双方主机基于安全的mac方式,基于DH算法做密钥交换,基于dsa或rsa实现身份认证公钥交换原理1、客户端发起连接请求2、服务器端返回自己的公钥和会话ID给客户端,客户端获取到服务端的公钥3、客户端生成
systemd特性从 CentOS 7 版本之后开始用 systemd 实现init进程,系统启动和服务器守护进程管理器, 负责在系统启动或运行时,激活系统资源,服务器进程和其它进程。1、系统引导服务是并行启动2、按需启动守护进程3、自动化处理依赖关系4、同时采用socket式与D-Bus总线式激活服务5、socket与服务程序分离6、向后兼容sysv init脚本7、使用systemctl进行管
/proc目录:内核把自己内部状态信息及统计信息,以及可配置参数通过proc为文件系统加以输出/proc/sys设置sysctl -w path.to.parameter=value 查看或设定此目录中诸多参数,如sysctl -w kernel.hostname=mail.magedu.com临时生效默认配置文件:/etc/sysctl.conf 及以下文件 /run/sysctl.d/
linux 任务计划执行
进程管理命令ps pstree top pidof lsof命令,kill发送信号管理,前后台执行命令,并行执行命令
数组处理数组介绍及声明变量:存储单个元素的内存空间数组:存储多个元素的连续的内存空间,相当于多个变量的集合数组名和索引:索引编号从0开始,属于数值索引索引可支持使用自定义格式,而不是数值格式,即为关联索引,关联索引需要提前使用declare声明declare -a arrayname 声明为数组,普通数组,数值索引格式declare -A arrayname 声明为关联数值,关联索引格式decla
信号捕捉traptrap可以捕捉系统发出的指令触发相应的执行命令格式trap '触发指令' 信号trap '-' 信号 恢复原信号操作trap '' 信号 忽略信号操作trap -p 列出自定义信号操作trap func EXIT 当脚本退出时,执行func函数Ctrl+C组合键会生成SIGINT信号,并将其发送给当前在shell中运行的所有进程Ctrl+Z组合键会生成一个SIGTSTP信号,
编写函数,实现OS的版本判断OS (){cat /etc/os-release | sed -nE 's/^PRETTY_NAME="(.*)"/\1/gp'}编写函数,实现取出当前系统eth0的IP地址IP (){ip addr show dev eth0 | sed -En 's/inet *(([0-9]{1,3}\.){3}[0-9]{1,3})\/.*/\1/gp' | tr -d "
函数返回函数体中定于返回值,不能使用exit,因为函数是在当前shell中执行,使用exit会退出当前shell,如下所示可以使用return 命令,执行函数退出的状态码,return 0 无错误返回 return 1-255 有错误返回 return 从函数中返回,即最后命令状态环境函数在脚本中调用函数无法传递到shell中子进程中,通过定义环境函数,可以使子进程调用函数
函数function是由多个shell组成的语言块,实现代码重用和模块化编程,与shell类型,不同点为shell程序运行会单独开启进程,而函数不会开启进程,是在当前shell环境中运行,可影响当前shell的变量。函数定义格式function_name (){command}或者function function_name (){command}函数查看及删除declare -F 查看所有定义
1、判断/var目录下所有文件的类型#!/bin/bashcd /varFile=`ls /var`for i in *; do file_type=`ls -ld $i |cut -b1` case $file_type in d) echo "$i is 目录" ;; l) echo "$i is 链接文件" ;; -) echo "$i is 普通文件
shell 循环语句
#!/bin/bashread -p "请输入行数:" linefor ((i=1;i<=line;i++));do for ((k=1;k<=line-i;k++));do echo -e " \c" done for ((j=1;j<=2*i-1;j++));do echo -e "*\c" done echo done
制作99乘法表#!/bin/bashfor i in {1..9}; do for j in `seq $i`;do echo -e "$i*$j=$[$i*$j]\t\c" #\t插入tab键,\c不插入换行符 doneecho done
Copyright © 2005-2025 51CTO.COM 版权所有 京ICP证060544号