服务器初始化完整步骤
服务器初始化是保障服务器安全、稳定运行的基础操作,需覆盖系统基础配置、安全加固、软件环境准备三大核心维度。以下是适用于 Linux 系统(以 CentOS 7 为例)的完整初始化步骤,其他发行版(如 Ubuntu)可参考调整:
一、系统基础配置(首次登录后优先操作)
1. 切换 root 用户(避免权限不足)
若初始登录为普通用户,先切换至 root:
bash
su - root # 输入 root 密码
2. 配置网络(确保服务器可联网)
- 查看网卡名称:
bash
ip addr # 通常为 eth0 或 ens33 - 修改网络配置文件(设置静态 IP,避免重启后 IP 变化):
bash
vi /etc/sysconfig/network-scripts/ifcfg-eth0 # 替换为实际网卡名称
关键配置项修改如下(其他项保留默认或按需调整):ini
BOOTPROTO=static # 静态 IP(默认 dhcp 为动态) ONBOOT=yes # 开机启动网卡 IPADDR=192.168.1.100 # 服务器静态 IP(需与网关在同一网段) NETMASK=255.255.255.0 # 子网掩码 GATEWAY=192.168.1.1 # 网关(路由器/交换机 IP) DNS1=223.5.5.5 # 阿里云 DNS(加速国内解析) DNS2=114.114.114.114 # 备用 DNS - 重启网络服务:
bash
systemctl restart network # CentOS 7 # 若为 CentOS 8/RHEL 8:systemctl restart NetworkManager - 验证网络:
bash
ping baidu.com # 能通则网络正常
3. 关闭 SELinux(避免对后续软件运行的权限干扰)
- 临时关闭(立即生效,重启后失效):
bash
setenforce 0 - 永久关闭(修改配置文件,需重启生效):
bash
vi /etc/selinux/config
将SELINUX=enforcing改为SELINUX=disabled,保存退出后,后续重启服务器即可永久生效。
4. 配置时区与时间同步(避免日志、任务调度时间混乱)
- 设置时区为上海(亚洲 / 上海):
bash
ln -sf /usr/share/zoneinfo/Asia/Shanghai /etc/localtime - 安装并启动时间同步服务(ntp):
bash
yum install -y ntp # 安装 ntp systemctl start ntpd # 启动服务 systemctl enable ntpd # 开机自启 ntpdate ntp.aliyun.com # 手动同步阿里云时间服务器(验证同步)
二、安全加固(降低被攻击风险)
1. 优化 SSH 服务配置(禁止密码登录、修改默认端口)
- 备份 SSH 配置文件:
bash
cp /etc/ssh/sshd_config /etc/ssh/sshd_config.backup - 修改配置文件:
bash
vi /etc/ssh/sshd_config
关键配置项调整(按需求选择,建议全部配置):ini
Port 2222 # 修改 SSH 默认端口(22→2222,避免扫描攻击,需记住新端口) PermitRootLogin no # 禁止 root 直接登录(需通过普通用户 su 切换,更安全) PasswordAuthentication no # 禁止密码登录(仅允许密钥登录,杜绝暴力破解) PubkeyAuthentication yes # 开启密钥登录(前提是已配置客户端公钥,参考前文) - 重启 SSH 服务:
bash
systemctl restart sshd systemctl enable sshd # 确保开机自启注意:修改端口后,后续 SSH 连接需指定新端口(如
ssh -p 2222 用户名@服务器IP),且需提前在防火墙开放新端口。
2. 配置防火墙(仅开放必要端口)
CentOS 7 默认使用 firewalld,替代传统 iptables,操作如下:
- 查看防火墙状态:
bash
systemctl status firewalld # 若未启动,执行 systemctl start firewalld 启动 systemctl enable firewalld # 开机自启防火墙 - 开放常用端口(按需添加,示例开放 SSH 新端口、HTTP、HTTPS):
bash
firewall-cmd --add-port=2222/tcp --permanent # 开放 SSH 新端口(2222) firewall-cmd --add-port=80/tcp --permanent # 开放 HTTP(web 服务) firewall-cmd --add-port=443/tcp --permanent # 开放 HTTPS(加密 web 服务) - 重载防火墙规则(使配置生效):
bash
firewall-cmd --reload - 验证开放端口:
bash
firewall-cmd --list-ports # 查看已开放端口列表
3. 添加普通用户并赋予 sudo 权限(避免直接使用 root 操作)
- 创建普通用户(示例用户名为
admin):bash
useradd admin # 创建用户 passwd admin # 设置密码(输入时密码不显示,确保复杂度:字母+数字+特殊符号) - 赋予 sudo 权限(允许
admin执行 root 命令):bash
vi /etc/sudoers
在root ALL=(ALL) ALL下方添加一行:ini
admin ALL=(ALL) ALL
保存退出(vi 中需按:wq!强制保存,因 sudoers 文件为只读)。
三、软件环境准备(基础依赖与包管理优化)
1. 配置国内 Yum 源(加速软件下载,参考前文补充)
- 备份默认源:
bash
mv /etc/yum.repos.d/CentOS-Base.repo /etc/yum.repos.d/CentOS-Base.repo.backup - 下载阿里云源(CentOS 7):
bash
# 安装 curl(若未安装) yum install -y curl # 下载 Base 源 curl -o /etc/yum.repos.d/CentOS-Base.repo https://mirrors.aliyun.com/repo/Centos-7.repo # 下载 EPEL 源(提供额外软件,如 nginx、git 等) yum install -y epel-release sed -e 's|^metalink=|#metalink=|g' -e 's|^#baseurl=|baseurl=|g' -e 's|//download.fedoraproject.org/pub|//mirrors.aliyun.com|g' -i /etc/yum.repos.d/epel.repo - 清理缓存并生成新缓存:
bash
yum clean all yum makecache
2. 更新系统内核与软件(修复已知漏洞)
bash
yum update -y # 升级所有软件包(包括内核,若不需要升级内核,用 yum upgrade-minimal -y)
注意:内核更新后需重启服务器生效,执行
reboot重启,重启后通过uname -r验证内核版本。
3. 安装常用基础工具(后续操作依赖)
bash
yum install -y vim wget net-tools lsof gcc gcc-c++ make # 分别为:编辑器、下载工具、网络工具、进程端口查看、编译工具
四、收尾验证(确保初始化配置生效)
- 重启服务器(让时区、SELinux、内核等配置生效):
bash
reboot - 重新登录验证:
- 使用普通用户
admin+ 新 SSH 端口登录:ssh -p 2222 admin@服务器IP - 尝试切换 root:
sudo su -(输入admin密码,能切换则 sudo 权限正常)
- 使用普通用户
- 验证网络与软件源:
bash
ping baidu.com # 网络正常 yum install -y nginx # 测试 Yum 源是否能正常下载软件(安装 nginx 示例,可后续卸载)
不同场景补充说明
- Ubuntu 系统:将
yum替换为apt,SSH 配置文件路径不变,防火墙用ufw(如ufw allow 2222/tcp)。 - 生产环境:建议额外配置 定期备份(如 rsync)、日志收集(如 ELK)、监控(如 Prometheus+Grafana),进一步提升服务器稳定性。








