游客发表

虚拟机安装web服务器

发帖时间:2026-10-17 04:55:50

用虚拟机跑Web服务器,虚拟最直接的机安好处是隔离。你可以在同一台物理机上同时跑三个不同版本的服务Nginx,互不干扰,虚拟测试完直接删掉整个虚拟机,机安宿主机连注册表都不会多一条垃圾。服务我自己的虚拟开发机就常年开着两台VM:一台Ubuntu Server跑Nginx+PHP,另一台CentOS跑Apache+MySQL,机安专门用来复现客户环境。服务

先选虚拟化软件。虚拟VirtualBox免费,机安界面友好,服务适合桌面环境;VMware Workstation Pro性能更好,虚拟尤其是机安磁盘I/O,但收费。服务如果只是跑个Web服务器做测试,VirtualBox足够。下载安装包,一路默认选项,装完重启一次。别急着新建虚拟机,先确认BIOS里VT-x或AMD-V是开启的,否则虚拟机跑起来会慢得让你怀疑人生。

创建虚拟机时,内存给2GB起步,跑Nginx+PHP-FPM完全够用。硬盘选动态分配,20GB就够,实际占用取决于你放多少网站文件。网络模式选“桥接”还是“NAT”?桥接会让虚拟机从路由器拿独立IP,局域网内其他机器能直接访问你的Web服务;NAT则要配端口转发,麻烦一点但更安全。我一般用桥接,因为测试手机端页面时,手机连同一个WiFi就能直接打开虚拟机的IP。

装系统。Ubuntu Server 22.04镜像不到2GB,安装过程选最小化安装,不要图形界面。分区用整块盘,LVM可开可不开。设置用户名时别用“ubuntu”这种默认名,改成你自己的,比如“webadmin”。安装完成后重启,第一件事是sudo apt update && sudo apt upgrade -y,然后装SSH服务,这样你就能用宿主机终端直接连进去,不用在虚拟机窗口里敲命令。

接下来装Nginx。一条命令:sudo apt install nginx -y。装完自动启动,浏览器访问虚拟机IP,看到“Welcome to nginx!”就成功了。默认站点根目录在/var/www/html,你可以放个index.html测试。如果访问不了,先检查sudo ufw status,Ubuntu默认防火墙可能没放行80端口,执行sudo ufw allow 'Nginx Full'即可。

想跑PHP?装php-fpm和php-mysql。Nginx本身不处理PHP,需要把.php请求转发给PHP-FPM。配置文件在/etc/nginx/sites-available/default,找到location ~ \.php$那段,取消注释,把fastcgi_pass指向unix:/run/php/php8.1-fpm.sock(版本号根据你装的改)。改完sudo nginx -t测试语法,然后sudo systemctl reload nginx。

数据库用MySQL或MariaDB。MariaDB更轻量,安装时sudo apt install mariadb-server -y,然后跑sudo mysql_secure_installation,设root密码、删匿名用户、禁止root远程登录。建个专用数据库用户,比如webuser,只给localhost权限。别用root连Web应用,这是基本安全习惯。

最后说备份。虚拟机的好处是快照。装完系统、配好Nginx和PHP后,关机,在VirtualBox里点“生成备份”。以后玩坏了,一键恢复,30秒回到干净状态。我习惯在装完数据库后也做一次快照,这样测试不同CMS时不用反复重装。有人觉得虚拟机性能损耗大,其实跑个日访问量几千的小站,宿主机是四核八线程的话,虚拟机分两核,响应时间跟物理机差不到10毫秒。真正吃性能的是磁盘,把虚拟机硬盘放在SSD上,体验完全不一样。

如果你只是临时测个静态页面,用Docker更轻。但虚拟机胜在完整——你能改内核参数、装特定版本的库、模拟老旧系统。上周帮人复现一个PHP 5.6的兼容问题,Docker镜像找半天,虚拟机十分钟搞定。工具没有绝对好坏,看场景。

    热门排行

    友情链接