Linux运维从入门到高级全套案例v3.docx
- 文档编号:2118705
- 上传时间:2023-05-02
- 格式:DOCX
- 页数:129
- 大小:8.74MB
Linux运维从入门到高级全套案例v3.docx
《Linux运维从入门到高级全套案例v3.docx》由会员分享,可在线阅读,更多相关《Linux运维从入门到高级全套案例v3.docx(129页珍藏版)》请在冰点文库上搜索。
Linux运维入门到高级
目录
1.Linux入门篇 3
1.1Linux操作系统简介 3
1.2Linux发展趋势 4
1.3Linux系统安装 4
1.4Linux学习技巧 19
2.Linux系统篇 20
2.1Linux系统管理 20
2.1.1Linux目录初识 20
2.1.2Linux常用命令 21
2.1.3Linux用户权限 22
2.1.4Linux网络配置 23
3.Linux服务篇 25
3.1Linux服务部署 25
3.1.1构建NTP时间服务器 25
3.1.2构建DHCP服务器 27
3.1.3搭建Samba服务器 29
3.1.4搭建NFS服务器 32
3.1.5搭建FTP服务器 33
3.1.6构建ApacheWEB服务器 35
3.1.7构建MySQL服务器 38
3.1.8LAMP架构网站搭建 42
3.1.9Cacti监控平台搭建 46
3.1.10Nagios监控平台搭建 50
3.1.11Kickstart自动化安装平台 56
4.Linux编程篇 60
4.1LinuxShell编程 60
4.1.1Shell编程简介 60
4.1.2Shell变量设置 61
4.1.3Shell流程控制语句 62
4.1.4Shell脚本案例 67
4.1.5Shell数组编程 71
5.Linux深入篇 72
5.1构建NginxWEB服务器 72
5.1.1NginxWEB安装 73
5.1.2Nginx虚拟主机配置 74
5.1.3Nginx性能优化 75
5.1.4Nginx参数深入理解 77
5.1.5NginxRewrite规则 78
5.2构建Rsync同步服务器 80
5.2.1Rsync服务端配置 80
5.2.2Rsync基于SSH同步 83
5.2.3Rsync实时同步配置 83
5.3Tomcat/ResinJAVA服务器 84
5.3.1Tomcat安装配置 84
5.3.2Tomcat性能优化 85
5.3.3Resin安装配置 87
5.3.4Resin性能优化 88
5.3.5Resin多实例配置 89
5.4NginxTomcat动静分离 90
5.5LNAMP高性能架构配置 92
5.6构建DNS域名解析服务器 99
5.7MySQL主从高可用架构 102
5.8LVS+Keepalived负载均衡 110
5.9Squid缓存服务器配置 116
6.Linux下高并发系统内核优化 122
7.Nginx负载均衡机制及常见问题 124
8.Linux运维职业规划 127
9.Linux运维面试总结 127
1)面试技巧总结 127
2)面试题目总结 128
1.Linux入门篇
1.1Linux操作系统简介
Linux是一套免费使用和自由传播的类Unix操作系统,是一个基于POSIX和UNIX的多用户、多任务、支持多线程和多CPU的操作系统。
它能运行主要的UNIX工具软件、应用程序和网络协议。
它支持32位和64位硬件。
Linux继承了Unix以网络为核心的设计思想,是一个性能稳定的多用户网络操作系统。
1991年的10月5日,Linux创始人林纳斯·托瓦兹(LinusTorvalds)在comp.os.minix新闻组上发布消息,正式向外宣布Linux内核的诞生,1994年3月,Linux1.0发布,代码量17万行,当时是按照完全自由免费的协议发布,随后正式采用GPL(GeneralPublicLicense的缩写,是一份GNU通用公共授权)协议。
Linux具有如下优点:
Ø稳定、免费或者花费少
Ø安全性高
Ø多任务,多用户
Ø耗资源少
Ø由于内核小,所以它可以支持多种电子产品,如:
Android手机、PDA等。
1.2Linux发展趋势
随着IT产业的不断发展,用户对网站体验要求也越来越高,而目前主流网站后端承载系统都是Linux系统,目前Android手机全部基于Linux内核研发。
企业大数据、云存储、虚拟化等先进技术都是基于Linux系统。
2010年据有关权威部门统计:
将来几年内我国软件行业的从业机会十分庞大,中国每年对软件人才的需求将达到50万人左右。
而对于Linux 专业人才的就业前景,更是广阔;据悉在未来5-10年内 Linux 专业人才的需求将达到 120 万+!
尤其是有经验的资深的Linux工程师目前非常的缺乏,薪资也是非常诱人,平均月薪都是15-20K,能力强的薪资更高。
所以机会对每个人都是公平的,关键是我们每个人如何去行动,选择大于努力。
1.3Linux系统安装
在安装Linux系统之前,先来了解windows系统结构,windows系统一般是安装在C盘系统盘,同样Linux也有类似的系统盘(/根分区),Linux通常分区为(根分区/、swap分区),Linux系统以文件的存储方式,所有的文件都是存储在某个目录下的,类似于windows的文件夹。
对于文件系统的属性来说,windows文件系统类型一般是ntfs、fat32等,而Linux文件系统类型则为ext2、ext3、ext4等(文件系统:
是操作系统用于明确磁盘或分区上的文件的方法和数据结构,文件系统由三部分组成:
与文件管理有关软件、被管理文件以及实施文件管理所需数据结构。
)
安装Linux系统是每一个初学者的第一个门槛。
在这个过程中间,最大的困惑莫过于给硬盘进行分区。
虽然现在各种发行版本的Linux已经提供了友好的图形交互界面,但是很多人还是感觉无从下手。
这其中的原因主要是不清楚Linux的分区规定。
就好比如果我们了解了windows分区的规则,系统盘C、数据盘D等,就很好分区了。
在Linux中规定,每一个硬盘设备最多只能有4个主分区(其中包含扩展分区)构成,任何一个扩展分区都要占用一个主分区号码,也就是在一个硬盘中,主分区和扩展分区一共最多是4个。
下面正式来安装Linux系统,安装系统前需要准备如下软件:
üVMwareworkstation10.0
üCentOS5.8x86_i386.iso
安装图解如下:
第一步,新建虚拟机如下图:
第二步,选择相关选项,如下图:
第三步选择“稍后安装操作系统”,如下图:
第四步,选择客户机操作系统类型如下图:
第五步,设置虚拟机硬盘大小为20G,最低不能小于5G,如下图:
第六步,虚拟机新建完成,如下图:
第七步,修改虚拟机内存为512M,并添加ISO镜像,如下图:
自此,虚拟机新建完成,接下来点击“启动此虚拟机”进行Linux系统安装,Linux系统安装图解如下:
第一步,进入安装界面,直接按Enter回车键即可。
第二步,光盘检测,选择SKIP跳过。
第三步,选择安装过程中的语言,初学者可以选择“简体中文”。
第四步,选择初始化整个硬盘,清除所有数据。
第五步,选择分区方式为“自定义分区“。
第五步,点击“新建“-首先创建一个swap交换分区,大小为物理内存的2倍(1024M)。
第六步,继续创建分区,选择“新建“,然后创建根分区/,如下图选择,大小为剩余所有空间即可。
第七步,默认点击下一步,同时默认DHCP配置,时钟选择上海,去掉UTC勾,点击下一步。
第八步,设置root密码,至少六位,点击下一步。
第九步,系统安装包选择,这里选择“现在定制“。
第十步,系统安装包选择,左侧选择“开发“----右侧选择”开发工具“和“开发库”,语言选择“支持中文“,其他一概不选择。
安装完毕会提示“reboot“,直接回车即可。
1.4Linux学习技巧
初学者可以自己安装虚拟机,然后把linux常用命令例如cd、ls、chmod、useradd、vi等等多练习几十遍,把自己敲打命令的熟练程度提升上来。
然后根据文档搭建Linux下常见的各种服务(DHCP、SAMBA、DNS、Apache、Mysql等),遇到问题后可以在google搜索,搜索的时候多看几篇文章,综合最好的文章来解决问题。
能够熟练的搭建服务后,理解每个服务的完整配置和优化,可以拓展思维。
例如LAMP,我们一般是把所有服务放在一台机器上,如果分开多台该如何部署呢?
等等。
平时多积累shell编程,可以在网上查找前辈们写的非常好的shell,自己下载下来多练习几遍,从中吸取,不断提高。
建立一个自己的学习博客,把平时工作学习中的知识都记录在里面,这样也可以供别人来参考同时也能提高自己的编写文档及方案的能力。
通过以上学习能够满足企业的一般应有,需要达到资深级别,还需要深入学习集群架构、负载均衡、自动化运维、运维开发等知识。
最后还是一句话:
多练习才是硬道理!
实践出真知!
2.Linux系统篇
2.1Linux系统管理
通过前两章的学习,我们已经能够独立安装Linux系统,已经掌握了Linux学习的技巧,那接下来,我们将系统的来了解Linux系统各目录、权限及常用命令的使用。
2.1.1Linux目录初识
通过前面的学习,我们已经能够独立安装完一个linux系统,那接下来我们来熟悉一下Linux系统里面的各个目录文件夹的大致功能:
主要的目录树的有/、/root、/home、/usr、/bin等目录。
下面是一个典型的linux目录结构如下:
(附图表)
/根目录
/bin存放必要的命令
/boot存放内核以及启动所需的文件
/dev 存放设备文件
/etc存放系统配置文件
/home普通用户的宿主目录,用户数据存放在其主目录中
/lib存放必要的运行库
/mnt存放临时的映射文件系统,通常用来挂载使用。
/proc存放存储进程和系统信息
/root超级用户的主目录
/sbin存放系统管理程序
/tmp存放临时文件
/usr存放应用程序,命令程序文件、程序库、手册和其它文档。
/var系统默认日志存放目录
2.1.2Linux常用命令
默认进入系统,我们会看到这样的字符:
[root@localhost~]#,其中#代表当前是root用户登录,如果是$表示当前为普通用户。
我们了解linux由很多目录文件构成,那我们来学习第一个Linux命令:
cd命令,cd/home;解析:
进入/home目录
cd/root进入/root目录;cd../返回上一级目录;cd./当前目录;(.和..可以理解为相对路径;例如cd/hom/test,cd加完整的路径,可以理解为绝对路径)
接下来继续学习更多的命令:
ls./查看当前目录所有的文件和目录。
ls-a查看所有的文件,包括隐藏文件,以.开头的文件。
pwd显示当前所在的目录。
mkdir创建目录,用法mkdirtest,命令后接目录的名称。
rmdir删除空目录
rm删除文件或者目录,用法rm–rftest.txt(-r表示递归,-f表示强制)。
cp拷贝文件,用法,cpold.txt/tmp/new.txt,常用来备份;如果拷贝目录
需要加–r参数。
mv重命名或者移动文件或者目录,用法,mvold.txtnew.txt
touch创建文件,用法,touchtest.txt,如果文件存在,则表示修改当前文件时间。
Useradd创建用户,用法useraddwugk,userdel删除用户。
Groupadd创建组,用法groupaddwugk1,groupdel删除组。
find查找文件或目录,用法find/home-name“test.txt”,命令格式为:
find后接查找的目录,-name指定需要查找的文件名称,名称可以使用*表示所有。
find/home-name“*.txt”;查找/home目录下,所有以.txt结尾的文件或者目录。
vi修改某个文件,vi有三种模式:
命令行模式、文本输入模式、末行模式。
默认vi打开一个文件,首先是命令行模式,然后按i进入文本输入模式,可以在文件里写入字符等等信息。
写完后,按esc进入命令模式,然后输入:
进入末行模式,例如输入:
wq表示保存退出。
如果想直接退出,不保存,可以执行:
q!
,q!
叹号表示强制退出。
cat查看文件内容,用法cattest.txt可以看到test.txt内容
more查看文件内容,分页查看,cat是全部查看,如果篇幅很多,只能看到最后的篇幅。
可以使用cat和more同时使用,例如:
cattest.txt|more分页显示text内容,|符号是管道符,用于把|前的输出作为后面命令的输入。
echo回显,用法echook,会显示ok,输入什么就打印什么。
echook>test.txt;把ok字符覆盖test.txt内容,>表示追加并覆盖的意思。
>>两个大于符号,表示追加,echook>>test.txt,表示向test.txt文件追加OK字符,不覆盖原文件里的内容。
初学者常见的命令就如上所示,当然还有很多深入的命令需要学习,后面的课程会讲解。
2.1.3Linux用户权限
在Linux操作系统中,root的权限是最高的,相当于windows的administrator,拥有最高权限,能执行任何命令和操作。
在系统中,通过UID来区分用户的权限级别,UID等于0,表示此用户具有最高权限,也就是管理员。
其他的用户UID依次增加,通过/etc/passwd用户密码文件可以查看到每个用户的独立的UID。
每一个文件或者目录的权限,都包含一个用户权限、一个组的权限、其他人权限,例如下:
标红第一个root表示该文件所有者是root用户,第二个root代表该文件的所属的组为root组,其他用户这里默认不标出。
[root@node1~]#ls-lmonitor_log.sh
-rw-r--r--1rootroot91May720:
21monitor_log.sh
[root@node1~]#
如果我们想改变某个文件的所有者或者所属的组,可以使用命令chown
chown–Rtest:
testmonitor_log.sh即可。
每个Linux文件具有四种访问权限:
可读(r)、可写(w)、可执行(x)和无权限(-)。
利用ls-l命令可以看到某个文件或目录的权限,它以显示数据的第一个字段为
准。
第一个字段由10个字符组成,如下:
[root@node1~]#ls-lmonitor_log.sh
-rw-r--r--1rootroot91May720:
21monitor_log.sh
[root@node1~]#
第一位表示文件类型,-表示文件,d表示目录;后面每三位为一组。
第一组:
2-4位表示文件所有者的权限,即用户user权限,简称u
第二组:
5-7位表示文件所有者所属组成员的权限,group权限,简称g
第三组:
8-10位表示所有者所属组之外的用户的权限,other权限,简称o
从上面这个文件,我们可以看出,monito_log.sh文件对应的权限为:
root用户具有读和写的权限,root组具有读的权限,其他人具有读的权限。
为了能更简单快捷的使用和熟悉权限,rwx权限可以用数字来表示,分别表示为r(4)、w
(2)、x
(1)。
Monitor_log.sh权限可以表示为:
644
如果给某个文件授权,命令为chmod:
chmod777monitor_log.sh
2.1.4Linux网络配置
熟悉了常用的命令和Linux权限,那接下来如何让所在的Linux系统上网呢?
管理linux服务器网络有哪些命令呢?
Linux服务器默认网卡配置文件在/etc/sysconfig/network-scripts/下,命名的名称一般为:
ifcfg-eth0ifcfg-eth1,eth0表示第一块网卡,eth1表示第二块网卡,依次类推。
一般DELLR720标配有4块千兆网卡。
修改网卡的IP,可以使用命令:
vi/etc/sysconfig/network-scripts/ifcfg-eth0如果是DHCP获取的IP,默认配置如下:
#AdvancedMicroDevices[AMD]79c970[PCnet32LANCE]
DEVICE=eth0
BOOTPROTO=dhcp
HWADDR=00:
0c:
29:
52:
c7:
4e
ONBOOT=yes
TYPE=Ethernet
如果是静态配置的IP,ifcfg-eth0网卡配置内容如下:
#AdvancedMicroDevices[AMD]79c970[PCnet32LANCE]
DEVICE=eth0
BOOTPROTO=static
HWADDR=00:
0c:
29:
52:
c7:
4e
ONBOOT=yes
TYPE=Ethernet
IPADDR=192.168.33.10
NETMASK=255.255.255.0
GATEWAY=192.168.33.1
网卡参数详解如下:
DEVICE=eth0#物理设备名
ONBOOT=yes#[yes|no](重启网卡是否激活设备)
BOOTPROTO=static#[none|static|bootp|dhcp](不使用协议|静态分配|BOOTP协议|DHCP协议)
TYPE=Ethernet#网卡类型
IPADDR=192.168.33.10#IP地址
NETMASK=255.255.255.0#子网掩码
GATEWAY=192.168.33.1#网关地址
网卡配置完毕,重启网卡,命令:
/etc/init.d/networkrestart即可。
查看ip命令:
ifconfig查看当前服务器所有网卡的IP,可以单独指定,ifconfigeth0查看eth0的IP地址。
网卡配置完毕,如果来配置DNS,首先要知道DNS配置在哪个目录文件下,vi/etc/resolv.conf文件:
在该文件里面添加如下两条:
nameserver202.106.0.20
nameserver8.8.8.8
从上到下,分别表示主DNS,备DNS。
配置完毕后,不需要重启网卡,DNS立即生效。
可以ping看看效果:
IP配置完毕后,我们可以通过远程工具来连接Linux服务器,常见的Linux远程连接工具有:
putty、secureCRT(主流)、xshell、xmanger等工具。
下载安装secureCRT,打开工具,然后如图配置:
点击左上角quickconnect快速连接,弹出界面,然后输入IP,用户名,端口默认是22,然后点击下方的connect连接,会提示输入密码,输入即可。
弹出输入密码框:
进入远程界面,与服务器真实登录一样,然后可以执行命令:
通过这几章的学习,我们已经熟练了Linux常用命令的操作,权限网络、网络配置、远程连接等知识,那接下来我们还能做什么呢?
我们已经差不多入门了,接下来就是更进一步的服务配置,Linux系统到底用来做什么呢?
接下来的章节将跟大家一起来学习。
Linux系统的应用,我们最开始介绍的时候简单介绍过,目前大中型企业都用它来承载web网站、数据库、虚拟化平台等,那接下来我们将在Linux系统安装各种服务和软件来实现Linux真正的价值。
3.Linux服务篇
3.1Linux服务部署
3.1.1构建NTP时间服务器
NTP服务器是用于局域网服务器时间同步使用的,可以保证局域网所有的服务器与时间服务器的时间保持一致,某些应用对时间实时性要求高的必须统一时间。
互联网的时间服务器也有很多,例如ntpdate复旦大学的NTP免费提供互联网时间同步。
NTP服务器监听端口为UDP的123,那就需要在本地防火墙开启运行客户端访问123端口,vi/etc/sysconfig/iptables添加如下规则:
-AINPUT-mstate--stateNEW-mudp-pudp--dport123-jACCEPT
NTP时间服务器配置:
yuminstallntpntpdate-y即可!
修改ntp.conf配置文件
cp/etp/ntp.conf/etc/ntp.conf.bak
vi/etc/ntp.conf只修改如下两行,把#号去掉即可!
server127.127.1.0#localclock
fudge127.127.1.0stratum10
以守护进程启动ntpd
/etc/init.d/ntpdstart即可
(注意*:
ntpd启动后,客户机要等几分钟再与其进行时间同步,否则会提示“noserversuitableforsynchronizationfound”错误。
)
配置时间同步客户机
crontab-e
增加一行,在每天的6点10分与时间同步服务器进行同步
1006***/usr/sbin/ntpdatentp-server的ip>>/usr/local/logs/crontab/ntpdate.log
备注:
如果客户机没有ntpdate,可以yum–yinstallntp即可!
以下是ntp服务器配置文件内容(局域网NTP,如果需要跟外网同步,添加外网server即可)
driftfile/var/lib/ntp/drift
restrictdefaultkodnomodifynotrapnopeernoquery
restrict-6defaultkodnomodifynotrapnopeernoquery
restrict127.0.0.1
restrict-6:
:
1
server127.127.1.0#localclock
fudge127.127.1.0stratum10
includefile/etc/ntp/crypto/pw
keys/etc/ntp/keys
下面是参数详解:
restrictdefaultignore
#关闭所有的NTP要求封包
restrict127.0.0.1
#开启内部递归网络接口lo
restrict192.168.0.0mask255.255.255.0nomodify
#在内部子网里面的客户端可以进行网络校时,但不能修改NTP服务器的时间参数。
server198.123.30.132
#198.123.30.132作为上级时间服务器参
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- Linux 入门 高级 全套 案例 v3