在虚拟机上搭建服务器
- 云服务器
- 2025-07-27
- 5
前期准备
选择虚拟化软件
常见的虚拟化平台包括VMware Workstation、Oracle VirtualBox和Hyper-V(Windows自带),以VMware为例,需前往官网下载对应版本的安装包并完成安装,安装过程中注意勾选所需组件(如网络适配器支持)。
| 工具名称 | 适用系统 | 特点 |
|---|---|---|
| VMware Workstation | Windows/Linux | 功能强大,支持快照、克隆等高级特性 |
| VirtualBox | 跨平台 | 开源免费,兼容性强 |
| Hyper-V | Windows Server/Pro版 | 系统集成度高,性能损耗低 |
确定服务器用途与配置需求
根据目标服务类型(如Web服务器、数据库或文件共享),规划硬件资源分配:
- CPU核心数:至少2核(生产环境建议4核以上)
- 内存容量:最小2GB(推荐4GB起步)
- 磁盘空间:系统分区30GB+数据分区按需扩展
- 网络模式:NAT模式用于测试,桥接模式实现外网访问
创建虚拟机实例
步骤详解:
-
新建虚拟机向导
打开虚拟化软件→点击”创建新虚拟机”→选择自定义配置,关键参数设置示例如下:
▸ 客户机操作系统家族:Linux → Ubuntu 64位 ▸ 虚拟机名称:MyServer_v1 ▸ 存储路径:D:VMsMyServer_v1 ▸ 最大磁盘大小:50GB(动态分配)
-
优化硬件参数
在高级设置中调整以下选项:
- 启用虚拟化引擎加速(VT-x/AMD-V)
- 分配专用USB控制器(若需外设直通)
- 设置显存为128MB以保证图形界面流畅性
-
安装操作系统镜像
挂载ISO文件启动安装程序,典型流程包括:
- 语言选择→键盘布局→时区设置→用户账户创建(牢记密码!)
- 分区方案推荐使用LVM逻辑卷管理,便于后续扩容
基础环境配置
更新系统内核与软件包
执行以下命令确保系统安全性和稳定性:

️注意:重大版本更新后可能需要重新激活许可证(如Windows Server)
网络连通性验证
通过ping www.baidu.com测试互联网连接,若失败则检查:
NAT模式下的端口转发规则是否生效
桥接模式下MAC地址是否冲突
IPv6防火墙策略是否阻止通信
SSH远程管理设置
禁用root直接登录,新建普通用户并赋予sudo权限:
useradd -m -s /bin/bash adminuser # 创建新用户 passwd adminuser # 设置复杂密码 visudo # 编辑/etc/sudoers文件,添加一行:adminuser ALL=(ALL) NOPASSWD:ALL systemctl enable --now sshd # 启动SSH服务
推荐使用密钥认证替代密码登录,生成方法如下:
ssh-keygen -t rsa -b 4096 # 本地生成密钥对 scp ~/.ssh/id_rsa.pub user@remotehost:~/.ssh/authorized_keys # 分发公钥至目标主机
部署常用服务器软件栈
| 服务类型 | 推荐组合方案 | 典型配置文件路径 |
|---|---|---|
| Web应用 | Nginx + PHP-FPM + MariaDB | /etc/nginx/conf.d/default.conf |
| Java微服务 | Tomcat 9 + OpenJDK 11 | /usr/share/tomcat/conf/server.xml |
| 容器编排 | Docker Engine + Portainer UI | /etc/docker/daemon.json |
| 监控告警 | Prometheus + Grafana | /opt/prometheus/prometheus.yml |
示例:搭建LAMP环境(Linux+Apache+MySQL+PHP)
# Ubuntu系统安装命令 sudo apt install apache2 mariadb-server libapache2-mod-php phpmyadmin -y sudo systemctl start {apache2,mysql} && enable {apache2,mysql} mysql_secure_installation # 安全初始化数据库
访问http://<虚拟机IP>应显示Apache默认页面,通过PhpMyAdmin可管理数据库。
进阶优化技巧
- 性能调优
- 调整SWAP分区大小避免OOM Killer触发:fallocate -l 4G /swapfile && chmod 600 /swapfile && mkswap /swapfile && swapon /swapfile
- 使用sysctl修改TCP参数提升并发能力:net.core.somaxconn=65535
- 安全防护加固
- 安装Fail2ban自动封禁暴力免费IP
- 配置UFW防火墙仅开放必要端口(如HTTP/HTTPS)
- 定期执行漏洞扫描工具如OpenVAS
- 备份恢复策略
采用Veeam Backup或rsync+cronjob实现增量备份,示例脚本: #!/bin/bash BACKUP_DIR="/backups/$(date +%Y%m%d)/" mkdir -p "$BACKUP_DIR" rsync -avz --delete /var/www/html/ "$BACKUP_DIR"
相关问题与解答
Q1:虚拟机无法获取IP地址怎么办?
A:优先检查虚拟交换机配置是否正确绑定到物理网卡;尝试重启DHCP服务(systemctl restart dhclient);若仍无效,手动设置静态IP并添加到主机路由表。
Q2:如何实现宿主机与虚拟机之间的文件共享?
A:在VMware中启用”共享文件夹”功能,指定宿主目录映射到客系统的挂载点(如/mnt/shared);VirtualBox则通过安装Guest Additions增强工具实现双向拖拽传输
