运维知识总结

1. Linux 基础

❓1.1 常见 Linux 命令

类型关键命令
文件操作ls, cd, cp, mv, rm, find, locate
权限管理chmod, chown, umask, sudo
进程管理ps, top, htop, kill, pkill, nice, renice
磁盘管理df, du, fdisk, mount, umount, lsblk
日志分析tail, cat, grep, awk, sed, journalctl
网络netstat, ss, ip a, ping, traceroute, curl, wget, tcpdump, iptables

❓1.2 如何查看 CPU、内存、磁盘、网络使用情况?

# 查看 CPU 负载 top htop # 交互式进程管理工具 # 查看内存使用情况 free -m # 查看磁盘使用情况 df -h # 挂载磁盘使用情况 du -sh * # 计算当前目录各文件夹占用空间 # 查看网络连接 ss -tulnp # 显示监听的端口及进程 netstat -anp # 监听所有端口

❓1.3 如何查看系统日志?

# 查看系统日志 journalctl -xe dmesg | tail -20 # 查看最近的系统日志 tail -f /var/log/syslog # 监控日志变化


2. Shell 脚本

❓2.1 如何写一个检测服务器 CPU、内存、磁盘的 Shell 脚本?

#!/bin/bash echo "CPU 使用情况:" top -b -n1 | grep "Cpu(s)" echo "内存使用情况:" free -m echo "磁盘使用情况:" df -h


3. 网络

❓3.1 如何查看服务器的 IP 地址和网络连接?


ip a # 查看 IP 地址 ss -tulnp # 查看监听的端口 ping 8.8.8.8 # 测试网络连通性 traceroute 8.8.8.8 # 查看路由路径

❓3.2 端口占用问题

netstat -tulnp | grep 8080 # 查看 8080 端口被哪个进程占用 lsof -i:8080 # 同上 kill -9 <PID> # 杀死进程


4. 服务器监控

❓4.1 常见监控工具

类型工具
服务器监控Prometheus + Grafana
日志收集ELK(Elasticsearch, Logstash, Kibana)
容器监控cAdvisor, Prometheus, Loki
进程监控Monit, Supervisor

❓4.2 如何用 Prometheus 监控服务器?

  1. 安装 Node Exporte

wget https://github.com/prometheus/node_exporter/releases/download/v1.5.0/node_exporter-1.5.0.linux-amd64.tar.gz tar -xzf node_exporter-1.5.0.linux-amd64.tar.gz cd node_exporter-1.5.0.linux-amd64 ./node_exporter

  1. 配置 Prometheus


yaml

scrape_configs: - job_name: 'node' static_configs: - targets: ['localhost:9100']

  1. 启动 Grafana,连接 Prometheus,配置可视化图表


5. Docker & Kubernetes

❓5.1 Docker 常见命令

docker ps # 查看运行中的容器 docker images # 查看镜像列表 docker run -d -p 8080:80 nginx # 运行 Nginx 容器 docker exec -it <container_id> /bin/bash # 进入容器 docker logs -f <container_id> # 查看容器日志

❓5.2 Kubernetes 相关概念

组件作用
Pod最小部署单元
Deployment无状态应用管理
StatefulSet有状态应用管理(数据库)
Service负载均衡和服务发现
ConfigMap配置管理
Secret机密信息管理

❓5.3 K8s 常见命令

kubectl get pods # 查看 Pod kubectl get services # 查看 Service kubectl apply -f deployment.yaml # 部署资源 kubectl delete pod <pod_name> # 删除 Pod


6. 数据库(MySQL)

❓6.1 MySQL 相关操作


sql

SHOW DATABASES; -- 查看所有数据库 USE mydb; -- 切换数据库 SHOW TABLES; -- 查看表 SELECT * FROM users; -- 查询数据 SHOW PROCESSLIST; -- 查看当前执行的 SQL

❓6.2 MySQL 性能优化

  • 索引优化:合理使用 B-Tree 索引,避免全表扫描

  • 慢查询日志:分析 slow_query_log

  • 分库分表:Sharding 拆分大表

  • 缓存:使用 Redis 作为查询缓存


7. 云计算 & DevOps

❓7.1 什么是 CI/CD?

CI/CD(持续集成 / 持续部署)自动化软件构建、测试和发布流程。
常见工具:

  • Jenkins(最流行的 CI/CD)

  • GitHub Actions(云原生 CI/CD)

  • ArgoCD(K8s 部署)

❓7.2 如何使用 Jenkins 实现自动部署?

  1. 安装 Jenkins

  2. 创建 Pipeline

  3. 使用 Jenkinsfile 进行自动构建


groovy

复制编辑

pipeline { agent any stages { stage('Clone') { steps { git 'https://github.com/your-repo.git' } } stage('Build') { steps { sh 'mvn package' } } stage('Deploy') { steps { sh 'scp target/app.jar user@server:/opt/app/' sh 'ssh user@server "systemctl restart app"' } } } }


总结

领域重点知识
Linux进程、日志、磁盘、权限
Shell自动化运维脚本
网络端口、IP、连接排查
监控Prometheus, Grafana, ELK
容器Docker, Kubernetes
数据库MySQL, Redis 优化
CI/CDJenkins, GitHub Actions
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值