Linux运维之道(大量经典案例、问题分析,运维案头书,红帽推荐)
丁明一 编
ISBN 978-7-121-21877-4
2014年1月出版
定价:69.00元
448页
16开
编辑推荐
1、《Linux运维之道》从运维工作的实际需求出发,全面讲解相关的技术、经典案例,以及常见问题的解决方案。
2、作者丁明一具有丰富的实践及教学经验,且非常认真,本书是其呕心沥血之作,不仅内容精益求精,代码的编排作者也花了一些心思,可见其缜密。
3、本书得到了多位业内专家的强烈推荐,包括红帽大中华区考官黄军宝、原红帽中国高级认证考官许成林,以及百度、新浪、达内、武汉誉天的运维工程师和培训讲师。
4、运维是一项需要多种技能的工作,本书作者丁明一告诉您如何成为一名合格的运维工程师,能够直接提高运维人员的工作效率,值得阅读。
内容提要
随着开源技术的不断进步与创新,整个 IT行业中越来越多的企业愿意采用开源产品,而基于 Linux的操作系统为这些开源产品提供了一个极佳的操作平台。《Linux运维之道》将围绕 Linux操作系统这样一个基础平台,讲解如何使用操作系统实现各种开源产品的应用案例。全书主要从运维工作中的应用服务入手,全面讲解基本 Linux操作系统以及各种软件服务的运维工作。
现在的商业环境是一个充满竞争的环境,很多企业的业务量在不断地增长,而对服务质量的要求也越来越高。特别是互联网企业为了满足客户更高的需求,提升用户使用体验。 IT部门维护的设备往往数以万计,如此庞大的设备维护量,通常会让 IT管理人员头疼不已。《Linux运维之道》介绍的自动化运维的内容可以让我们快速掌握大规模批量处理的简单方法。仅仅依靠自动化运维还不足以发挥出这些设备能效,因此,我们还需要将这个服务器设备有机地结合在一起,为客户提供更加安全、快捷、高效的服务,于是集群技术应运而生。《Linux运维之道》最后将围绕集群技术介绍目前比较流行的开源产品部署案例。
《Linux运维之道》从基础讲到服务器的高级应用,适合于 Linux运维人员、Linux爱好者阅读,可作为 Linux运维人员的一本优秀的案头书。
目录
第1篇 基础知识
第1章 部署操作系统 2
1.1 光盘安装Linux操作系统 2
1.1.1 操作系统版本的选择 2
1.1.2 光盘安装Linux系统案例 2
1.2 无人职守自动安装Linux操作系统 15
1.2.1 大规模部署案例 15
1.2.2 PXE简介 16
1.2.3 Kickstart技术 17
1.2.4 配置安装服务器 18
1.2.5 自动化安装案例 19
1.3 常见问题分析 27
第2章 命令工具 30
2.1 基本命令 31
2.1.1 目录及文件的基本操作 31
2.1.2 查看文件内容 35
2.1.3 链接文件 37
2.1.4 压缩及解压 38
2.1.5 命令使用技巧 39
2.1.6 帮助 40
2.2 Vim文档编辑 42
2.2.1 Vim工作模式 42
2.2.2 Vim光标操作 43
2.2.3 Vim编辑文档 43
2.2.4 Vim查找与替换 44
2.2.5 Vim保存与退出 45
2.2.6 Vim小技巧 45
2.3 账户与安全 46
2.3.1 账户及组的概念 46
2.3.2 创建账户及组 46
2.3.3 修改账户及组 48
2.3.4 删除账户及组 49
2.3.5 账户与组文件解析 49
2.3.6 文件及目录权限 51
2.3.7 账户管理案例 53
2.3.8 ACL访问控制权限 54
2.4 存储管理 55
2.4.1 磁盘分区 56
2.4.2 格式化与挂载文件系统 60
2.4.3 LVM逻辑卷概述 62
2.4.4 创建LVM分区实例 64
2.4.5 修改LVM分区容量 68
2.4.6 删除LVM分区 69
2.4.7 RAID磁盘阵列概述 69
2.4.8 RAID级别 70
2.4.9 创建与管理软RAID实例 74
2.4.10 RAID性能测试 77
2.4.11 RAID故障模拟 78
2.5 软件管理 79
2.5.1 Linux常用软件包类型 79
2.5.2 RPM软件包管理 79
2.5.3 使用YUM安装软件包 81
2.5.4 YUM使用技巧 83
2.5.5 源码编译安装软件 84
2.5.6 常见问题分析 85
2.5.7 服务管理 86
2.6 计划任务 88
2.6.1 at一次性计划任务 88
2.6.2 cron周期性计划任务 89
2.6.3 计划任务权限 90
2.7 性能监控 90
2.7.1 监控CPU使用情况——uptime命令 90
2.7.2 监控内存及交换分区使用情况——free命令 91
2.7.3 监控磁盘使用情况——df命令 91
2.7.4 监控网络使用情况——ifconfig和netstat命令 92
2.7.5 监控进程使用情况——ps和top命令 94
2.8 网络配置 95
2.8.1 命令行设置网络参数 95
2.8.2 文件修改网络参数 97
2.8.3 网络故障排错 99
2.9 内核模块 101
2.9.1 内核模块存放位置 101
2.9.2 查看已加载内核模块 102
2.9.3 加载与卸载内核模块 102
2.9.4 修改内核参数 103
第3章 自动化运维 104
3.1 Shell简介 104
3.2 Bash功能介绍 105
3.2.1 命令历史 105
3.2.2 命令别名 105
3.2.3 管道与重定向 106
3.2.4 快捷键 107
3.3 Bash使用技巧 107
3.3.1 重定向技巧 107
3.3.2 命令序列使用技巧 108
3.3.3 作业控制技巧 108
3.3.4 花括号{}的使用技巧 109
3.4 变量 109
3.4.1 自定义变量 109
3.4.2 变量的使用范围 110
3.4.3 环境变量 111
3.4.4 位置变量 112
3.4.5 变量的展开替换 112
3.4.6 数组 113
3.4.7 算术运算与测试 114
3.5 Shell引号 116
3.5.1 反斜线 116
3.5.2 单引号 117
3.5.3 双引号 117
3.5.4 反引号 117
3.6 正则表达式 118
3.6.1 基本正则表达式(Regular Expression) 119
3.6.2 扩展正则表达式(Extended Regular Expression)122
3.6.3 POSIX规范 122
3.6.4 GNU规范 123
3.7 Sed 124
3.7.1 Sed简介 124
3.7.2 Sed基本语法格式 124
3.7.3 Sed入门范例 125
3.7.4 Sed指令与脚本 127
3.7.5 Sed高级应用 132
3.8 Awk 136
3.8.1 Awk简介 136
3.8.2 Awk工作流程 136
3.8.3 Awk基本语法格式 137
3.8.4 Awk操作指令 138
3.8.5 Awk高级应用 142
3.9 Shell脚本 145
3.9.1 脚本格式范例 146
3.9.2 运行脚本的方式 146
3.9.3 Shell脚本简单案例 147
3.9.4 判断语句应用 150
3.9.5 循环语句应用 154
3.9.6 控制语句应用 158
3.9.7 Shell函数应用 159
3.9.8 综合案例 162
3.9.9 图形脚本 166
第2篇 网络服务
第4章 搭建网络服务 170
4.1 NFS文件共享 170
4.1.1 NFS服务器配置 171
4.1.2 客户端访问NFS共享 173
4.1.3 NFS高级设置 174
4.1.4 常见问题分析 177
4.2 Samba文件共享 178
4.2.1 快速配置Samba服务器 178
4.2.2 访问Samba共享 180
4.2.3 配置文件详解 182
4.2.4 Samba应用案例 183
4.2.5 常见问题分析 186
4.3 vsftpd文件共享 187
4.3.1 FTP工作模式 188
4.3.2 安装与管理vsftpd 189
4.3.3 配置文件解析 189
4.3.4 账户权限 190
4.3.5 vsftpd应用案例 191
4.3.6 常见问题分析 195
4.4 ProFTPD文件共享 196
4.4.1 安装ProFTPD软件 196
4.4.2 配置文件解析 197
4.4.3 ProFTPD权限设置 198
4.4.4 虚拟用户应用案例 198
4.4.5 常见问题分析 202
4.5 Subversion版本控制 202
4.5.1 Subversion简介 202
4.5.2 Subversion服务器对比 204
4.5.3 安装Subversion软件 205
4.5.4 svnserve服务器搭建 205
4.5.5 svnserve+SSH服务器搭建 210
4.5.6 Apache+SVN服务器搭建 211
4.5.7 常见问题 213
4.6 网络存储服务器 214
4.6.1 iSCSI网络存储 215
4.6.2 Rsync文件同步 219
4.6.3 Rsync+Inotify实现文件自动同步 225
4.7 DHCP服务器 231
4.7.1 安装软件 231
4.7.2 配置文件解析 232
4.7.3 DHCP应用案例 233
4.7.4 常见问题分析 234
4.8 DNS域名服务器 235
4.8.1 DNS简介 235
4.8.2 安装DNS软件 237
4.8.3 配置文件解析 238
4.8.4 部署主域名服务器 241
4.8.5 部署从域名服务器 245
4.8.6 DNS视图应用案例 247
4.8.7 常见问题分析 249
4.9 Apache网站服务器 250
4.9.1 Apache简介 250
4.9.2 安装Apache软件 250
4.9.3 配置文件解析 252
4.9.4 虚拟主机应用案例 257
4.9.5 网站安全应用案例 259
4.9.6 常见问题分析 260
4.10 Nginx网站服务器 261
4.10.1 Nginx简介 261
4.10.2 安装Nginx软件 261
4.10.3 配置文件解析 264
4.10.4 虚拟主机应用案例 267
4.10.5 SSL网站应用案例 269
4.10.6 HTTP响应状态码 270
4.11 数据库基础 271
4.11.1 MySQL数据库简介 271
4.11.2 安装MySQL软件 272
4.11.3 MySQL管理工具 273
4.11.4 数据库定义语言 278
4.11.5 数据库操作语言 283
4.11.6 数据库查询语言 285
4.11.7 MySQL与安全 286
4.11.8 MySQL数据库备份与还原 289
4.12 动态网站架构案例 290
4.12.1 论坛系统应用案例 291
4.12.2 博客系统应用案例 297
第5章 系统监控 301
5.1 Cacti监控系统 301
5.1.1 简介 301
5.1.2 Cacti监控应用案例 302
5.2 Nagios监控系统 310
5.2.1 简介 310
5.2.2 Nagios监控应用案例 311
第6章 网络安全 323
6.1 iptables防火墙 323
6.1.1 iptables防火墙语法格式 324
6.1.2 iptables防火墙应用案例 327
6.1.3 防火墙备份与还原 330
6.2 SELinux简介 331
6.2.1 SELinux配置文件 331
6.2.2 SELinux软件包 332
6.2.3 SELinux安全上下文 333
6.2.4 SELinux排错 334
6.2.5 修改安全上下文 336
6.2.6 查看与修改布尔值 338
6.2.7 SELinux应用案例 339
6.2.8 httpd相关的SELinux安全策略 339
6.2.9 FTP相关的SELinux安全策略 340
6.2.10 MySQL相关的SELinux安全策略 341
6.2.11 NFS相关的SELinux安全策略 342
6.2.12 Samba相关的SELinux安全策略 343
6.3 OpenVPN 344
6.3.1 OpenVPN简介 344
6.3.2 安装OpenVPN服务 345
6.3.3 OpenVPN客户端 348
第3篇 高级应用
第7章 虚拟化技术 352
7.1 虚拟化产品对比 352
7.1.1 VMware虚拟化技术 353
7.1.2 Xen虚拟化技术 353
7.1.3 KVM虚拟化技术 354
7.2 KVM虚拟化应用案例 354
7.2.1 安装KVM组件 354
7.2.2 创建虚拟机操作系统 355
7.2.3 监控虚拟机操作系统 360
7.2.4 命令工具使用技巧 362
7.2.5 虚拟存储与虚拟网络 367
第8章 集群及高可用 377
8.1 集群 377
8.1.1 LVS负载均衡简介 377
8.1.2 基于NAT的LVS负载均衡 378
8.1.3 基于TUN的LVS负载均衡 379
8.1.4 基于DR的LVS负载均衡 380
8.1.5 LVS负载均衡调度算法 381
8.1.6 部署LVS服务 382
8.1.7 LVS负载均衡应用案例 385
8.1.8 常见问题分析 392
8.2 Keepalived双机热备 393
8.2.1 Keepalived简介 393
8.2.2 VRRP协议简介 394
8.2.3 安装Keepalived服务 394
8.2.4 配置文件解析 395
8.2.5 Keepalived+LVS应用案例 396
8.2.6 常见问题分析 404
8.3 Squid代理服务器 405
8.3.1 Squid简介 405
8.3.2 安装Squid服务 405
8.3.3 常见代理服务器类型 406
8.3.4 配置文件解析 407
8.3.5 Squid应用案例 408
8.4 HAProxy负载均衡 412
8.4.1 HAProxy简介 412
8.4.2 配置文件解析 413
8.4.3 HAProxy应用案例 416
8.5 Nginx高级应用 420
8.5.1 Nginx负载均衡 420
8.5.2 Nginx负载均衡案例 422
8.5.3 Nginx rewrite规则 425
8.6 MySQL高可用 429
8.6.1 MySQL复制 429
8.6.2 一步一步操作MySQL复制 430
精彩节章
5.1.2 Cacti监控应用案例
1.被监控端配置
Cacti监控其他主机是通过简单的网络管理协议(SNMP)收集被监控端的数据信息的,因此,被监控端Web1与Web2服务器都需要安装net-snmp以及依赖包lm_sensors,并设置SNMP配置文件。lm_sensors软件可以帮助我们监控硬件信息(如CPU的工作电压等数据),具体步骤如下。
安装snmp主程序及相关的依赖软件包,被监控主机仅需要修改snmp主配置文件即可(根据模板文件,本书对需要修改的地方用黑体字表示)。
[root@web1 ~]# yum -y install net-snmp lm_sensors
[root@web1 ~]# vim /etc/snmp/snmpd.conf
# First, map the community name "public" into a "security name". com2sec notConfigUser default rose0011 # Second, map the security name into a group name. group notConfigGroup v1 notConfigUser group notConfigGroup v2c notConfigUser # Third, create a view for us to let the group have rights to. view systemview included .1.3.6.1.2.1.1 view systemview included .1.3.6.1.2.1.25.1.1 # Finally, grant the group read-only access to the all view. access notConfigGroup "" any noauth exact all none none view all included .1 80 syslocation Unknown (edit /etc/snmp/snmpd.conf) syscontact Root <root@localhost> (configure /etc/snmp/snmp.local.conf) dontLogTCPWrappersConnects yes #备注,以上黑色加粗部分为需要修改的内容 |
SNMP配置文件主要包括四部分内容需要修改。第一步,映射通信名称到安全用户名称;第二步,将用户加入到组中;第三步,为组创建systemvies视图;第四步,创建all视图并赋予组只读访问权限。主配置文件设置完成后重启服务,即可通过客户端访问该服务器获得系统信息,SNMP使用的端口号为UDP 161端口以及TCP 199端口,我们需要在防火墙规则中开放这些端口数据。
[root@web1 ~]# iptables -I INPUT -p udp --dport 161 -j ACCEPT
[root@web1 ~]# iptables -I INPUT -p tcp --dport 199 -j ACCEPT
[root@web1 ~]# service iptables save
[root@web1 ~]# service snmpd start
[root@web1 ~]# chkconfig snmpd start
Web1与Web2被监控主机均启动snmpd服务后,可以在Cacti主机上执行snmpwalk命令验证SNMPD服务是否运行正常,如果出现如下提示,则说明一切正常(命令输出仅为部分信息):
[root@cacti ~]# snmpwalk -v 1 192.168.0.101 -c rose0011 system
SNMPv2-MIB::sysORID.1 = OID: SNMP-MPD-MIB::snmpMPDMIBObjects.3.1.1
SNMPv2-MIB::sysORID.2 = OID: SNMP-USER-BASED-SM-MIB::usmMIBCompliance
SNMPv2-MIB::sysORID.3 = OID: SNMP-FRAMEWORK-MIB::snmpFrameworkMIBCompliance
SNMPv2-MIB::sysORID.4 = OID: SNMPv2-MIB::snmpMIB
SNMPv2-MIB::sysORID.5 = OID: TCP-MIB::tcpMIB
SNMPv2-MIB::sysORID.6 = OID: IP-MIB::ip
2.安装Cacti服务
Cacti是基于PHP的Web监控管理系统,所以Cacti监控主机需要部署LAMP环境,此环境可以参考第4章的内容搭建。此外,还需要使用SNMP简单网络管理协议从被监控主机提取数据,然后使用RRDTool工具保存数据并最终生成图表信息。
安装相关依赖包软件:
[root@cacti ~]# yum -y install net-snmp net-snmp-devel net-snmp-utils\
>net snmp-libs lm_sensors php-xml zlib libpng freetype cairo-devel\
>pango-devel gd
因为Cacti的优势在于其丰富的图表效果,为了将数据绘制成相应的更加直观的图表格式输出,就需要安装RRDTool工具,该软件的安装非常简单,使用configure、make、make install默认安装即可。
[root@cacti ~]# wget http://oss.oetiker.ch/rrdtool/pub/rrdtool-1.4.7.tar.gz
[root@cacti ~]# tar -xzf rrdtool-1.4.7.tar.gz -C /usr/src/
[root@cacti ~]# cd /usr/src/rrdtool-1.4.7/
[root@cacti ~]# ./configure --prefix=/usr/local/
[root@cacti ~]# make && make install
设置Apache虚拟主机:
因为是基于Web的监控平台,而本书Web服务器采用的是Apache HTTP Server,因此,需要修改Apache主配置文件httpd.conf,通过DirectoryIndex index.php index.html指令设置默认首页为index.php,去除Include conf/extra/httpd-vhosts.conf指令前的“#”符号。Include指令将读取httpd-vhosts.conf文件的内容作为主配置文件的一部分,并在httpd-vhosts.conf文件中加入用来实现监控的虚拟主机。
[root@cacti ~]# vim /usr/local/apache2/conf/extra/httpd-vhosts.conf
<VirtualHost *:80> ServerAdmin Jacob_rose@gmail.com DocumentRoot "/usr/local/apache2/htdocs/cacti" ServerName cacti.example.com </VirtualHost> |
修改PHP配置文件的时区设置,默认date.timezone为注释行,需要手动开启并设置时区,否则进行Cacti初始化时会提示It is not safe to rely on the system's timezone settings。
本书将时区修改为上海,即编辑PHP配置文件/usr/local/php5/lib/php.ini,修改其中的时区参数date.timezone = "Asia/Shanghai"。
部署Cacti监控系统,创建Web页面根路径monitor目录,解压Cacti包并移动至Web根路径下,因为Apache默认以daemon用户及组身份启动,所以需要使用chown命令修改目录权限以便Apache读取相关页面。
[root@cacti ~]# wget http://www.cacti.net/downloads/cacti-0.8.8a.tar.gz
[root@cacti ~]# tar -xzf /root/cacti-0.8.8a.tar.gz -C /usr/src/
[root@cacti ~]# mv /usr/src/cacti-0.8.8a/ /usr/local/apache2/htdocs/cacti
[root@cacti ~]# chown -r daemon.daemon /usr/local/apache2/htdocs/cacti
[root@cacti ~]# iptables -I INPUT -p tcp --dport 80 -j ACCEPT
[root@cacti ~]# service iptables save
[root@cacti ~]# /usr/local/apache2/bin/apachectl restart
创建初始化数据库,这里要确保MySQL服务器程序是开启的,通过Cacti软件包内提供的数据库备份文件,在本机生成名为cacti的数据库,创建cactiuser账户,并赋予其访问cacti数据库的所有权限,该账号密码为rose0011。
[root@cacti ~]# /usr/local/mysql/bin/mysqladmin -u root -p create cacti
[root@cacti ~]# cd /usr/local/apache2/htdocs /cacti
[root@cacti cacti]# /usr/local/mysql/bin/mysql -u root -p cacti < cacti.sql
[root@cacti cacti]# /usr/local/mysql/bin/mysql -u root -p
mysql> GRANT ALL ON cacti.* TO cactiuser@localhost IDENTIFIED BY 'rose0011';
mysql> flush privileges;
mysql> exit
设置Cacti配置文件,根据上一步数据库初始化操作所创建的数据库信息,修改Cacti配置文件中的数据库参数资料,需要修改的内容如下。
[root@cacti ~]# /usr/local/apache2/htdocs/cacti/include/config.php
$database_type = "mysql"; #数据库类型 $database_default = "cacti"; #默认数据库名称 $database_hostname = "localhost"; #数据库服务器主机名称 $database_username = "cactiuser"; #数据库账户 $database_password = "rose0011"; #数据库密码 $url_path = "/"; #设置监控页面为Apache设置的页面根路径 |
作者简介
丁明一,领航众达教育创始人,红帽认证高级讲师(RHCI),有着丰富的Linux系统运维以及讲师经验,培养学生两千余名。精通Linux系统管理、生产环境大规模集中部署Linux环境、建立Shell脚本自动化管理平台。主持部署多个LAMP网络服务平台、构建管理多个大型Nginx Web服务平台,项目实施中利用Cacti与Nagios监控平台实现自动故障报警。对企业集群环境及高性能、高可用构架有深入的研究。拥有丰富的虚拟化技术使用经验:Xen、KVM、VMware,利用虚拟化技术构建高效、绿色节能机房。对安全与调优有独特的理解,精通Linux防火墙、SELinux安全、系统性能调优化。翻译过多篇国外*云计算解决方案文档,熟悉国外主流云计算技术发展。
媒体评论
本书从基本的操作系统知识与实践到互联网应用,由浅入深,由表及里,层层推进;对作为开源技术中既基础又非常重要的Linux操作系统的各类操作和技巧作了详细的阐述;进而对各类常用服务如Apache、Nginx、MySQL等进行了深度的剖析;同时又考虑到系统及服务的安全。可见作者心思缜密,为本书费尽心血。拜读本书之后,受益非浅,其中许多小技巧在工作中非常有帮助,相信读者在阅读本书之后也能大受裨益。
红帽大中华区考官 黄军宝
在技术发展十分迅速的领域,赶时髦的书多如牛毛,书店里充满了应景之作,但是,真正经过深入思考、用心、用技术写作的书不多。而本书却是一位技术高手的呕心沥血之作,书中的每项技术都介绍得很通透,并且反复经过思考和推敲。在本书即将出版之际,我向作者表示深深的敬意和祝贺,并向所有的Linux爱好者推荐这本学习Linux技术的好书。
原红帽中国高级认证考官 许成林
作者以其多年的工作经验,总结归纳了一套适合于各种层次水平的Linux书籍。本书内容讲解深入浅出,配合大量的经典案例,通俗易懂,实用性非常强。尤其书中提供的常见问题分析,根据各种常见问题提供了不同的解决方案,这样可以帮助读者排除很多已知的常见故障。对于初级运维人员以及高级运维工作者,本书都相当高的具体技术实践指导意义。
武汉誉天高级讲师 邹圣林
很多初学者,包括笔者的初学期都发现,在品类繁多的入门书籍中,很难找到一本由基础知识展开,深入浅出的覆盖到编程语言、集群架构等全面运维知识点的书籍。本书作者从实际运维工作出发,结合概念、知识,带领读者从实际操作深化到工作原理,让读者轻松上手,全面掌握理论,强化实际操作,非常值得一读。
百度高级运维工程师 刘宇
运维方向上一直缺乏一本内容比较全面的书籍。这本书正是从入门到高级,内容覆盖了运维的方方面面,非常有实践指导价值,是运维和开发人员都可以深入阅读的一本好书。
新浪运维架构师 白贵兴
这是一本难得的好书,内容全面涵盖了Linux入门基础、生产环境常用服务以及大规模业务部署。本书语言精炼、内容紧凑,非常适合作为Linux技术人员的枕边书。通过阅读本书内容您可以获得大量企业实践项目的实际动手能力。
达内集团网络工程教研总监 周华飞
前言
撰写本书的起因
目前越来越多的企业需要依赖于IT技术发布产品与服务,尤其是电子商务最为明显,它凸显了IT技术在现代企业中的重要性。当企业需要部署IT业务时,机房与服务器是整个IT技术生态链中非常重要的环节。对服务器操作系统的选择,Linux以其开源、稳定、安全的特性,目前在服务器领域已经称为无可争议的霸主,而且有众多的服务可以应用于Linux平台,可以灵活地应用这些服务以满足企业的各种业务需求。本书重点在于讲解如何部署服务器操作系统以及在Linux操作系统平台上部署常见的IT服务。
从1991年起至今,Linux已经快速成长为企业服务器产品的首选操作系统,越来越多的IT企业采用Linux作为其服务器端平台操作系统,为客户提供高性能、高可用的业务服务。随着红帽公司宣布其年营业额超10亿美元,也标志着开源Linux操作系统的光辉时代已经来临。红帽的成功预示着采用开源模式的Linux操作系统可以为企业提供安全、可靠和高性能的平台系统。服务器领域中Linux操作系统的份额越来越大,而目前技术人才又相对匮乏,导致大量的就业人才缺口,本书着眼于Linux技术中方方面面的主流技术,为读者进入Linux行业开启了一扇畅通的大门。本书主要分为三部分,从基础的系统管理到Shell自动化运维的实现,再到网络服务器的部署实施,最后通过案例介绍高负载网络架构的企业环境。本书在选择操作系统发行版本时,综合了各个发行版本的特点,最终选择了CentOS作为本书的基础系统平台。CentOS是众多Linux发行版本之一,但因为其源自于RedHat 框架,同时该版本完全开源,包括开放的软件YUM源,可以为用户带来更加方便的升级方法。另外,目前国内很多企业对于CentOS发行版也非常热衷,这也增加了本书的实用性。
本书结构
本书第1篇为基础知识篇,主要讲述如何安装部署Linux操作系统以及对基本命令行工具的使用,帮助读者快速掌握Linux基本知识要点,夯实基本功。基于Shell脚本实现运维工作自动化,帮助运维人员摆脱周而复始地进行无效的工作,加快企业进入自动化、智能化的运维环境。具体包括:
◎ 部署操作系统
◎ 命令工具
◎ 自动化运维
第2篇为网络服务架构篇,主要讨论网络架构的规划与部署,通过网站综合案例提升读者的应用能力,并针对常见问题提供故障排错。通过部署监控与安全软件确保网络服务的正常及安全运行。具体包括:
◎ 搭建网络服务
◎ 系统监控
◎ 网络安全
第3篇为高级应用,主要描述当前主流的虚拟化及服务器高可用技术,满足大型企业服务的生产需求。通过集群及高可用软件充分体现巨大的数据压力下产品业务的安全及性能优势。
◎ 虚拟化技术
◎ 集群及高可用
◎ 数据库复制
排版说明
关于本书中的排版,如果书中的命令是需要读者输入,我们将使用等比例黑体加粗显示;对于计算机输出的命令返回结果,书中将使用等比例斜体字显示。由于采用的开源模式,随意Linux操作系统中拥有大量的文本形式的配置文件,对于打开及修改文本文件中的内容,书中将把文件中的内容放置于方框中排版书写;对于需要读者注意的地方,书中会给出明确的注意提示。
本书读者
本书可以作为学习Linux应用技术的一本指南,主要针对与希望进入Linux运维行业的新手,不过对于有经验的专家而言,其中的部分章节同样适用。另外,本书也可以作为计算机培训参考教材。
勘误
作者在编写本书的过程中已经花了大量的时间对内容进行审核与校验,但因为时间紧迫,作者精力有限,书中难免出现一些错漏,敬请广大专家和读者批评、指正。
关于本书,您有任何意见或建议可以发送邮件至ydh0011@163.com或使用博客平台交流 http://manual.blog.51cto.com。
致谢
由于是采用的业余时间编写本书,占有了大量本应该可以和家人在一起的欢乐时光,在此感谢家人对我的支持与勉励,感谢我一岁儿子(子墨)给家庭带来的无限快乐。感谢我所有的同事对此项任务的全力配合与支持。感谢我的学生对本书的期待,是你们的无形支持促成了我编写本书。感谢生活中所有给予我帮助的朋友,是你们支持的让我不断第进步与创新,不管是工作中还是生活中,好朋友都是我们成功的坚实后盾。感谢电子工业出版社的编辑董英为本书的出版提供了大力的支持。
丁明一