CentOS VPS服务器初始化:15项运维老司机必做配置
文章分类:技术文档 /
创建时间:2025-08-31
使用CentOS VPS服务器时,初始化配置是保障安全、稳定与性能的关键。我们在为500+企业客户运维VPS的过程中发现,80%的初期故障都源于初始化步骤遗漏。以下15项操作,是运维团队总结的实战清单,涵盖系统更新、用户管理、安全加固等核心环节。
第一步:先做系统更新
所有配置前务必先更新系统。曾有客户因跳过这步,安装软件时出现依赖冲突,浪费2小时排查。执行命令:
yum update -y
注意选网络稳定时段操作,避免因断网导致部分包更新不完整。
第二步:设置规范主机名
主机名影响SSH连接、日志记录等场景。正确操作是:
hostnamectl set-hostname web-server-01 # 示例主机名,建议包含用途+编号
同时编辑`/etc/hosts`,添加`127.0.0.1 web-server-01`。曾见客户用中文主机名,导致Docker容器解析失败,切记用英文+数字组合。
第三步:创建受限权限用户
绝对不要用root直接操作!创建新用户并赋予sudo权限:
adduser ops-user # 运维专用账号
passwd ops-user # 设置强密码(含字母+数字+符号)
usermod -aG wheel ops-user # 加入wheel组获得sudo权限
某客户曾因忘记给新用户sudo权限,禁用root后无法登录,最后只能通过VPS控制台重置密码。
第四步:禁用root远程登录
这是安全加固核心操作。编辑`/etc/ssh/sshd_config`,将`PermitRootLogin yes`改为`no`,然后重启服务:
systemctl restart sshd
我们监测到,开放root登录的VPS,平均每小时会收到200+次暴力破解尝试,禁用后攻击成功率下降95%。
第五步:防火墙最小化开放端口
CentOS默认关闭防火墙,需手动启用并仅开放必要端口。以Web服务器为例:
systemctl start firewalld
systemctl enable firewalld # 开机自启
firewall-cmd --permanent --add-service=ssh # 保留SSH
firewall-cmd --permanent --add-port=80/tcp # Web服务
firewall-cmd --permanent --add-port=443/tcp # HTTPS
firewall-cmd --reload # 生效配置
曾有客户因漏开443端口,导致HTTPS网站无法访问,排查半天才发现是防火墙问题。
第六步:SELinux设为宽容模式
SELinux(安全增强型Linux)默认强制模式可能阻碍服务运行。建议新手暂时设为宽容模式:
setenforce 0 # 临时生效
sed -i 's/SELINUX=enforcing/SELINUX=permissive/g' /etc/selinux/config # 永久修改
注意:完全禁用会降低安全性,熟悉后可逐步调整策略。
第七步:时间同步避免隐患
时间不准会导致证书验证失败、日志混乱。安装NTP服务:
yum install ntp -y
systemctl start ntpd
systemctl enable ntpd
某电商客户因服务器时间慢3分钟,导致促销活动订单时间戳混乱,损失近万元。
第八步:安装运维必备工具
这些工具能大幅提升操作效率:
yum install vim wget curl htop iotop -y
`htop`比`top`更直观,`iotop`能定位磁盘IO瓶颈,都是排查故障的“救命工具”。
第九步:优化SSH连接体验
除了禁用root,还可调整:
- 改SSH端口(如2222),降低被扫描概率
- 禁用空密码登录(`PermitEmptyPasswords no`)
- 设置登录超时(`ClientAliveInterval 600`)
修改后务必测试新端口能否登录,避免锁死自己。
第十步:挂载额外磁盘
若VPS有数据盘,需正确挂载。假设新磁盘是`/dev/sdb`:
fdisk /dev/sdb # 分区(按提示选n→p→1→回车→w)
mkfs.ext4 /dev/sdb1 # 格式化为ext4
mkdir /data # 创建挂载点
echo '/dev/sdb1 /data ext4 defaults 0 0' >> /etc/fstab # 开机自动挂载
mount -a # 立即生效
注意:重要数据建议用`ext4`或`xfs`,避免用`FAT32`等不支持大文件的格式。
第十一步:设置Swap虚拟内存
内存小于4G的VPS建议设置Swap。以2G为例:
fallocate -l 2G /swapfile
chmod 600 /swapfile
mkswap /swapfile
swapon /swapfile
echo '/swapfile none swap defaults 0 0' >> /etc/fstab
Swap大小建议:内存≤2G时设为2倍,4G内存设为1倍,8G以上可不设。
第十二步:日志轮转防磁盘爆满
`logrotate`能自动切割日志。编辑`/etc/logrotate.d/syslog`:
/var/log/cron
/var/log/maillog
/var/log/messages
/var/log/secure
/var/log/spooler {
missingok
notifempty
sharedscripts
postrotate
/bin/kill -HUP `cat /var/run/syslogd.pid 2> /dev/null` 2> /dev/null || true
endscript
}
某客户因未配置日志轮转,3天后/var/log占满磁盘,导致服务崩溃。
第十三步:安装基础监控工具
`htop`看进程、`iftop`看流量、`dstat`综合监控,这些工具能帮你快速定位:
- CPU飙升是否因PHP进程过多
- 内存泄漏是否由Java程序引起
- 磁盘IO高是否因数据库写入频繁
第十四步:自动更新补安全漏洞
用`yum-cron`自动安装安全补丁:
yum install yum-cron -y
systemctl start yum-cron
systemctl enable yum-cron
修改`/etc/yum/yum-cron.conf`,将`update_cmd`设为`security`,只更新安全补丁,避免自动升级内核导致兼容问题。
第十五步:制定首次备份计划
初始化完成后立即备份!用`rsync`备份关键目录:
rsync -avz --delete /etc /var/www /backup # 本地备份
或同步到对象存储(需先配置密钥)
我们要求客户至少每周增量备份、每月全量备份,曾靠备份帮客户恢复误删的Nginx配置文件。
完成这15项操作,你的CentOS VPS服务器基本能应对90%的初期运维场景。记住,初始化不是一次性工作,后续每安装新服务、调整配置后,都要检查是否影响原有设置。
上一篇: 医疗网站搭建:海外云服务器合规与加密要点
下一篇: 香港VPS容器集群自动化部署运维实战指南