在 Ubuntu 系统中,Apache 和 Nginx 的默认网站根目录路径并不完全相同,且取决于你安装的是哪个 Web 服务器软件。以下是准确的路径说明:
1. Apache2
默认的网站根目录是:
/var/www/html
这是最标准的配置。当你通过 apt install apache2 安装后,默认的欢迎页面(index.html)就位于此目录下。
注意:在某些较新的 Ubuntu 版本或特定配置下,也可能看到
/var/www作为父目录,但实际可访问的默认站点通常还是/var/www/html。
2. Nginx
默认的网站根目录也是:
/var/www/html
同样,通过 apt install nginx 安装后,Nginx 的默认配置文件 /etc/nginx/sites-available/default 中会指定 root /var/www/html;。
如何确认当前系统的实际路径?
由于管理员可能修改过配置文件,最可靠的方式是通过以下命令查看当前生效的配置:
对于 Apache:
apache2ctl -S
# 或者查看主配置文件中的 DocumentRoot 指令
grep -r "DocumentRoot" /etc/apache2/
对于 Nginx:
nginx -T | grep root
# 或者直接查看默认站点的配置文件
cat /etc/nginx/sites-available/default
常见注意事项
-
权限问题:
默认情况下,/var/www/html的所有者是root。如果你需要部署自己的项目,建议将文件所有者改为当前用户或使用sudo chown -R $USER:$USER /var/www/html来避免频繁使用sudo编辑文件。 -
多站点配置:
在实际生产环境中,我们很少直接使用默认的/var/www/html。通常会为每个域名创建独立的目录,例如/var/www/example.com,并在 Apache 或 Nginx 中配置对应的 VirtualHost 或 Server Block。 -
SELinux/AppArmor:
Ubuntu 默认启用 AppArmor(而非 SELinux)。如果修改了网站目录路径,可能需要调整 AppArmor 策略,否则即使权限正确,Web 服务器也可能无法读取新目录下的文件。 -
防火墙与端口:
确保 UFW(Ubuntu Firewall)允许 HTTP(80)和 HTTPS(443)流量:sudo ufw allow 'Apache Full' # 或 sudo ufw allow 'Nginx Full'
总结:两者默认都是 /var/www/html,但请以实际配置文件为准。
云技术博客