第一次在本地搭建Ubuntu服务器环境时,我对着VMware Workstation Pro的选项纠结了半天。后来发现只要掌握几个关键设置,就能避免90%的后续网络问题。建议先准备好这两样东西:最新版VMware Workstation Pro(我用的17.0.2)和Ubuntu 22.04 LTS服务器镜像,注意要下载live-server版本而不是桌面版。
创建虚拟机时有个特别容易踩坑的地方——在"Guest Operating System Installation"页面一定要选"I will install the operating system later"。我刚开始图省事直接选了安装镜像,结果VMware自动给我配置了不适合服务器的硬件参数。具体硬件配置建议:
网络配置是第一个关键决策点。NAT模式最简单但不利于远程访问,桥接模式更接近真实服务器环境。我建议选择桥接模式,这样虚拟机就像局域网里独立设备,方便后续做端口映射和远程管理。有个细节要注意:在Windows主机上执行ipconfig /all记下当前网络的默认网关和DNS,等下配置Ubuntu静态IP时会用到。
安装界面选择"Try or Install Ubuntu Server"后,会进入文本式安装向导。语言建议选英文(避免终端乱码),键盘布局保持默认美式。到"Network connections"步骤时,需要重点配置ens33网卡:
bash复制IPv4 Method: Manual
Address: 192.168.1.100/24 # 要和主机同网段
Gateway: 192.168.1.1 # 之前记录的默认网关
DNS: 8.8.8.8,114.114.114.114
这里有个血泪教训:配置完一定要按Tab键选中"Save"再回车!我有次手快直接点Done,结果重启后网络配置全丢了。接下来配置软件源时,推荐用阿里云镜像(mirrors.aliyun.com),实测比官方源快3倍以上。如果遇到"Failed to download repository information"错误,八成是前面网络配置没保存成功。
磁盘分区新手直接选"Use An Entire Disk"就好,LVM都不用开。设置用户名时注意:Ubuntu Server默认禁止root登录,要先创建普通用户(比如admin)。软件选择界面务必勾选"OpenSSH server",这是远程管理的基础。安装完成后会提示移除安装介质,此时在VMware里右键虚拟机→设置→CD/DVD,取消ISO连接即可。
第一次登录后,建议立即做这三件事:
sudo apt update && sudo apt upgrade -ysudo apt install -y net-tools vim curl gitsudo ufw allow 22/tcp && sudo ufw enable国内用户还需要更换APT源。先备份原始配置:sudo cp /etc/apt/sources.list /etc/apt/sources.list.bak,然后用vim编辑sources.list,替换为以下内容:
bash复制deb https://mirrors.aliyun.com/ubuntu/ jammy main restricted universe multiverse
deb https://mirrors.aliyun.com/ubuntu/ jammy-security main restricted universe multiverse
deb https://mirrors.aliyun.com/ubuntu/ jammy-updates main restricted universe multiverse
配置静态IP是个高频需求,特别是当DHCP分配的地址老是变动时。编辑网络配置文件:sudo vim /etc/netplan/00-installer-config.yaml,示例配置如下:
yaml复制network:
ethernets:
ens33:
addresses: [192.168.1.100/24]
gateway4: 192.168.1.1
nameservers:
addresses: [8.8.8.8, 114.114.114.114]
version: 2
应用配置时执行sudo netplan apply,如果报错可以尝试sudo netplan --debug apply查看详细错误信息。有个冷知识:Ubuntu 22.04开始改用Netplan管理网络,传统的/etc/network/interfaces不再生效。
虽然安装时已经装了OpenSSH,但默认配置有几个安全隐患需要处理。首先修改SSH端口(避免22端口被扫描):
bash复制sudo vim /etc/ssh/sshd_config
# 修改这两项:
Port 2222
PermitRootLogin no
改完后要同步调整防火墙:sudo ufw allow 2222/tcp。如果确实需要root远程登录(不推荐),可以改为PermitRootLogin prohibit-password,然后配置密钥登录:
bash复制# 在主机生成密钥对
ssh-keygen -t ed25519
# 将公钥传到服务器
ssh-copy-id -p 2222 admin@192.168.1.100
密钥登录比密码安全得多,而且配合ssh-agent还能免密登录。最后提醒下,每次修改sshd_config后都要重启服务:sudo systemctl restart sshd。我习惯用ss -tulnp | grep ssh确认服务是否监听在新端口。
基础服务装好后,根据用途还需要添加这些组件:
Docker环境:
bash复制# 卸载旧版本
sudo apt remove docker docker-engine docker.io
# 安装依赖
sudo apt install -y ca-certificates curl gnupg
# 添加官方GPG密钥
sudo install -m 0755 -d /etc/apt/keyrings
curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo gpg --dearmor -o /etc/apt/keyrings/docker.gpg
# 设置仓库
echo "deb [arch=$(dpkg --print-architecture) signed-by=/etc/apt/keyrings/docker.gpg] https://download.docker.com/linux/ubuntu jammy stable" | sudo tee /etc/apt/sources.list.d/docker.list > /dev/null
# 安装Docker
sudo apt update && sudo apt install -y docker-ce docker-ce-cli containerd.io
Nginx反向代理:
bash复制sudo apt install -y nginx
sudo systemctl enable nginx
# 放行80/443端口
sudo ufw allow 80/tcp
sudo ufw allow 443/tcp
监控工具:
bash复制# 安装htop替代top
sudo apt install -y htop
# 日志分析工具
sudo apt install -y logrotate
# 网络诊断
sudo apt install -y tcpdump traceroute
对于需要图形界面的情况,可以安装xRDP实现远程桌面:
bash复制sudo apt install -y xrdp
sudo systemctl enable xrdp
# 开放3389端口
sudo ufw allow 3389/tcp
用了半年VMware跑Ubuntu服务器,总结出这些性能调优经验:
CPU分配:在VMware设置里开启"Virtualize Intel VT-x/EPT"选项,能提升20%左右的性能。如果是AMD处理器,对应选项是"Virtualize AMD-V/RVI"。
内存管理:给虚拟机分配固定内存(取消"Enable memory page sharing"),虽然占用更多主机内存,但能避免内存交换带来的性能波动。
磁盘优化:
sudo fstrim -av清理磁盘碎片快照策略:重大操作前记得拍快照,但不要长期保留多个快照,会影响磁盘性能。我习惯用命名规范:
code复制YYYYMMDD_操作描述
例如:20240520_before_nginx_install
克隆技巧:需要部署多台相同环境时,先执行sudo cloud-init clean清理实例数据,再使用VMware的"Clone"功能,比手动复制vmdk文件更可靠。