服务器运维这活儿,说难不难,说容易也不容易。刚接手一台 Linux 服务器的时候,别急着往上堆服务,先把自己当成这台机器的主人,摸清它的脾气。
第一件事是看看系统啥情况。用 uname -a 知道内核版本,cat /etc/os-release 看清发行版信息。这就像认识一个人得先知道名字和来历。然后看看负载,uptime 能告诉你系统运行了多久,当前负载是多少。要是负载数字比 CPU 核心数还高,那就得警惕了。
磁盘空间是新手最容易忽略的地方。df -h 一眼就能看出哪个分区快满了。我见过太多服务器因为日志把磁盘写满导致服务挂掉的。养成习惯,定期用 du -sh /* 看看哪个目录占地方。要是发现 /var/log 特别大,就该清理日志了。
内存和进程得盯着。free -h 看内存使用,top 看实时进程。要是发现某个进程 CPU 占用一直很高,用 ps aux | grep 进程名 定位它,再用 kill 或者更温和的 kill -15 让它优雅退出。记住,kill -9 是最后手段,相当于直接拔电源。
网络问题最让人头疼。ss -tlnp 或者老牌的 netstat -tlnp 能看出哪些端口在监听。要是服务起不来,先看看端口有没有被占用。curl -I http://localhost:端口 测试本地服务是否正常。外网访问有问题的话,ping 和 traceroute 帮你判断是网络不通还是路由问题。
日志是排查问题的金矿。journalctl -u 服务名 看 systemd 服务的日志,tail -f /var/log/syslog 实时跟踪系统日志。遇到问题别瞎猜,先看日志说什么。大部分错误信息都会告诉你哪里出了问题。
文件权限经常坑人。ls -l 看权限,chmod 改权限,chown 改所有者。记住 755 是目录和可执行文件的常规权限,644 是普通文件的权限。别随便给 777,那相当于把家门钥匙贴在门上。
备份是最后的保险绳。重要的配置文件、数据库、代码,定期打包备份。用 tar -czf backup.tar.gz /重要目录 压缩,然后传到另一台机器或者云存储。最好写个脚本用 cron 定时执行,0 2 * * * 每天凌晨两点自动备份。
安全方面,SSH 别用密码登录,改成密钥认证。/etc/ssh/sshd_config 里把 PasswordAuthentication 改成 no。防火墙该开的端口才开,ufw allow 22 和 ufw allow 80 这种,然后 ufw enable 启动。定期 apt update && apt upgrade 更新系统补丁。
运维这活儿,细心比技术更重要。每次操作前想想后果,改配置文件先备份,执行危险命令前多检查一遍。机器不会骗人,你好好对它,它就好好为你服务。