第1章
Shell脚本编程入门
随着“互联网+”时代的到来,Linux操作系统在服务器领域的市场份额不断增长。由于Linux服务器在互联网企业的大规模部署和应用,因此需要一批专业的技术人员去管理Linux服务器,即Linux运维工程师。
Linux运维工程师的基本工作之一是搭建相关编程语言的运行环境,使程序能够高效、稳定、安全地在服务器上运行。优秀的Linux运维工程师不但需要拥有架设服务器集群的能力,还需要拥有使用不同的编程语言开发常用的自动化运维工具或平台的能力,从而实现高效运维,提升运维团队整体作战实力,为业务提供强有力的支撑,保障业务和服务7 × 24小时不间断运行。
Linux运维工程师日常工作包括但不限于以下内容。
● 自动部署多版本操作系统,如批量部署CentOS 7.7或CentOS 8.0等,并针对不同版本操作系统的参数进行调试和优化。
● 部署程序运行环境,如网站后台开发语言采用PHP,搭建Nginx、Apache、MySQL以及PHP运行时所需环境等。
● 及时修复操作系统漏洞,防止服务器被攻击,这些漏洞包括Linux操作系统本身的漏洞和各个应用软件的漏洞。
● 根据项目需求批量升级软件,如JDK 1.8在性能方面获得了重大突破,如果现阶段服务器压力较大,可以考虑将JDK 1.7升级到JDK 1.8。
● 监控服务器运行状态,保障服务持续可用,业务不受宕机影响。服务器宕机后可以实现对业务无感知的集群快速切换,保障业务可持续运营。
● 分析系统和业务日志,及时发现服务器或网络存在的慢请求增多和网络超时等问题,第一时间通知相关人员修复和解决相关问题。
● 对服务器资源合理规划和精确管理,节省成本,控制预算。
● 分析反向代理或负载均衡器的连接数或运行日志,评估服务器性能和用户行为。
● 对服务器不断加固,如合理设置防火墙策略,部署入侵检测系统,及时发现可能存在的系统漏洞或系统异常行为。
因此,Linux运维工程师需要熟练掌握Shell编程及相关的自动化运维工具。本章从Shell脚本编程入门开始讲解,带领读者踏上Linux自动化运维之路。