我之前使用的是 Ubuntu 16.04 VPS,并且正在阅读有关如何设置我的网站和 WordPress 的指南。我使用 /var/www/html 目录来托管那里的所有内容。然后我决定迁移到 Debian 8 服务器,这样我就可以使用 PHP 5 而不是 PHP 7,那里的指南说你应该使用 /var/www/html/example.domain/public_html。这两种托管方式有何优缺点?除了这两种方式还有其他托管方式吗?这些方法到底是如何运作的?如果您使用直接 IP 地址通过浏览器中的 http 连接到服务器,您的服务器如何连接或关联域名与 IP 地址?
答案1
问题的第一部分 - /var/www/html
vs /var/www/html/example.domain/public_html
- 只是关于在哪里存储网站内容的两种不同约定:当您有更多站点(通常用作虚拟主机)时,前者有意义,因此目录将包含多个站点(例如/var/www/html/{pub,doc,dev,prod,project1,projectX,...}
,它们本身)可以包含public_html
);而后者表明您正在为一个主站点提供服务,但是没有什么可以阻止您稍后将一些虚拟主机添加到不同的位置(例如/var/www/whatever.domain/public_html
)。
从另一个角度来看,第二种方法只是试图阻止您将网站内容直接添加到/var/www/html
,这会使事情变得复杂,以防您稍后想要添加另一个网站。将站点添加到另一个目录 ( public_html
) 下建议您可以使用站点的根目录 ( example.domain
) 来存储一些相关但不公开的内容(例如example.domain/{resources,backup,SQLite.db,whatever_you_want_at_hand}
.
关于第二部分 - 命名目录与将域名与 IP 地址关联起来没有任何关系,这就是 DNS 的用途(通常由域名注册商或托管提供商处理)。在最简单的情况下,DNS 会将您的域名转换为您的 IP 地址(由 ISP 或托管提供商提供给您,或者只是使用 进行测试127.0.0.1
,localhost
看看如何/etc/hosts
工作),在您的服务器上安装一个 Web 服务器(Apache、Nginx、. ..) 将为您的网站提供任何传入请求。一旦掌握了这一点,请检查 VirtualHosts。