书籍Linux运维之道丁明一Linux计算机操作系统入门教程Linux系统维护教程 pdf下载pdf下载

书籍Linux运维之道丁明一Linux计算机操作系统入门教程Linux系统维护教程百度网盘pdf下载

作者:
简介:本篇提供书籍《书籍Linux运维之道丁明一Linux计算机操作系统入门教程Linux系统维护教程》百度网盘pdf下载
出版社:钰恒店
出版时间:2016-08
pdf下载价格:0.00¥

免费下载


书籍下载


内容介绍



商品参数

Linux运维之道(第2版)
定价 79.00
出版社 电子工业出版社
版次 2
出版时间 2016年08月
开本 16开
作者 丁明一 编著
装帧 平装
页数 0
字数 0
ISBN编码 9787121295966
重量 0


内容介绍

随着开源技术的不断进步与创新,整个IT行业中越来越多的企业愿意采用开源产品,而基于Linux的操作系统为这些开源产品提供了一个很好的操作平台。丁明一编著的《Linux运维之道(第2版)》将围绕Linux操作系统这样一个基础平台,讲解如何使用操作系统实现各种开源产品的应用案例。全书主要从运维工作中的应用服务入手,全面讲解基本Linux操作系统以及各种软件服务的运维工作。 现在的商业环境是一个充满竞争的环境,很多企业的业务量在不断地增长,而对服务质量的要求也越来越高。特别是互联网企业为了满足客户非常高的需求,提升用户使用体验。IT部门维护的设备往往数以万计,如此庞大的设备维护量,通常会让IT管理人员头疼不已。本书介绍的自动化运维的内容可以让我们快速掌握大规模批量处理的简单方法。仅仅依靠自动化运维还不足以发挥出这些设备能效,因此,我们还需要将这个服务器设备有机地结合在一起,为客户提供安全、快捷、高效的服务,于是集群技术应运而生。本书后面将围绕集群技术介绍目前比较流行的开源产品部署案例。

关联推荐

《Linux运维之道》从运维工作的实际需求出发,全面讲解相关的技术、经典案例,以及常见问题的解决方案。
作者丁明一具有丰富的实践及教学经验,且非常认真,《Linux运维之道》是其呕心沥血之作,不仅内容精益求精,代码的编排作者也花了一些心思,可见其缜密。
《Linux运维之道》得到了多位业内专家的强烈推荐,包括红帽大中华区考官黄军宝、原红帽中国高#认证考官许成林,以及百度、新浪、达内、武汉誉天的运维工程师和培训讲师。
运维是一项需要多种技能的工作,Linux运维之道作者丁明一告诉您如何成为一名合格的运维工程师,能够直接提高运维人员的工作效率,值得阅读。
本书在*版的基础上进行了全面细致的修订,所有内容全面升级至CentOS7.2系统。



目录

第1篇 基 础 知 识
第1章 部署操作系统 2
1.1光盘安装Linux操作系统 2
1.1.1操作系统版本的选择 2
1.1.2光盘安装Linux系统案例 2
1.2无人职守自动安装Linux操作系统 11
1.2.1大规模部署案例 11
1.2.2PXE简介 13
1.2.3Kickstart技术 13
1.2.4配置安装服务器 14
1.2.5自动化安装案例 16
1.3常见问题分析 26
第2章 命令工具 29
2.1基本命令 30
2.1.1目录及文件的基本操作 30
2.1.2查看文件内容 34
2.1.3链接文件 37
2.1.4压缩及解压 37
2.1.5命令使用技巧 38
2.1.6帮助 39
2.2Vim文档编辑 41
2.2.1Vim工作模式 41
2.2.2Vim光标操作 42
2.2.3Vim编辑文档 43
2.2.4Vim查找与替换 43
2.2.5Vim保存与退出 44
2.2.6Vim小技巧 45
2.3账户与安全 46
2.3.1账户及组的概念 46
2.3.2创建账户及组 46
2.3.3修改账户及组 47
2.3.4删除账户及组 48
2.3.5账户与组文件解析 49
2.3.6 文件及目录权限 51
2.3.7 账户管理案例 53
2.3.8 ACL访问控制权限 54
2.4 存储管理 55
2.4.1 磁盘分区 55
2.4.2 格式化与挂载文件系统 59
2.4.3 LVM逻辑卷概述 61
2.4.4 创建LVM分区实例 63
2.4.5 修改LVM分区容量 67
2.4.6 删除LVM分区 68
2.4.7 RAID磁盘阵列概述 69
2.4.8 RAID级别 69
2.4.9 创建与管理软RAID实例 73
2.4.10 RAID性能测试 76
2.4.11 RAID故障模拟 77
2.5 软件管理 78
2.5.1 Linux常用软件包类型 78
2.5.2 RPM软件包管理 78
2.5.3 使用YUM安装软件包 80
2.5.4 YUM使用技巧 82
2.5.5 源码编译安装软件 83
2.5.6 常见问题分析 84
2.5.7 服务管理 85
2.6 计划任务 87
2.6.1 at一次性计划任务 87
2.6.2 cron周期性计划任务 88
2.6.3 计划任务权限 89
2.7 性能监控 89
2.7.1 监控CPU使用情况――uptime命令 89
2.7.2 监控内存及交换分区使用情况――free命令 89
2.7.3 监控磁盘使用情况――df命令 90
2.7.4 监控网络使用情况――ip和netstat命令 91
2.7.5 监控进程使用情况――ps和top命令 93
2.8 网络配置 94
2.8.1 命令行设置网络参数 94
2.8.2 文件修改网络参数 96
2.8.3 网络故障排错 98
2.9 内核模块 100
2.9.1 内核模块存放位置 100
2.9.2 查看已加载内核模块 100
2.9.3 加载与卸载内核模块 101
2.9.4 修改内核参数 101
第3章 自动化运维 103
3.1 Shell简介 103
3.2 Bash功能介绍 104
3.2.1 命令历史 104
3.2.2 命令别名 104
3.2.3 管道与重定向 105
3.2.4 快捷键 106
3.3 Bash使用技巧 106
3.3.1 重定向技巧 106
3.3.2 命令序列使用技巧 107
3.3.3 作业控制技巧 107
3.3.4 花括号{}的使用技巧 108
3.4 变量 108
3.4.1 自定义变量 108
3.4.2 变量的使用范围 109
3.4.3 环境变量 109
3.4.4 位置变量 111
3.4.5 变量的展开替换 111
3.4.6 数组 112
3.4.7 算术运算与测试 113
3.5Shell引号 115
3.5.1反斜线 115
3.5.2单引号 116
3.5.3双引号 116
3.5.4反引号 116
3.6正则表达式 117
3.6.1基本正则表达式(Regular Expression) 117
3.6.2 扩展正则表达式(Extended Regular Expression) 120
3.6.3POSIX规范 121
3.6.4GNU规范 122
3.7Sed 122
3.7.1Sed简介 122
3.7.2Sed基本语法格式 123
3.7.3Sed入门范例 124
3.7.4 Sed指令与脚本 126
3.7.5 Sed高#应用 131
3.8 Awk 134
3.8.1 Awk简介 134
3.8.2 Awk工作流程 135
3.8.3 Awk基本语法格式 135
3.8.4 Awk操作指令 137
3.8.5Awk高#应用 141
3.9Shell脚本 143
3.9.1脚本格式范例 144
3.9.2运行脚本的方式 145
3.9.3Shell脚本简单案例 145
3.9.4判断语句应用 148
3.9.5 循环语句应用 152
3.9.6 控制语句应用 155
3.9.7 Shell函数应用 157
3.9.8 综合案例 159
3.9.9 图形脚本 163
第2篇 网 络 服 务
第4章 搭建网络服务 168
4.1 NFS文件共享 168
4.1.1 NFS服务器配置 169
4.1.2 客户端访问NFS共享 171
4.1.3 NFS高#设置 172
4.1.4 常见问题分析 175
4.2 Samba文件共享 176
4.2.1 快速配置Samba服务器 176
4.2.2 访问Samba共享 178
4.2.3 配置文件详解 180
4.2.4 Samba应用案例 181
4.2.5 常见问题分析 184
4.3 vsftpd文件共享 185
4.3.1 FTP工作模式 185
4.3.2 安装与管理vsftpd 186
4.3.3 配置文件解析 187
4.3.4 账户权限 188
4.3.5 vsftpd应用案例 189
4.3.6 常见问题分析 192
4.4 ProFTPD文件共享 193
4.4.1 安装ProFTPD软件 194
4.4.2 配置文件解析 194
4.4.3 ProFTPD权限设置 195
4.4.4虚拟用户应用案例 196
4.4.5常见问题分析 199
4.5 Subversion版本控制 200
4.5.1Subversion简介 200
4.5.2Subversion服务器对比 202
4.5.3安装Subversion软件 203
4.5.4svnserve服务器搭建 203
4.5.5svnserve SSH服务器搭建 208
4.5.6Apache SVN服务器搭建 209
4.5.7对人协同编辑案例 211
4.5.8常见问题 215
4.6 网络存储服务器 216
4.6.1iSCSI网络存储 217
4.6.2Rsync文件同步 220
4.6.3Rsync Inotify实现文件自动同步 225
4.7 DHCP服务器 231
4.7.1安装软件 231
4.7.2配置文件解析 232
4.7.3DHCP应用案例 233
4.7.4常见问题分析 234
4.8 DNS域名服务器 235
4.8.1DNS简介 235
4.8.2安装DNS软件 237
4.8.3配置文件解析 237
4.8.4部署主域名服务器 241
4.8.5部署从域名服务器 245
4.8.6DNS视图应用案例 247
4.8.7常见问题分析 249
4.9 Apache网站服务器 250
4.9.1Apache简介 250
4.9.2安装Apache软件 250
4.9.3配置文件解析 252
4.9.4虚拟主机应用案例 257
4.9.5网站安全应用案例 258
4.9.6常见问题分析 260
4.10 Nginx网站服务器 261
4.10.1Nginx简介 261
4.10.2安装Nginx软件 261
4.10.3配置文件解析 264
4.10.4虚拟主机应用案例 266
4.10.5SSL网站应用案例 268
4.10.6HTTP响应状态码 270
4.11 数据库基础 271
4.11.1MySQL数据库简介 271
4.11.2安装MySQL软件 272
4.11.3MySQL管理工具 273
4.11.4数据库定义语言 278
4.11.5数据库操作语言 282
4.11.6数据库查询语言 284
4.11.7MySQL与安全 285
4.11.8MySQL数据库备份与还原 288
4.12 动态网站架构案例 289
4.12.1论坛系统应用案例 290
4.12.2博客系统应用案例 296
第5章 系统监控 300
5.1Cacti监控系统 300
5.1.1简介 300
5.1.2Cacti监控应用案例 301
5.2 Nagios监控系统 309
5.2.1简介 309
5.2.2Nagios监控应用案例 310
第6章 网络安全 322
6.1 防火墙 322
6.1.1iptables防火墙语法格式 323
6.1.2iptables防火墙应用案例 326
6.1.3防火墙备份与还原 329
6.1.4firewalld简介 330
6.1.5firewalld-cmd命令 331
6.2 SELinux简介 334
6.2.1SELinux配置文件 335
6.2.2SELinux软件包 336
6.2.3SELinux安全上下文 336
6.2.4SELinux排错 337
6.2.5修改安全上下文 339
6.2.6查看与修改布尔值 341
6.2.7SELinux应用案例 342
6.2.8httpd相关的SELinux安全策略 342
6.2.9FTP相关的SELinux安全策略 344
6.2.10MySQL相关的SELinux安全策略 345
6.2.11NFS相关的SELinux安全策略 345
6.2.12Samba相关的SELinux安全策略 346
6.3 OpenVPN 347
6.3.1OpenVPN简介 347
6.3.2安装OpenVPN服务 348
6.3.3OpenVPN客户端 351
第3篇 高 级 应 用
第7章 虚拟化技术 354
7.1 虚拟化产品对比 354
7.1.1VMware虚拟化技术 355
7.1.2Xen虚拟化技术 355
7.1.3KVM虚拟化技术 356
7.2 KVM虚拟化应用案例 356
7.2.1安装KVM组件 356
7.2.2创建虚拟机操作系统 357
7.2.3监控虚拟机操作系统 362
7.2.4命令工具使用技巧 364
7.2.5虚拟存储与虚拟网络 369
第8章 集群及高可用 379
8.1 集群 379
8.1.1LVS负载均衡简介 379
8.1.2基于NAT的LVS负载均衡 380
8.1.3基于TUN的LVS负载均衡 381
8.1.4基于DR的LVS负载均衡 382
8.1.5LVS负载均衡调度算法 383
8.1.6部署LVS服务 384
8.1.7LVS负载均衡应用案例 387
8.1.8常见问题分析 394
8.2 Keepalived双机热备 395
8.2.1Keepalived简介 395
8.2.2VRRP协议简介 395
8.2.3安装Keepalived服务 395
8.2.4配置文件解析 396
8.2.5Keepalived LVS应用案例 398
8.2.6常见问题分析 405
8.3 Squid代理服务器 406
8.3.1Squid简介 406
8.3.2安装Squid服务 406
8.3.3常见代理服务器类型 406
8.3.4配置文件解析 408
8.3.5Squid应用案例 409
8.4 HAProxy负载均衡 413
8.4.1HAProxy简介 413
8.4.2配置文件解析 413
8.4.3HAProxy应用案例 416
8.5 Nginx高#应用 420
8.5.1Nginx负载均衡 420
8.5.2Nginx负载均衡案例 422
8.5.3Nginx rewrite规则 425
8.6 MySQL高可用 429
8.6.1MySQL复制 429
8.6.2一步一步操作MySQL复制 430



在线试读

4.8.6DNS视图应用案例 view语句用来创建视图,视图可以让不同的网络或主机在查询同一个DNS记录时得到不同的解析结果,也可以为不同的网络或主机创建不同的域数据文件。大型企业可以利用视图实现负载均衡,例如,当北京地区的网民访问新浪网时,域名服务器可以将结果解析为北京本地的新浪网服务器,上海地区的网民访问新浪网时,域名服务器会将上海的新浪网服务器IP地址作为结果返还给用户。这样所有的人访问新浪网页面查看新闻时,总是可以连接距离自己#近的服务器。 在BIND 9版本中,如果没有在主配置文件中使用view语句,则BIND会自动将所有的域定义为一个大的视图。通过在配置文件中使用view语句,并结合match-clients语句,实现不同用户查询相同记录时所得的结果不同。这样做的#大好处是可以让北京地区的网民访问新浪网时连接的是北京当地的服务器,而上海地区的网民需要连接新浪网时,DNS解析的结果为上海本地的新浪服务器。 一般我们会为同一个域创建多个视图,不同的视图对应不同的解析文件,此时需要注意的是,有多少个视图就需要创建多少个对应的数据解析文件。当客户端发送查询请求后,服务器根据视图内的match-clients语句来匹配客户端主机,匹配成功后,服务器读取特定的视图内file指定的数据文件,并将结果返回给客户端,如果没有匹配成功,则继续查询下一个视图。如果所有的试图都未能匹配成功,服务器将返回无相关数据记录的信息给客户端。下面的案例通过修改主域名服务器的主配置文件演示视图的应用,当172.16.0.88请求abc.com域的相关解析记录时,服务器会读取abc.com.zone.develop这个数据解析文件,172.16.0.89请求abc.com域的相关解析记录时,服务器会读取abc.com.zone.tech这个数据解析文件。注意,在此需要创建4个数据解析文件,相同域的正向域名解析文件有两个,反向域名解析文件有两个,只要在不同的数据解析文件中对相同的记录给予不同的解析结果,就可实现不同的用户得到的返回结果也不一样。 只要根据自己的实际需要创建相应的数据文件,并在各个数据文件中对同一个数据记录给出不同的解析数据,即可实现智能DNS的分离解析功能。这里我们不可能将全北京或全上海的所有IP地址写入match-clients,根据DNS查询原理我们知道,所有的终端用户访问网络时都会连接当地ISP服务商所提供的DNS服务器,这些服务商的DNS服务器会根据根服务器的提示迭代查询到我们的权#服务器。也就是说,我们在match-clients后面仅需要填写全国主要的ISP所提供的DNS服务器IP地址即可。不同地区服务商的DNS,我们给予不同的解析结果,#终所有的终端用户会间接获得正确的解析结果。这里我们不再给出具体的数据文件记录,读者可以根据实际情况自行填写数据记录。 以下为主配置文件named.conf实现视图应用的案例模板,读者根据自己的实际需要稍作修改即可。 (代码详见书中) 4.8.6DNS视图应用案例
view语句用来创建视图,视图可以让不同的网络或主机在查询同一个DNS记录时得到不同的解析结果,也可以为不同的网络或主机创建不同的域数据文件。大型企业可以利用视图实现负载均衡,例如,当北京地区的网民访问新浪网时,域名服务器可以将结果解析为北京本地的新浪网服务器,上海地区的网民访问新浪网时,域名服务器会将上海的新浪网服务器IP地址作为结果返还给用户。这样所有的人访问新浪网页面查看新闻时,总是可以连接距离自己#近的服务器。
在BIND 9版本中,如果没有在主配置文件中使用view语句,则BIND会自动将所有的域定义为一个大的视图。通过在配置文件中使用view语句,并结合match-clients语句,实现不同用户查询相同记录时所得的结果不同。这样做的#大好处是可以让北京地区的网民访问新浪网时连接的是北京当地的服务器,而上海地区的网民需要连接新浪网时,DNS解析的结果为上海本地的新浪服务器。
一般我们会为同一个域创建多个视图,不同的视图对应不同的解析文件,此时需要注意的是,有多少个视图就需要创建多少个对应的数据解析文件。当客户端发送查询请求后,服务器根据视图内的match-clients语句来匹配客户端主机,匹配成功后,服务器读取特定的视图内file指定的数据文件,并将结果返回给客户端,如果没有匹配成功,则继续查询下一个视图。如果所有的试图都未能匹配成功,服务器将返回无相关数据记录的信息给客户端。下面的案例通过修改主域名服务器的主配置文件演示视图的应用,当172.16.0.88请求abc.com域的相关解析记录时,服务器会读取abc.com.zone.develop这个数据解析文件,172.16.0.89请求abc.com域的相关解析记录时,服务器会读取abc.com.zone.tech这个数据解析文件。注意,在此需要创建4个数据解析文件,相同域的正向域名解析文件有两个,反向域名解析文件有两个,只要在不同的数据解析文件中对相同的记录给予不同的解析结果,就可实现不同的用户得到的返回结果也不一样。
只要根据自己的实际需要创建相应的数据文件,并在各个数据文件中对同一个数据记录给出不同的解析数据,即可实现智能DNS的分离解析功能。这里我们不可能将全北京或全上海的所有IP地址写入match-clients,根据DNS查询原理我们知道,所有的终端用户访问网络时都会连接当地ISP服务商所提供的DNS服务器,这些服务商的DNS服务器会根据根服务器的提示迭代查询到我们的权#服务器。也就是说,我们在match-clients后面仅需要填写全国主要的ISP所提供的DNS服务器IP地址即可。不同地区服务商的DNS,我们给予不同的解析结果,#终所有的终端用户会间接获得正确的解析结果。这里我们不再给出具体的数据文件记录,读者可以根据实际情况自行填写数据记录。
以下为主配置文件named.conf实现视图应用的案例模板,读者根据自己的实际需要稍作修改即可。
(代码详见书中)
4.8.7常见问题分析
(1)由于BIND主配置文件中,默认allow-query被设置为仅localhost可以进行DNS查询,如果要开放DNS服务,则需要将allow-query修改为特定的主机或任意主机可以查询的DNS服务。
(2)在主配置文件中,默认listen-on被设置为仅本地回环地址,这样客户端也是无法连接服务器进行查询的。
(3)客户端连接服务器发送的查询请求使用的是UDP的53端口,而从服务器与主服务器同步数据时使用的是TCP的53端口,开放DNS服务后,要注意修改防火墙设置。
(4)在CentOS 7系统环境下,从域名服务器与主域名服务器同步数据时,默认SELinux会拒绝从远程下载的数据文件写入本地磁盘,此时需要修改SELinux的布尔值,方法如下:
[root@centos7 ~]# setsebool -P named_write_master_zones=1
(5)配置文件问题。如果管理员在配置文件中的语法格式有错误,则named服务无法正常启动。例如,如果在配置文件语句后面少了分号,启动服务时会提示类似的提示信息:/etc/named.conf:15: missing ';' before 'view',提示named.conf文件第15行左右少“;”符号。
(6)文件与目录权限。由于BIND相关进程都是以named用户身份启动的,当配置文件或数据文件的权限无法被正确读取时,则系统将无法启动BIND服务。通过查看/var/log/messages日志文件,可以看到none:0: open: /etc/named.conf: permission denied这样的提示,说明BIND软件启动时无权读取named.conf文件。类似的问题还可能出现在从服务器同步的时候,要求从服务器一定要把主服务器的数据文件同步到本地有读写权限的目录下。
显示全部信息