logo

从零掌握CentOS:系统管理全流程实战教程

作者:谁偷走了我的奶酪2025.09.17 11:11浏览量:0

简介:本文为CentOS初学者提供系统化学习路径,涵盖基础操作、服务管理、安全加固及性能调优,结合真实场景案例与可复用的脚本示例,帮助读者快速掌握企业级Linux系统管理能力。

一、CentOS系统基础与环境搭建

CentOS作为RHEL的开源衍生版,其稳定性与兼容性使其成为企业级服务器的首选。学习CentOS需从系统安装开始,推荐使用CentOS Stream 9(当前最新版本)进行实践。安装时需注意分区方案:建议/boot分配1GB(EXT4文件系统),/分配剩余空间的70%(XFS文件系统),/home分配20%,剩余10%用于swap(内存2倍但不超过32GB)。安装完成后,通过nmcli命令配置网络

  1. nmcli connection add type ethernet con-name eth0 ifname eth0
  2. nmcli connection modify eth0 ipv4.method manual ipv4.addresses 192.168.1.100/24 ipv4.gateway 192.168.1.1 ipv4.dns "8.8.8.8,8.8.4.4"
  3. nmcli connection up eth0

系统初始化阶段,建议执行以下关键操作:更新系统至最新版本(dnf update -y),安装基础开发工具包(dnf groupinstall "Development Tools" -y),配置SSH安全登录(修改/etc/ssh/sshd_config中的PermitRootLogin no并重启服务)。

二、核心服务部署与管理

  1. Web服务架构
    以Nginx为例,安装后需配置虚拟主机:

    1. server {
    2. listen 80;
    3. server_name example.com;
    4. root /var/www/html;
    5. index index.html;
    6. location / {
    7. try_files $uri $uri/ =404;
    8. }
    9. }

    通过systemctl enable nginx --now实现开机自启,使用firewall-cmd --add-service=http --permanent开放防火墙端口。

  2. 数据库服务
    MariaDB安装后需执行安全初始化:

    1. mysql_secure_installation
    2. # 设置root密码,移除匿名用户,禁止远程root登录

    创建数据库用户时,建议采用最小权限原则:

    1. CREATE DATABASE app_db;
    2. GRANT SELECT,INSERT,UPDATE ON app_db.* TO 'app_user'@'localhost' IDENTIFIED BY 'SecurePass123!';
  3. 容器化部署
    安装Podman(替代Docker的合规方案):

    1. dnf install podman -y
    2. podman run -d --name webserver -p 8080:80 nginx:alpine

    通过podman generate systemd --name webserver > /etc/systemd/system/webserver.service实现容器服务化管理。

三、系统安全加固实践

  1. 防火墙策略
    使用firewalld实现分层防护:

    1. firewall-cmd --set-default-zone=public
    2. firewall-cmd --add-rich-rule='rule family="ipv4" source address="192.168.1.0/24" port protocol="tcp" port="22" accept' --permanent
    3. firewall-cmd --reload
  2. 审计与日志
    配置auditd监控关键文件:

    1. echo "-w /etc/passwd -p wa -k passwd_changes" >> /etc/audit/rules.d/audit.rules
    2. systemctl restart auditd

    日志轮转配置示例(/etc/logrotate.d/nginx):

    1. /var/log/nginx/*.log {
    2. daily
    3. missingok
    4. rotate 14
    5. compress
    6. delaycompress
    7. notifempty
    8. create 0640 nginx adm
    9. sharedscripts
    10. postrotate
    11. [ -s /run/nginx.pid ] && kill -USR1 `cat /run/nginx.pid`
    12. endscript
    13. }
  3. 入侵检测
    部署AIDE(高级入侵检测环境):

    1. dnf install aide -y
    2. aide --init
    3. cp /var/lib/aide/aide.db.new.gz /var/lib/aide/aide.db.gz

    定期执行aide --check生成安全报告。

四、性能优化与故障排查

  1. 资源监控
    使用glances实现综合监控:

    1. dnf install epel-release -y
    2. dnf install glances -y
    3. glances -w # 启动Web界面模式

    关键指标阈值:CPU等待队列>3表示I/O瓶颈,内存使用>90%需警惕交换分区使用。

  2. 存储优化
    对XFS文件系统进行碎片整理:

    1. xfs_fsr /mount/point

    定期执行fstrim /维护SSD寿命(需配置discard选项)。

  3. 网络调优
    调整TCP参数(/etc/sysctl.conf):

    1. net.ipv4.tcp_keepalive_time = 300
    2. net.ipv4.tcp_fin_timeout = 30
    3. net.core.somaxconn = 4096

    应用配置:sysctl -p

五、自动化运维实践

  1. Ansible配置管理
    创建Playbook批量更新系统:

    1. - hosts: all
    2. tasks:
    3. - name: Update all packages
    4. dnf:
    5. name: '*'
    6. state: latest
    7. - name: Reboot if kernel updated
    8. reboot:
    9. msg: "Reboot initiated by Ansible"
    10. test_command: uptime
  2. 日志分析系统
    部署ELK栈(简化版):

    1. # Filebeat配置示例
    2. cat > /etc/filebeat/filebeat.yml <<EOF
    3. filebeat.inputs:
    4. - type: log
    5. paths:
    6. - /var/log/nginx/*.log
    7. output.elasticsearch:
    8. hosts: ["localhost:9200"]
    9. EOF
  3. 备份策略
    使用rsync实现增量备份:

    1. rsync -avz --delete --link-dest=/backup/current /etc /backup/incr-$(date +%Y%m%d)
    2. ln -sfn /backup/incr-$(date +%Y%m%d) /backup/current

六、进阶学习路径

  1. 内核调优
    研究/sys/kernel/mm/transparent_hugepage/enabled对数据库性能的影响,建议设置为madvise模式。

  2. 安全认证
    准备RHCSA/RHCE认证时,重点练习故障排查场景:如修复损坏的GRUB引导、恢复误删除的系统文件等。

  3. 云原生集成
    学习如何将CentOS与Kubernetes集成,包括使用crictl管理容器运行时,配置kubelet服务参数等。

学习建议

  1. 搭建多节点测试环境模拟企业级架构
  2. 参与OpenStack等开源项目贡献代码
  3. 定期阅读CentOS官方安全公告(https://lists.centos.org/)
  4. 实践时使用tmux多窗口管理提升效率

通过系统化学习与实践,读者可在3-6个月内达到中级Linux系统管理员水平,为后续深入云计算DevOps等领域奠定坚实基础。

相关文章推荐

发表评论