server_name 是 Nginx 配置文件中的一个重要指令,用于指定 Nginx 服务器块(或假造主机)应该响应哪些域名的哀求。通过准确配置 server_name,你可以在同一台服务器上托管多个不同的网站,并确保每个域名的哀求都能被准确处置惩罚。 DNS 剖析的过程
客户端发起哀求:当用户在欣赏器中输入一个域名(如 example.com)时,欣赏器会向本地 DNS 服务器发送查询哀求。
递归查询:本地 DNS 服务器会查抄其缓存,如果找到了该域名对应的 IP 地点,则直接返回给客户端;如果没有找到,则继承向其他 DNS 服务器(如根 DNS 服务器、顶级域 DNS 服务器等)举行递归查询,直到找到目标 IP 地点。
返回效果:一旦找到目标 IP 地点,DNS 服务器会将效果返回给客户端,欣赏器就可以使用该 IP 地点与目标服务器创建连接。
缓存效果:为了提高效率,DNS 服务器通常会缓存查询效果一段时间(称为 TTL,Time To Live),以便后续相同的查询可以直接从缓存中获取效果,而无需再次举行完整的剖析过程。
主机文件的作用
在开发环境中,我们通常使用 主机文件(/etc/hosts 或 C:\Windows\System32\drivers\etc\hosts)来模拟 DNS 剖析。主机文件允许我们在本地将特定的域名映射到指定的 IP 地点,而无需依赖外部 DNS 服务器。这对于测试和开发非常有用,由于它可以快速配置自定义域名,并且不会影响其他用户的网络环境。
比方,在主机文件中添加以下行:
192.168.154.101 admin.dhl101
复制代码
这行配置表示,当欣赏器实验访问 admin.dhl101 时,它会直接剖析为 IP 地点 192.168.154.101,而不会去查询外部 DNS 服务器。
DNS 与 Nginx 的关系