debian虚拟机如何搭建Web服务器
导读:在 Debian 虚拟机中搭建 Web 服务器的简明步骤 一 环境准备与网络访问 更新系统并安装基础工具:sudo apt update && sudo apt upgrade -y 虚拟机网络建议选择桥接或NAT 端口...
在 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
- 创建虚拟主机
- 站点目录:sudo mkdir -p /var/www/example.com
- 测试页:echo “
Hello from example.com
” | sudo tee /var/www/example.com/index.html - 权限:sudo chown -R www-data:www-data /var/www/example.com & & sudo chmod -R 755 /var/www
- 配置:sudo nano /etc/apache2/sites-available/example.com.conf
< VirtualHost *:80> ServerAdmin webmaster@example.com ServerName example.com ServerAlias www.example.com DocumentRoot /var/www/example.com < Directory /var/www/example.com> Options Indexes FollowSymLinks AllowOverride All Require all granted < /Directory> ErrorLog ${ APACHE_LOG_DIR} /example_error.log CustomLog ${ APACHE_LOG_DIR} /example_access.log combined < /VirtualHost> - 启用站点与重载:sudo a2ensite example.com.conf & & sudo a2dissite 000-default.conf & & sudo systemctl reload 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
- 创建虚拟主机
- 站点目录:sudo mkdir -p /var/www/example.com/html
- 测试页:echo “
Hello from Nginx
” | sudo tee /var/www/example.com/html/index.html - 配置:sudo nano /etc/nginx/sites-available/example.com
server { listen 80; server_name example.com www.example.com; root /var/www/example.com/html; index index.html index.htm; location / { try_files $uri $uri/ =404; } } - 启用站点与重载:sudo ln -s /etc/nginx/sites-available/example.com /etc/nginx/sites-enabled/ & & sudo nginx -t & & sudo systemctl reload 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 应用部署。
声明:本文内容由网友自发贡献,本站不承担相应法律责任。对本内容有异议或投诉,请联系2913721942#qq.com核实处理,我们将尽快回复您,谢谢合作!
若转载请注明出处: debian虚拟机如何搭建Web服务器
本文地址: https://pptw.com/jishu/762239.html
