CentOS 7服务器初始化设置指南
本指南详细介绍CentOS 7服务器的初始化设置步骤,涵盖硬盘挂载、SWAP分区创建、系统内核优化、安全设置以及基础软件包安装等方面。
一、硬盘挂载
磁盘分区:
首先,使用 fdisk -l
命令查看所有磁盘设备,通常为 /dev/xvdb
或 /dev/vdb
(阿里云IO优化型)。 然后,使用 fdisk /dev/xvdb
(或 /dev/vdb
) 对目标磁盘进行分区。 按照提示,创建新的主分区(使用 n
, p
, 1
命令),最后保存并退出 (w
)。 使用 fdisk -l
验证分区是否成功创建(例如 /dev/xvdb1
或 /dev/vdb1
)。
磁盘格式化:
使用 mkfs.ext4 /dev/xvdb1
(CentOS 6.x) 或 mkfs.xfs /dev/vdb1
(CentOS 7.x/8.x) 命令对分区进行格式化。 请耐心等待格式化完成。
磁盘挂载:
创建挂载点目录(例如 mkdir -p /data
),然后使用 mount /dev/xvdb1 /data
(或 mount -t ext4/xfs ...
) 命令挂载分区。 使用 df -h
命令查看挂载结果。
开机自动挂载:
编辑 /etc/fstab
文件,添加一行配置实现开机自动挂载。 可以使用设备名称(例如 /dev/xvdb1
)或 UUID(使用 blkid /dev/xvdb1
获取)。 示例:
UUID=9c991d14-9372-4fd8-97d6-2aa1ac1acf47 /data xfs defaults 0 0
保存退出 (wq!
) 并执行 mount -a
使设置生效。 使用 df -lhT
查看磁盘分区信息。
大于2TB磁盘分区:
对于大于2TB的磁盘,需要使用 GPT 分区表。 使用 fdisk
命令,输入 g
将磁盘转换为 GPT 格式,然后按照步骤 1-4 进行分区、格式化和挂载。
二、创建SWAP分区
建议所有服务器都创建SWAP分区,即使内存充足。 以下步骤创建一个1024M的SWAP文件:
dd if=/dev/zero of=/home/swap bs=1M count=1024
mkswap /home/swap
swapon /home/swap
swapon -s
(查看SWAP信息)/etc/fstab
,添加 /home/swap swap swap defaults 0 0
实现开机自动启用SWAP。三、系统内核优化
为了提高系统性能和稳定性,建议调整以下内核参数:
编辑 /etc/security/limits.conf
,设置 nofile
的软硬限制为 1000000。 针对不同CentOS版本,可能需要编辑不同的配置文件(/etc/security/limits.d/
下的文件)。
编辑 /etc/sysctl.conf
文件,添加或修改一系列内核参数(具体参数和值根据实际情况调整,示例中参数已更新为CentOS 7/8兼容版本)。 保存后执行 /sbin/sysctl -p
使配置生效。 注意 kernel.shmall
和 kernel.shmmax
需要根据系统内存大小进行调整。
四、系统安全设置
用户管理: 使用 useradd
, passwd
, gpasswd
, userdel
命令创建、修改和删除用户及用户组。
禁用root直接登录: 编辑 /etc/ssh/sshd_config
文件,将 PermitRootLogin
设置为 no
。
系统文件加锁: 使用 chattr +ia
命令为关键系统文件(/etc/passwd
, /etc/shadow
等)加锁,防止未授权修改。 需要取消加锁时,使用 chattr -ia
。
防火墙设置: 使用 iptables
(CentOS 5/6) 或 firewalld
(CentOS 7/8) 配置防火墙,允许必要的端口访问。 本指南中提供了 iptables
的示例配置。 注意根据实际需求调整允许访问的IP地址和端口。
关闭SELINUX: 编辑 /etc/selinux/config
,将 SELINUX
设置为 disabled
,并执行 setenforce 0
使配置生效。
修改SSH默认端口: 编辑 /etc/ssh/sshd_config
,修改 Port
为非默认端口(例如 222),并重启 SSH 服务。 记得同时更新防火墙配置。
临时目录安全加固: 为 /tmp
, /var/tmp
, /dev/shm
目录设置合适的挂载选项 (nosuid
, noexec
, nodev
),增强安全性。
五、修改主机名
修改主机名需要修改 /etc/hostname
和 /etc/hosts
文件,以及使用 hostnamectl
命令 (CentOS 7/8) 或 hostname
命令 (CentOS 5/6)。
六、同步系统时间
使用 ntpdate
命令同步系统时间,并设置定时任务定期同步。
七、安装基础软件包
使用 yum
命令安装必要的软件包。
八、常见问题解决
本指南列出了一些常见的服务器初始化问题及解决方法。
请根据实际情况选择合适的步骤和参数,并仔细检查每个命令的执行结果。 如有疑问,请参考相关文档或寻求专业帮助。