1. 虚拟机环境搭建:从零开始部署RHEL9
作为一名长期使用虚拟化技术的开发者,我依然清晰记得第一次在VMware上安装Linux系统时的手忙脚乱。RHEL9作为企业级Linux的最新稳定版本,其安装过程与常规发行版有些许不同。以下是经过多次实践验证的可靠安装流程:
1.1 VMware Workstation Pro环境准备
首先需要获取VMware Workstation Pro 17(当前最新稳定版),这个版本对Windows 11和RHEL9都有更好的兼容性。安装时注意:
- 如果使用Windows 11系统,建议关闭Hyper-V功能(控制面板->程序->启用或关闭Windows功能)
- 安装完成后务必获取有效的许可证密钥,否则30天试用期后将无法使用高级功能
重要提示:官网下载时注意区分Workstation Pro和Player版本,前者支持创建虚拟机而后者只能运行现有虚拟机
1.2 创建RHEL9虚拟机
- 新建虚拟机时选择"自定义(高级)"配置
- 硬件兼容性选择Workstation 17.x
- 操作系统选择Linux->Red Hat Enterprise Linux 9 64位
- 处理器配置建议至少2核(实际开发环境建议4核以上)
- 内存分配不少于4GB(RHEL9图形安装需要较大内存)
- 网络类型选择NAT(适合大多数开发场景)
- 磁盘选择"创建新虚拟磁盘",大小建议40GB以上,类型SCSI,存储为单个文件
安装镜像建议从Red Hat官网获取开发者订阅版本,这是合法免费的个人使用方式。注册开发者账号后可以下载ISO镜像。
需要模型API调用? 免费领10W Token,多模型网关一键接入 Claude、DeepSeek 等主流模型。
2. RHEL9系统安装详解
2.1 安装过程关键步骤
启动虚拟机后,你会看到RHEL9的图形安装界面。几个需要特别注意的配置点:
- 语言选择:虽然可以选择中文,但建议保持英文环境以避免后续开发中出现编码问题
- 软件选择:根据用途选择
- 开发环境建议选"带GUI的服务器"并添加开发工具包
- 纯服务器环境选"最小安装"
- 安装目的地:使用自动分区即可,除非有特殊需求
- 网络和主机名:务必开启以太网连接
- root密码:设置强密码(后续SSH登录需要)
- 用户创建:建议创建一个普通用户并给予管理员权限
2.2 安装后初始配置
首次登录后需要完成一些基本配置:
bash复制# 更新系统
sudo dnf update -y
# 安装常用工具
sudo dnf install -y vim git wget curl net-tools
# 检查防火墙状态
sudo firewall-cmd --state
# 查看IP地址
ip addr show
常见问题:如果安装后无法上网,检查VMware虚拟网络编辑器中的NAT设置,确保网关配置正确
3. SSH远程连接配置与优化
3.1 基础SSH服务配置
RHEL9默认使用OpenSSH 8.7版本,安全性较高但配置也更严格。基础配置步骤如下:
- 确保SSH服务已安装并运行:
bash复制sudo dnf install -y openssh-server
sudo systemctl enable --now sshd
- 修改SSH配置文件(/etc/ssh/sshd_config)中的关键参数:
code复制Port 22
PermitRootLogin no
PasswordAuthentication yes
- 重启SSH服务使配置生效:
bash复制sudo systemctl restart sshd
3.2 防火墙配置
RHEL9默认使用firewalld,需要放行SSH端口:
bash复制sudo firewall-cmd --permanent --add-service=ssh
sudo firewall-cmd --reload
3.3 从Windows客户端连接
推荐使用以下SSH客户端工具:
- Windows Terminal + OpenSSH(Windows 10/11内置)
- MobaXterm(功能全面,适合高级用户)
- Bitvise SSH Client(简单易用)
连接命令示例:
bash复制ssh username@虚拟机IP
4. 开发环境配置实战
4.1 VSCode远程开发配置
使用VSCode的Remote-SSH插件可以实现在本地编辑代码而在虚拟机中运行的开发体验:
- 在VSCode中安装Remote-SSH扩展
- 配置SSH连接信息(~/.ssh/config):
code复制Host rhel9-dev
HostName 虚拟机IP
User 用户名
IdentityFile ~/.ssh/id_rsa
- 生成SSH密钥对并上传公钥到RHEL9:
bash复制# 本地生成密钥
ssh-keygen -t rsa -b 4096
# 上传公钥
ssh-copy-id username@虚拟机IP
4.2 共享文件夹设置
在VMware中设置共享文件夹可以方便地在主机和虚拟机间交换文件:
- 虚拟机设置->选项->共享文件夹->总是启用
- 添加主机文件夹并设置名称(如shared)
- 在RHEL9中安装VMware Tools:
bash复制sudo dnf install -y open-vm-tools
sudo systemctl enable --now vmtoolsd
- 挂载共享文件夹(临时挂载):
bash复制sudo mount -t fuse.vmhgfs-fuse .host:/shared /mnt/hgfs -o allow_other
永久挂载需要修改/etc/fstab文件,但建议先测试临时挂载是否正常工作
5. 常见问题排查与性能优化
5.1 安装启动问题
问题: 安装时卡在"Setting up hardware"或启动时卡住
解决方案:
- 检查虚拟机设置->处理器->虚拟化引擎
- 勾选"虚拟化Intel VT-x/EPT或AMD-V/RVI"
- 取消勾选"虚拟化IOMMU"
- 尝试在启动时编辑内核参数添加"nomodeset"
5.2 SSH连接问题
问题: Permission denied (publickey,gssapi-keyex,gssapi-with-mic)
排查步骤:
- 检查sshd_config中PasswordAuthentication是否为yes
- 确认SELinux状态(sudo getenforce)
- 查看/var/log/secure日志获取详细错误信息
5.3 性能优化建议
-
虚拟机设置:
- 启用3D图形加速(如果使用GUI)
- 调整显存大小(至少4MB)
- 禁用不必要的USB控制器等设备
-
系统配置:
bash复制# 禁用不必要的服务
sudo systemctl disable avahi-daemon
# 调整swappiness值
echo 'vm.swappiness=10' | sudo tee -a /etc/sysctl.conf
sudo sysctl -p
- 开发环境优化:
- 使用tmpfs存放临时文件
- 定期清理dnf缓存(sudo dnf clean all)
6. 进阶配置与安全加固
6.1 SSH安全增强
生产环境中建议采取以下安全措施:
- 更改默认SSH端口:
code复制Port 2222
- 禁用密码认证,仅允许密钥登录:
code复制PasswordAuthentication no
- 使用fail2ban防止暴力破解:
bash复制sudo dnf install -y fail2ban
sudo systemctl enable --now fail2ban
6.2 系统监控设置
- 安装并配置Prometheus node exporter:
bash复制sudo dnf install -y golang
git clone https://github.com/prometheus/node_exporter.git
cd node_exporter
make
sudo cp node_exporter /usr/local/bin/
- 创建systemd服务:
bash复制sudo tee /etc/systemd/system/node_exporter.service <<EOF
[Unit]
Description=Node Exporter
[Service]
ExecStart=/usr/local/bin/node_exporter
[Install]
WantedBy=multi-user.target
EOF
sudo systemctl enable --now node_exporter
6.3 备份策略
建议设置定期备份,最简单的方案是使用rsync:
- 创建备份脚本(/usr/local/bin/backup.sh):
bash复制#!/bin/bash
rsync -avz --delete /重要目录 备份服务器IP:/备份目录
- 设置cron定时任务:
bash复制crontab -e
# 每天凌晨3点执行备份
0 3 * * * /usr/local/bin/backup.sh
7. 开发环境个性化配置
7.1 Shell环境优化
- 安装zsh和oh-my-zsh:
bash复制sudo dnf install -y zsh
sh -c "$(curl -fsSL https://raw.github.com/ohmyzsh/ohmyzsh/master/tools/install.sh)"
- 常用插件推荐:
- zsh-autosuggestions
- zsh-syntax-highlighting
- git插件(内置)
7.2 Python开发环境
- 安装Python 3.9+:
bash复制sudo dnf install -y python39 python39-devel
- 配置虚拟环境:
bash复制python3.9 -m venv ~/venvs/myproject
source ~/venvs/myproject/bin/activate
- 安装常用开发工具:
bash复制pip install --upgrade pip
pip install ipython pylint autopep8
7.3 容器化开发支持
- 安装Podman(RHEL9默认容器引擎):
bash复制sudo dnf install -y podman podman-docker
- 配置非root用户使用:
bash复制sudo usermod --add-subuids 100000-165535 --add-subgids 100000-165535 $USER
- 测试运行容器:
bash复制podman run -it --rm alpine sh
