一、学习Linux系统运维知识:
1.Linux系统与Linux发型套件的区别:真正的Linux指的是系统内核,我们常说的Linux指的是发行版完整的包含一些基础软件的操作系统。
2.Linux与Windows对比:
①Linux稳定且有效率;
②漏洞少且快速修复;
③多任务多用户;
④更加安全的用户与文件权限策略;
⑤相对不耗资源。
3.了解并初步记忆了Linux基础知识:
①基础操作:关闭shutdown、重启reboot、帮助help、命令说明man、切换用户su、退出exit等;
②目录操作:切换cd、查看ls、创建mkdir、删除rm、修改mv、拷贝cp、搜索find、查看当前目录pwd等;
③文件操作:新增touch、删除rm、编辑vi/vim、查看cat;
④打包与解压:打包文件拓展名.tar、压缩文件拓展名.gz、打包并压缩文件拓展名.tar.gz;打包文件tar -zcvf、解压文件tar -zxvf a.tar/unzip -l test.zip;
⑤其他常用命令:find、where is、which、sudo、grep、service、free、top、df、mount、unname、yum、rpm、date、wget、ftp、scp等;
4.了解系统管理知识:
①防火墙操作:
service iptables status //查看iptables服务的状态
service iptables start //开启iptables服务
service iptables stop //停止iptables服务
service iptables restart //重启iptables服务
chkconfig iptables off //关闭iptables服务的开机自启动
chkconfig iptables on //开启iptables服务的开机自启动
##centos7 防火墙操作
systemctl status firewalld.service //查看防火墙状态
systemctl stop firewalld.service //关闭运行的防火墙
systemctl disable firewalld.service //永久禁止防火墙服务
②修改IP:
修改网络配置文件,文件地址:/etc/sysconfig/network-scripts/ifcfg-eth0
主要修改以下配置:
TYPE=Ethernet //网络类型
BOOTPROTO=static //静态IP
DEVICE=ens00 //网卡名
IPADDR=192.168.1.100 //设置的IP
NETMASK=255.255.255.0 //子网掩码
GATEWAY=192.168.1.1 //网关
DNS1=192.168.1.1 //DNS
DNS2=8.8.8.8 //备用DNS
ONBOOT=yes //系统启动时启动此设置
修改保存以后使用命令重启网卡:service network restart
③配置映射:
修改文件: vi /etc/hosts
在文件最后添加映射地址,示例如下:
192.168.1.101 node1
192.168.1.102 node2
192.168.1.103 node3
配置好以后保存退出,输入命令:ping node1 ,可见实际 ping 的是 192.168.1.101。
④查看网络配置信息:ip addr/ifconfig;修改主机名:hostnamectl set-hostname 主机名;查看进程:ps -ef;结束进程:kill pid/kill -9 pid;
⑤查看链接:
ping IP //查看与此IP地址的连接情况
netstat -an //查看当前系统端口
netstat -an | grep 8080 //查看指定端口
⑥快速清屏:ctrl+l;远程主机:ssh IP。
5.了解Nginx、Keepalived、DNSMASQ、HAPROXY、Redis、ELK等开源软件安装与管理:
①Nginx是一个高性能的HTTP和反向代理web服务器,同时也提供了IMAP/POP3/SMTP服务。它以其稳定性、丰富的功能集、低系统资源消耗而闻名,被广泛用于高并发场景;
②Keepalived是一款基于VRRP(虚拟路由冗余协议)的开源软件,主要用于解决网络服务的单点故障问题,提供高可用性和负载均衡功能;
③DNSMASQ是一个轻量级、易于配置的DNS代理和DHCP服务器,适用于本地网络,提供DNS解析和IP地址分配服务;
④HAProxy是一款高性能的TCP和HTTP负载均衡器,支持高并发、高可用性和丰富的负载均衡算法。它特别适用于需要处理大量并发请求的场景;
⑤Redis是一个开源的、使用ANSI C语言编写、支持网络、可基于内存亦可持久化的日志型、Key-Value数据库,并提供多种语言的API;
⑥ELK是Elasticsearch、Logstash和Kibana的缩写,它们通常一起使用来构建日志分析系统:
Elasticsearch:一个基于Lucene的搜索服务器,它提供了一个分布式多用户能力的全文搜索引擎,具有HTTP web接口和无模式的JSON文档。
Logstash:一个开源的服务器端数据处理管道,能够同时从多个来源采集数据,转换数据,然后将数据发送到您最喜欢的“存储库”中。
Kibana:一个基于Web的图形界面,用于搜索、查看和与存储在Elasticsearch索引中的数据进行交互。
这些开源软件的安装都可以通过包管理工具来进行安装,管理的主要指标为内存使用情况、性能指标、安全补丁、配置合理与否、日志记录情况、定期清理维护、防止未授权访问和攻击以及数据的可靠性等。
掌握这些开源软件的安装与管理方法,对于提升系统的稳定性、性能和可维护性具有重要意义。
6.掌握shell简单脚本的开发,能读懂一些简单的脚本:
①Shell脚本是运行在Unix/Linux系统上的脚本语言,用于自动化执行常见的系统管理任务;
②了解shell脚本的基本语法和文本处理,可以使用grep、sed、awk等工具进行文本搜索、替换和处理;
③可以使用bash -x your_script.sh来跟踪脚本的执行过程进而深入理解脚本的逻辑和流程。
7.了解ansible和Python ansible-runner接口:
①Ansible是一个自动化平台,用于自动化配置管理、应用程序部署、云编排等,基于Python开发,使用SSH进行远程连接,不需要在远程主机上安装代理软件。
②ansible-runner是一个Python库,它提供了一种执行Ansible Playbooks的简便方式。通过使用ansible-runner,可以在Python脚本中直接触发Ansible Playbooks的执行,并获取执行结果。