CentOS 7.7安装与配置全指南
1. CentOS 7.7安装前的准备工作
在开始安装CentOS 7.7之前,我们需要做好充分的准备工作。作为一款稳定可靠的企业级Linux发行版,CentOS 7.7虽然已经停止维护(EOL时间为2024年6月30日),但在很多传统企业环境中仍然被广泛使用。以下是安装前需要确认的几个关键点:
首先需要确定安装方式。对于大多数用户来说,推荐使用虚拟机安装,这样既不会影响现有系统,又能方便地进行测试和学习。VMware Workstation和VirtualBox都是不错的选择,我个人更倾向于VMware,因为它的网络配置更灵活,快照功能也更完善。
注意:如果选择物理机安装,请务必提前备份重要数据,整个硬盘可能会被重新分区。
下载CentOS 7.7镜像时,建议从国内镜像站点获取,速度会快很多。清华大学开源软件镜像站就是个不错的选择,记得下载DVD版本(CentOS-7-x86_64-DVD-2009.iso),它包含了大多数常用软件包,安装时不需要额外联网下载。
2. 创建虚拟机环境
2.1 VMware虚拟机配置要点
打开VMware Workstation,点击"创建新的虚拟机",选择"自定义"安装方式。在硬件兼容性页面,保持默认的"Workstation 16.x"即可。接下来是关键的系统安装来源选择:
- 选择"安装程序光盘映像文件",浏览找到下载的CentOS 7.7 ISO文件
- 客户机操作系统选择"Linux",版本选择"CentOS 7 64位"
- 虚拟机名称可以自定义,比如"CentOS7.7_Test"
- 处理器配置建议至少2核,内存建议2GB以上(4GB更佳)
磁盘配置需要特别注意:
- 选择"创建新虚拟磁盘"
- 磁盘大小建议20GB以上(选择"将虚拟磁盘拆分成多个文件")
- 磁盘类型选择SCSI(推荐)
网络连接方式根据需求选择:
- 桥接模式:虚拟机会获得和物理机同网段的独立IP
- NAT模式:虚拟机通过主机上网,适合大多数开发环境
- 仅主机模式:完全隔离的网络环境
2.2 BIOS设置调整
在正式开始安装前,还需要确认几个BIOS设置:
- 确保虚拟化技术(VT-x/AMD-V)已启用
- 如果物理机安装,需要在BIOS中调整启动顺序,将光盘/USB设为第一启动项
- 关闭Secure Boot(某些新硬件可能需要)
3. CentOS 7.7详细安装步骤
3.1 启动安装程序
启动虚拟机后,你会看到CentOS 7的安装引导界面。使用方向键选择"Install CentOS 7"并按回车。安装程序加载完成后,首先需要选择安装语言,建议选择"English"(United States),这样可以避免后续某些软件出现乱码问题。
接下来是重要的安装信息摘要界面,这里需要配置几个关键项:
DATE & TIME:点击进入后选择"Asia/Shanghai"时区,记得打开网络时间同步(NTP)
SOFTWARE SELECTION:根据用途选择安装模式:
- Minimal Install:最小化安装,适合服务器
- GNOME Desktop:带图形界面,适合桌面用户
- Server with GUI:服务器带图形界面
- 开发工作站:包含开发工具
INSTALLATION DESTINATION:磁盘分区设置
- 选择"自动配置分区"或"我要配置分区"
- 对于新手建议选择自动分区
- 高级用户可以选择手动分区,常见的分区方案:
- /boot:500MB
- swap:内存的1-2倍(不超过8GB)
- /:剩余所有空间
NETWORK & HOSTNAME:
- 设置主机名(如centos7.localdomain)
- 打开以太网连接
- 可以配置静态IP(建议新手先使用DHCP)
3.2 系统分区方案详解
对于生产环境,我推荐以下手动分区方案(以50GB磁盘为例):
| 挂载点 | 大小 | 文件系统类型 | 备注 |
|---|---|---|---|
| /boot | 1GB | xfs | 启动分区 |
| / | 30GB | xfs | 根分区 |
| /home | 15GB | xfs | 用户数据 |
| swap | 4GB | swap | 交换空间 |
| /var | 剩余空间 | xfs | 日志和可变数据 |
重要提示:CentOS 7默认使用xfs文件系统,相比ext4在处理大文件时性能更好。如果确实需要ext4,需要在安装时手动修改。
配置完成后,点击"Begin Installation"开始安装。在安装过程中,你需要设置root密码和创建一个普通用户。
4. 首次启动与基本配置
4.1 初始设置
安装完成后重启系统,首次登录需要进行一些基本配置:
- 许可证信息:阅读并接受许可证
- 创建用户:如果安装时没有创建,现在可以添加
- Kdump配置:一般保持默认即可
- 订阅管理:对于CentOS可以跳过
4.2 网络配置优化
安装完成后,建议立即配置静态IP(特别是服务器环境):
# 编辑网络配置文件 vi /etc/sysconfig/network-scripts/ifcfg-ens33 # 修改以下关键参数 BOOTPROTO=static ONBOOT=yes IPADDR=192.168.1.100 NETMASK=255.255.255.0 GATEWAY=192.168.1.1 DNS1=8.8.8.8 DNS2=114.114.114.114 # 重启网络服务 systemctl restart network4.3 软件源配置
由于CentOS 7已停止维护,官方源不再更新,需要切换至vault源或第三方源:
# 备份原有repo文件 mkdir /etc/yum.repos.d/bak mv /etc/yum.repos.d/CentOS-* /etc/yum.repos.d/bak/ # 创建新的repo文件 vi /etc/yum.repos.d/CentOS-Base.repo # 添加以下内容 [base] name=CentOS-7 - Base baseurl=https://mirrors.tuna.tsinghua.edu.cn/centos-vault/7.7.1908/os/x86_64/ gpgcheck=1 gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-7 [updates] name=CentOS-7 - Updates baseurl=https://mirrors.tuna.tsinghua.edu.cn/centos-vault/7.7.1908/updates/x86_64/ gpgcheck=1 gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-7 # 清理并重建缓存 yum clean all yum makecache5. 必备工具安装与系统优化
5.1 基础工具安装
安装一些常用的工具和组件:
# 安装开发工具组 yum groupinstall "Development Tools" # 安装常用工具 yum install -y vim wget curl net-tools lsof telnet tree htop iftop iotop # 安装EPEL源 yum install -y epel-release5.2 安全加固措施
- 修改SSH默认端口:
vi /etc/ssh/sshd_config # 修改Port 22为其他端口如2222 # 禁止root直接登录:PermitRootLogin no systemctl restart sshd- 配置防火墙:
systemctl start firewalld systemctl enable firewalld # 开放新SSH端口 firewall-cmd --permanent --add-port=2222/tcp firewall-cmd --reload- 设置自动安全更新:
yum install -y yum-cron systemctl enable yum-cron systemctl start yum-cron5.3 性能优化建议
- 关闭不必要的服务:
systemctl disable postfix systemctl stop postfix- 调整内核参数:
vi /etc/sysctl.conf # 添加以下内容 net.ipv4.tcp_fin_timeout = 30 net.ipv4.tcp_tw_reuse = 1 net.ipv4.tcp_tw_recycle = 1 net.ipv4.tcp_keepalive_time = 1200 # 使配置生效 sysctl -p- 配置时间同步:
yum install -y ntp systemctl enable ntpd systemctl start ntpd6. 常见问题与解决方案
6.1 安装阶段问题
问题1:安装过程中提示"No valid devices were found"
解决方案:
- 检查虚拟机设置,确认磁盘已正确添加
- 在安装界面的"INSTALLATION DESTINATION"中,尝试手动添加磁盘
- 如果是物理机安装,可能需要加载特殊的存储驱动
问题2:图形安装界面卡住或无响应
解决方案:
- 尝试使用文本模式安装:在启动时添加"linux text"参数
- 检查虚拟机分配的显存是否足够(建议至少16MB)
- 禁用3D加速功能
6.2 启动阶段问题
问题1:系统启动卡在"dracut-initqueue timeout"
解决方案:
- 重启系统,在GRUB菜单按e编辑启动参数
- 找到"linux16"开头的行,末尾添加"rd.break"
- 按Ctrl+x启动,进入紧急模式后执行:
mount -o remount,rw /sysroot chroot /sysroot vi /etc/fstab # 检查分区配置 exit reboot
问题2:忘记root密码
解决方案:
- 重启系统,在GRUB菜单按e编辑启动参数
- 找到"linux16"开头的行,末尾添加"rd.break"
- 按Ctrl+x启动,进入紧急模式后执行:
mount -o remount,rw /sysroot chroot /sysroot passwd root touch /.autorelabel exit reboot
6.3 网络相关问题
问题1:网络服务无法启动
解决方案:
- 检查网卡名称是否匹配(ifconfig -a查看)
- 确认/etc/sysconfig/network-scripts/ifcfg-*文件配置正确
- 尝试重命名网卡配置文件以匹配实际网卡名
问题2:DNS解析失败
解决方案:
- 检查/etc/resolv.conf中的DNS服务器配置
- 确保NetworkManager没有覆盖配置:
vi /etc/NetworkManager/NetworkManager.conf # 添加 [main] dns=none systemctl restart NetworkManager
7. 生产环境额外建议
对于生产环境中的CentOS 7.7服务器,我强烈建议采取以下额外措施:
- 配置集中日志收集:使用rsyslog将系统日志发送到中央日志服务器
- 安装监控代理:如Zabbix、Prometheus等监控工具
- 配置定期备份:可以使用rsync或BorgBackup进行系统备份
- 考虑使用LVM:方便后续磁盘扩容
- 配置SELinux:虽然学习曲线陡峭,但能提供额外的安全层
对于开发环境,可以安装以下常用组件:
# 开发环境常用软件 yum install -y git maven java-1.8.0-openjdk-devel python3 docker # 配置Docker加速器 mkdir -p /etc/docker vi /etc/docker/daemon.json # 添加 { "registry-mirrors": ["https://registry.docker-cn.com"] } systemctl restart docker最后提醒一点:虽然CentOS 7.7仍然可用,但考虑到它已经EOL,建议新项目考虑迁移到CentOS Stream或Rocky Linux/AlmaLinux等替代发行版。如果必须使用CentOS 7.7,务必做好安全隔离和额外的安全加固措施。
