Linux 基础篇
Linux 基础篇总共包含 8 个章节,第 1 章到第 8 章学习内容分别包括:Linux 快速入门、Linux 发展及系统安装、CentOS Linux 系统管理、Linux 必备命令、Linux 用户和组、Linux 软件包管理、磁盘管理、Linux 文件共享管理等。
读者通过对基础篇 8 个章节的深入学习,可以更加了解 Linux 发展历程,了解 Linux发行版之间的特性以及 Linux 内核命名规范,基于虚拟机环境手动安装 CentOS 操作系统,能够快速上手,快速的入门 Linux。
同时能够熟练掌握 Linux 操作系统完整的流程,掌握 Linux 操作系统用户和组管理的机制,对 Linux 系统文件及目录进行权限定制和分配,从而提升 Linux 操作系统使用安全,更加保证系统的稳定性。
对 Linux 必备命令的掌握程度,直接决定后期对 Linux 系统能否进行娴熟的操作,同时掌握 Linux 高效学习大绝招,养成学习 Linux 的习惯和方法,对后期的 Linux 学习能起到事半功倍的效果。
俗话说“基础不牢,地动山摇”,熟练掌握 Linux 基础必备篇的相关内容,能够独立维护和管理企业 Linux 操作系统,为后期维护企业生产环境服务器打下坚实的基础。
Linux 进阶篇
Linux 进阶篇总共包含 6 个章节,第 9 章到第 14 章学习内容分别包括:HTTP 协议详解、Apache WEB 服务器企业实战、MySQL 数据库服务器企业实战、LAMP 企业架构实战、Zabbix 分布式监控系统实战、Nginx 高性能 WEB 服务器实战等。
读者通过对进阶篇 6 个章节的深入学习,可以基于基础篇学习的 Linux 操作系统管理,快速上手独立维护和管理企业各种服务,例如主流的 Apache、Nginx WEB 服务器,深入学习 HTTP 协议,掌握 HTTP 底层通信原理等。同时能熟练构建企业级数据库管理集群,MySQL 主从复制,一主多从、读写分离实战保证网站数据的完整,对数据库配置文件进行调优、增加索引提供数据查询效率,如果数据库异常或者缓慢,可以基于 MySQL 慢查询日志定位慢 SQL。
进阶篇引入 Redis 高性能缓存服务器,互联网各大公司都在使用 Redis,熟练掌握Redis 对升职加薪及网站性能有巨大的帮助,Redis 缓存还可以提高用户访问 WEB 网站的效率,增强用户体验。同时随着企业服务器不断增加,基于 Zabbix 分布式监控系统能够实时监控服务器 CPU、内存、硬盘、网卡及服务器上各种应用的监控,做到有故障第一时间给相关人员发送微信报警,第一时间处理问题。
互联网主流 WEB 服务器软件 Nginx,得到各大企业的 SA 的青睐,应用也非常的广泛,对 Nginx 深入掌握,对运维能力的提升是非常大的,通过进阶篇的对 Nginx 的深入学习,能够熟练掌握 Nginx 工作原理、安装配置、管理升级、负载均衡及动静分离、虚拟主机、参数调优、Nginx Location、Nginx Rewrite、日志切割、防盗链、HTTPS 等核心技术,能更好的维护生产环境 Nginx 高性能 WEB 服务器。
Linux 高级篇
Linux 进阶篇总共包含 9 个章节,第 15 章到第 38 章学习内容分别包括:Linux 性能优化、大数据量备份、Shell 企业实战基础、Shell 实战高级编程、自动化运维趋势、Puppet 自动化运维实战、Ansible 自动化运维实战、Jenkins 企业级自动化实战、企业级高并发网站集群、Docker、K8S、Hadoop、Ceph、CI/CD、MQ、ZK、ETCD 等。
读者通过对进阶篇 9 个章节的深入学习,可以能够独立维护和管理企业上百台、千台服务器,能够在企业中独当一面,打造企业级千万 PV 门户网站架构。
同时能够掌握对 MYSQL 2T+大数量的备份,Linux 服务器内核进行优化、对内核故障排错,服务器异常能够快速解决,编写企业生产环境各种 Shell 脚本工具,实现网站自动化维护和部署、Shell 高级实战编程章讲述了 11 个高级实战脚本案例满足企业各种场景使用,基于 Shell 编程独立开发各种脚本,例如:构建网站服务器数据备份、LAMP、LNMP 一键安装部署、服务器硬件信息收集存入 DB、MYSQL 主从实战、自动修改千台服务器 IP、Zabbix 自动部署客户端、Nginx、Tomcat 自动部署、Docker 虚拟化管理平台、Bind 高级管理等脚本等。
对 Linux 高级篇的学习能够完全胜任万台服务器的维护和管理,基于 Puppet 各种案例实现主动部署管理、客户端自动获取配置、批量管理服务器等,通过轻量级 Ansible自动化部署工具,实现至少 1000 台服务器的运维和管理,通过各种资源模块对服务器进行管理,同时可以编写 Playbook 剧本实现对服务器流程化管理,减轻人工干预,实现对服务器和 web 网站高效维护。
高级篇引入 Jenkins 自动化部署平台,讲述传统网站部署、主流网站部署的方法,基于 Jenkins 构建企业级自动化平台,支持 SVN、GIT 仓库,结合 Ansible 自动化运维工具打造企业级自动化部署平台,让运维工作更加的轻松。
本篇最后一个章节以 9 个企业级高级实战集群部署,例如 Nginx+keepalived、Redis+keepalived、LVS+Keepalived、Haproxy+keepalived 满足企业各个应用环境的部署,真正学以致用,满足企业高速的发展!
第 3 章 CentOS 系统管理
Linux 系统安装完毕,需要对 Linux 系统进行管理和维护,让 Linux 服务器能真正应用于企业中。
本章向读者介绍 Linux 系统引导原理、启动流程、系统目录、权限、命令及 CentOS7和 CentOS6 在系统管理、命令方面有什么区别,让我们一起来遨游在 Linux 的海洋里。
3.6 Linux 系统配置 DNS
如上网卡 IP 地址配置完毕,如果服务器需上外网,还需配置域名解析地址(Domain Name System,DNS),DNS 主要用于将请求的域名转换为 IP 地址,DNS 地址配置方法如下:
修改 vi /etc/resolv.conf 文件,在文件中加入如下两条:
nameserver 202.106.0.20
nameserver 8.8.8.8
如上分别表示主 DNS 于备 DNS,DNS 配置完毕后,无需重启网络服务,DNS 是立即生效。
可以 ping –c 6 www.baidu.com 查看返回结果,如果有 IP 返回,则表示服务器DNS 配置正确,如图 3-13 所示:
3.7 Linux 网卡名称命名
CentOS7 服务器,默认网卡名为 ifcfg-eno16777736,如果我们想改成 ifcfg–eth0,使用如下步骤即可:
(1) 编辑/etc/sysconfig/grub 文件,命令为 vi /etc/sysconfig/grub,在倒数第二行 quiet 后加入如下代码,并如图 3-14 所示:
net.ifnames=0 biosdevname=0
图 3-14 网卡配置 ifnames 设置
(2) 执行命令 grub2-mkconfig -o /boot/grub2/grub.cfg,生成新的 grub.cfg 文件,如图 3-15 所示:
grub2-mkconfig -o /boot/grub2/grub.cfg
图 3-15 生成新的 grub.cnf 文件
(3) 重 命 名 网 卡 名 称 , 执 行 命 令 mv ifcfg-eno16777736 ifcfg-eth0 , 修 改ifcfg-eth0 文件中 DEVICE= eno16777736 为 DEVICE= eth0,如图 3-16 所示:
图 3-16 重命名网卡名称
(4) 重启服务器,并验证网卡名称是否为 eth0,Reboot 完后,如图 3-17 所示:
3.8 CentOS7 密码重置
修改 CentOS7 ROOT 密码非常简单,只需登录系统,执行命令 passwd 回车即可,但是如果忘记 ROOT,无法登录系统,该如何去重置 ROOT 用户的密码呢?如下为重置ROOT 用户的密码的方法:
(1) Reboot 重启系统,系统启动进入欢迎界面,加载内核步骤时,按 e,然后选中“CentOS Linux (3.10.0-327.e17.x86_64)7 (Core)”,如图 3-18 所示:
图 3-18 内核菜单选择界面
(2) 继续按 e 进入编辑模式,找到 ro crashkernel=auto xxx 项,将 ro 改成 rwinit=/sysroot/bin/sh,如图 3-19 所示:
图 3-19 内核编辑界面
(3) 修改为后如图 3-20 所示:
图 3-20 内核编辑界面
(4) 按 ctrl+x 按钮进入单用户模式,如图 3-21 所示:
图 3-21 进入系统单用户模式
(5) 执行命令 chroot /sysroot 访问系统,并使用 passwd 修改 root 密码,如图3-22 所示:
图 3-22 修改 ROOT 用户密码
(6) 更新系统信息,touch /.autorelabel,执行命令 touch /.autorelabel,在/目录下创建一个.autorelabel 文件,如果该文件存在,系统在重启时就会对整个文件系统进行 relabeling 重新标记,可以理解为对文件进行底层权限的控制和标记,
如果 seLinux 属于 disabled 关闭状态则不需要执行这条命令,如图 3-23 所示:
3.9 远程管理 Linux 服务器
系统安装完毕后,可以通过远程工具来连接到 Linux 服务器,远程连接服务器管理的好处在于可以跨地区管理服务器,例如读者在北京,想管理的服务器在上海某 IDC 机房,通过远程管理后,不需要到 IDC 机房现场去操作,直接通过远程工具即可管理,与
在现场的管理是一模一样。
远程管理 Linux 服务器要满足如下三个步骤:
(1) 服务器配置 IP 地址,如果服务器在公网,需配置公网 IP,如果服务器在内部局域网,可以直接配置内部私有 IP 即可;
(2) 服务器安装 SSHD 软件服务并启动该服务,几乎所有的 Linux 服务器系统安装完毕均会自动安装并启动 SSHD 服务,SSHD 服务监听 22 端口,关于 SSHD 服务、OpenSSH 及 SSH 协议后面章节会讲解;
(3) 在服务器中防火墙服务需要允许 22 端口对外开放,初学者可以临时关闭防火墙,CentOS6 Linux 关闭防火墙的命令:service iptables stop,而 CentOS7 Linux 关闭防火墙的命令:systemctl stop firewalld.service。
常见的 Linux 远程管理工具包括:SecureCRT、Xshell、Putty、Xmanger 等工具。
目前主流的远程管理 Linux 服务器工具为 SecureCRT,官网 https://www.vandyke.com下载并安装 SecureCRT,打开工具,点击左上角 quick connect 快速连接,弹出界面如
图 3-24 所示,连接配置具体步骤如下:
协议(P):选择 SSH2
主机名(H):输入 Linux 服务器 IP 地址
端口(o): 22
防火墙(F):None
用户名(U):root
单击下方的“连接”,会提示输入密码,输入 root 用户对应密码即可。
图 3-24 SecureCRT 远程 Linux 服务器
通过 SecureCRT 远程连接 Linux 服务器之后,会发现如图 3-25 所示界面,与服务器本地操作界面一样,在命令行可以执行命令,操作结果与在服务器现场操作是一样。
图 3-25 SecureCRT 远程 Linux 服务器
3.10 Linux 系统目录功能
通过以上知识的学习,读者已经能够独立安装并配置 Linux 服务器 IP 并远程连接,为了进一步学习 Linux,需熟练掌握 Linux 系统各个目录的功能。
Linux 主要树结构目录包括:/、/root、/home、/usr、/bin、/tmp、/sbin、/proc、/boot 等,如图 3-26 所示,为典型的 Linux 目录结构如下:
图 3-26 Linux 目录树形结构
Linux 系统中常见目录功能如下:
/ 根目录;
/bin 存放必要的命令;
/boot 存放内核以及启动所需的文件;
/dev 存放硬件设备文件;
/etc 存放系统配置文件;
/home 普通用户的宿主目录,用户数据存放在其主目录中;
/lib|lib64 存放必要的运行库;
/mnt 存放临时的映射文件系统,通常用来挂载使用;
/proc 存放存储进程和系统信息;
/root 超级用户的主目录;
/sbin 存放系统管理程序;
/tmp 存放临时文件;
/usr 存放应用程序,命令程序文件、程序库、手册和其它文档;
/var 系统默认日志存放目录。
CentOS系统配置DNS小结
在CentOS系统中,配置DNS(Domain Name System)是网络管理的重要任务之一。DNS用于将主机名解析为IP地址,以便在网络中能够通过主机名进行通信。本文将介绍CentOS系统中配置DNS的步骤和注意事项。
一、了解DNS基础知识
- 域名:域名是用于标识网络中计算机的字符串,通常由一系列单词组成,如example.com。
- DNS服务器:DNS服务器用于存储域名和IP地址的映射关系,以便在网络中解析域名。
- 本地DNS缓存:本地DNS缓存用于存储已解析的域名和IP地址映射关系,以提高查询效率。
- DNS查询:当客户端需要解析域名时,会向本地DNS服务器发送DNS查询请求,以获取相应的IP地址。
二、配置CentOS系统的DNS
在CentOS系统中,可以通过以下步骤配置DNS:
sudo yum install bind bind-utils
- 配置主配置文件:BIND的主配置文件位于/etc/named.conf。可以使用文本编辑器打开该文件,进行基本配置,如指定监听的网络接口、允许查询的类型等。
- 配置区域文件:区域文件用于存储域名和IP地址的映射关系。在CentOS系统中,默认的区域文件位于/var/named/目录下。可以根据自己的需求创建自定义的区域文件,并在主配置文件中指定。
- 启动和管理DNS服务:完成主配置文件和区域文件的配置后,可以使用以下命令启动和管理DNS服务:
sudo systemctl start named # 启动DNS服务
sudo systemctl enable named # 设置开机自启
sudo systemctl status named
三、配置客户端的DNS
在客户端上,需要配置操作系统中的DNS服务器地址,以便向指定的DNS服务器发送查询请求。以下是在常见操作系统中配置DNS服务器地址的方法:
- Windows系统:打开“控制面板”,进入“网络和Internet”,点击“网络和共享中心”,在“更改适配器设置”中找到当前使用的网络连接,右键点击并选择“属性”。在弹出的窗口中,双击“Internet协议版本4(TCP/IPv4)”,在弹出的窗口中,将DNS服务器地址设置为CentOS系统的IP地址。
- Linux系统:打开终端窗口,编辑/etc/resolv.conf文件,添加以下行并保存文件:
nameserver <CentOS IP address>
其中,为CentOS系统的IP地址。保存文件后,重新启动网络服务以使更改生效。可以使用以下命令重启网络服务:
sudo systemctl restart network
四、注意事项
在配置CentOS系统的DNS时,需要注意以下几点:
- 确认CentOS系统具有正确的网络接口和IP地址配置,以便正确地接收和响应查询请求。
- 确认BIND软件包的版本与CentOS系统的版本兼容。不同版本的BIND可能具有不同的配置选项和语法要求。
- 在配置区域文件时,需要注意域名的正确性和唯一性。错误的域名配置可能导致无法正常解析域名。
原文地址:https://blog.csdn.net/kingpower2018/article/details/134110071
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。
如若转载,请注明出处:http://www.7code.cn/show_31862.html
如若内容造成侵权/违法违规/事实不符,请联系代码007邮箱:suwngjj01@126.com进行投诉反馈,一经查实,立即删除!