在 Debian 虚拟机中搭建 Web 服务器的简明步骤
一 环境准备与网络访问
- 更新系统并安装基础工具:sudo apt update && sudo apt upgrade -y
- 虚拟机网络建议选择桥接或NAT 端口转发,确保宿主机与互联网可达
- 若启用防火墙(UFW),放行 Web 端口:sudo ufw allow 80,443/tcp 或 sudo ufw allow ‘Apache Full’ / ‘Nginx Full’
- 获取虚拟机 IP:ip -4 addr show scope global 或在虚拟机软件查看网卡设置
- 本机测试可临时修改宿主机 hosts:例如 192.168.1.100 example.test
二 方案一 Apache 快速搭建
- 安装与启动
- sudo apt install apache2 -y
- sudo systemctl start apache2 && sudo systemctl enable apache2
- 创建虚拟主机
- 访问测试
- 浏览器访问:http://example.com 或 http://虚拟机IP
- 可选 HTTPS(Certbot)
- sudo apt install certbot python3-certbot-apache
- sudo certbot --apache -d example.com -d www.example.com
以上步骤涵盖安装、虚拟主机、权限与可选 SSL 配置,适合在 Debian 虚拟机上快速上线网站。
三 方案二 Nginx 快速搭建
- 安装与启动
- sudo apt install nginx -y
- sudo systemctl start nginx && sudo systemctl enable nginx
- 创建虚拟主机
- 访问测试
- 浏览器访问:http://example.com 或 http://虚拟机IP
- 可选 HTTPS(Certbot)
- sudo apt install certbot python3-certbot-nginx
- sudo certbot --nginx -d example.com -d www.example.com
以上流程覆盖 Nginx 安装、服务器块、语法检查与可选 SSL 配置,适合轻量高性能场景。
四 常见问题与排错
- 端口未放行:检查 UFW(sudo ufw status)、云安全组、以及虚拟机网络模式
- 403 Forbidden:确认目录存在、权限为 755、文件属主为 www-data:www-data
- 域名访问异常:本地 hosts 仅对本机生效;虚拟机/远程访问需在域名解析商添加 A 记录 指向虚拟机 IP
- 配置不生效:Apache 执行 sudo systemctl reload apache2;Nginx 先 sudo nginx -t 再 sudo systemctl reload nginx
- 默认站点干扰:Apache 可 sudo a2dissite 000-default.conf;Nginx 删除或禁用默认 server 配置
五 进阶选择 LAMP 或 LNMP
- LAMP(Apache + MariaDB + PHP)
- 安装:sudo apt install mariadb-server php php-fpm php-mysql
- Apache 与 PHP-FPM:sudo a2enconf php*.fpm.conf && sudo systemctl reload apache2
- 安全:sudo mysql_secure_installation
- LNMP(Nginx + MySQL + PHP-FPM)
- 安装:sudo apt install nginx mariadb-server php-fpm php-mysql
- Nginx 与 PHP-FPM:在 server 块中配置 fastcgi_pass unix:/var/run/php/php*.sock; 后 sudo nginx -t && sudo systemctl reload nginx
- 安全:sudo mysql_secure_installation
以上组合适合需要数据库与动态站点的常见 Web 应用部署。