虚拟机web网站创建步骤

 人参与 | 时间:2026-10-17 07:37:51

虚拟机web网站创建步骤

拿VirtualBox来说,虚拟装好Ubuntu Server虚拟机后,网站真正让人头疼的创建不是系统安装,而是步骤从零把一个网站跑起来。我踩过的虚拟坑比代码多,这里直接给你可操作的网站流程。

先确保虚拟机网络是创建桥接模式,别用NAT。步骤NAT模式下宿主机访问不到虚拟机,虚拟调试起来像隔着毛玻璃干活。网站桥接后虚拟机就像局域网里的创建一台独立机器,IP地址跟宿主机同网段,步骤直接能ping通。虚拟

系统装完第一件事,网站更新源。创建运行sudo apt update && sudo apt upgrade -y,这个步骤能省掉后面80%的依赖报错。别嫌慢,等两分钟总比装到一半卡壳强。

装Nginx,别用Apache。Nginx配置直观,内存占用小,个人项目足够。执行sudo apt install nginx -y,装完访问虚拟机IP,看到Welcome页面就算成功一半。

网站文件放哪?默认目录在/var/www/html。我习惯建个独立站点目录,sudo mkdir -p /var/www/mysite,然后写个测试页面echo "hello from vm" | sudo tee /var/www/mysite/index.html。

真正关键的是站点配置。Nginx默认配置指向/var/www/html,你得新建一个配置文件。执行sudo nano /etc/nginx/sites-available/mysite,写入:

server {  listen 80; server_name _; root /var/www/mysite; index index.html; }

保存后创建软链接sudo ln -s /etc/nginx/sites-available/mysite /etc/nginx/sites-enabled/,再删掉默认站点链接sudo rm /etc/nginx/sites-enabled/default。最后sudo nginx -t检查语法,没问题就sudo systemctl reload nginx。

这时候浏览器访问虚拟机IP,应该能看到你的测试页。看不到?多半是防火墙问题。Ubuntu自带ufw,执行sudo ufw allow 80/tcp放行HTTP端口。我当初卡在这步半小时,查了半天配置发现是防火墙拦着。

静态页面跑通了,动态网站还得装PHP和MySQL。执行sudo apt install php-fpm php-mysql mysql-server -y,装完改Nginx配置,在server块里加:

location ~ \.php$ {  include snippets/fastcgi-php.conf; fastcgi_pass unix:/run/php/php8.1-fpm.sock; }

版本号按你实际的来,ls /run/php/看一眼就知道。改完再reload nginx,写个phpinfo测试文件,浏览器能看到PHP信息页就全通了。

最后提个细节:把虚拟机关机前记得sudo shutdown now,别直接关VirtualBox窗口,不然文件系统损坏了还得修。还有,MySQL安装过程会提示设置root密码,别留空,不然后面连数据库都进不去。

整套流程下来半小时内搞定。你要是卡在某个步骤,多半是路径写错或者服务没重启。这行就这样,错了就查日志tail -f /var/log/nginx/error.log,比瞎猜快得多。

顶: 8755踩: 4