服务器运维详细步骤教程,零基础也能学会 - 编号324
大多数运维新手犯的第一个错误,不是操作失误,而是连服务器开机后该先做什么都不清楚:直接装软件、开端口,结果一周后就被入侵或磁盘写满。以阿里云 ECS 为例,默认 root 密码弱、防火墙规则全开、磁盘无监控,这是最典型的风险起点。下面从零开始拆解三个必须做对的关键步骤。
1. 初始安全加固:三件缺一不可的事
拿到一台全新 Ubuntu 22.04 服务器,别急着跑 apt update。先用 adduser 创建一个普通用户,比如 devops,然后通过 usermod -aG sudo devops 赋予 sudo 权限。接着用 ssh-keygen 生成密钥对,把公钥写入 ~/.ssh/authorized_keys,并修改 /etc/ssh/sshd_config 禁用密码登录和 root 登录:PasswordAuthentication no PermitRootLogin no。最后用 ufw default deny incoming && ufw allow ssh && ufw enable 只开放 22 端口。这三步做完,一台服务器的基础防线才算建立。
2. 日常监控与日志轮转:避免磁盘突然爆满
很多新手以为监控就是装个面板,结果面板本身占资源还吃内存。更实在的做法是编写一个简单的 shell 脚本,比如 /opt/check_disk.sh,内容用 df -h | grep -E "^/dev" | awk '{print $5}' 检查磁盘使用率,超过 80% 就通过 curl 推送企业微信通知。同时配置 logrotate:在 /etc/logrotate.d/ 下创建 custom_logs,设置 daily rotate 7 compress,让 Nginx 和应用的日志每天只保留最近 7 天,避免日志文件无限制膨胀到几十 GB。
3. 软件安装与端口管理:用 systemd 而非无脑开机自启
对比一下:有些人装完 MySQL 直接 systemctl enable mysql,然后不管 3306 端口是否暴露。正确的做法是部署前先检查端口占用:ss -tlnp 确认没有多余服务在监听。安装完软件后,创建自定义的 .service 文件放到 /etc/systemd/system/ 下,比如编写 myapp.service,指定 ExecStart、Restart=always、User=devops,然后用 systemctl daemon-reload && systemctl start myapp 启动。这样既能让应用随系统崩溃自动重启,又能确保运行权限受限,不会用 root 跑业务服务。
最后给你 3 条最容易被忽视的实操建议:第一,修改 SSH 端口到 2222,顺手在 ufw 里放行,能挡住 99% 的扫描攻击;第二,每周用 last 看看登录记录,发现有陌生 IP 立刻检查 ~/.ssh/authorized_keys;第三,不要依赖云厂商的默认快照,自己写个 crontab 每天 tar czf /backup/$(date +%Y%m%d).tar.gz /var/www,备份文件单独放到另一台机器或对象存储里。