在本地开发环境中,为项目设置一个专属的域名和子域名,是提升开发效率和模拟真实线上环境的重要步骤,它告别了繁琐的加端口号的访问方式,让项目地址更具可读性,也便于管理多个并行开发的项目,本文将详细介绍如何在本地计算机上设置域名和子域名,并探讨其背后的原理与实践方法。
理解本地域名解析的核心:Hosts文件
所有本地域名设置的魔法,都源于一个名为的系统文件,这个文件是操作系统用于将主机名映射到IP地址的第一个检查点,当您在浏览器中输入一个网址时,系统会首先查询文件,如果找到对应的记录,就会直接使用该文件中定义的IP地址,而不会向公共DNS服务器发起请求,正是这个特性,让我们可以在本地“劫持”任意域名,将其指向我们自己的计算机。
文件通常位于以下路径:
要编辑此文件,您需要拥有管理员或root权限。
设置本地主域名
为一个项目设置主域名是最基础的操作,假设我们正在开发一个名为“晨曦商城”的项目,我们希望使用
chenxi-shop.test
这个域名在本地访问它。
操作步骤如下:
设置本地子域名
随着项目复杂度的增加,我们可能需要为不同的功能模块分配不同的子域名,将前端应用部署在主域名,API接口部署在子域名,后台管理系统部署在子域名。
为
chenxi-shop.test
添加子域名的操作非常简单:
您只需要在文件中,为同一个IP地址添加多个域名别名即可。
修改文件:
# 晨曦商城项目本地域名及子域名127.0.0.1chenxi-shop.test api.chenxi-shop.test admin.chenxi-shop.test
通过上面这一行配置,系统就会将
chenxi-shop.test
、
api.chenxi-shop.test
和
admin.chenxi-shop.test
这三个域名全部解析到本地的。
实践意义:
这种方式完美模拟了线上环境的域名结构,使得前后端联调、接口对接等工作更加顺畅,避免了跨域等问题,也让代码中的配置更易于迁移到生产环境。
与本地Web服务器集成
仅仅修改文件是不够的,它只负责域名解析,您还需要配置本地Web服务器(如 Apache、Nginx、Docker等),让它能够根据不同的域名(或子域名)提供正确的网站内容,这通常通过配置“虚拟主机”或“服务器块”来实现。
以Nginx为例,您需要为每个域名创建一个独立的块配置,并设置
server_name
指令来匹配相应的域名,以及指令来指向项目文件目录。
现代开发工具如laravel Valet、DDEV等,已经极大地简化了这个过程,它们通常能自动监听文件的修改,并动态配置Web服务器,实现即开即用的效果。
常用本地域名后缀对比
选择一个合适的域名后缀也是一种好习惯,以下是一些常见后缀的对比:
| 后缀 | 特点 | 推荐用途 |
|---|---|---|
| .localhost | RFC规定专用于本地环环地址,浏览器默认处理为安全上下文,无需HTTPS。 | 通用本地开发,安全且标准。 |
| 由IANA(互联网号码分配局)保留,专门用于测试,不会被注册为公网域名。 | 官方推荐的本地测试域名后缀,清晰明了。 | |
| 曾是流行的选择,现为通用顶级域名(gTLD),且被Chrome、Firefox等浏览器强制要求使用HTTPS。 | 适合已经配置了本地SSL证书的开发环境。 |
通过灵活运用文件,结合本地Web服务器的配置,我们可以轻松构建一个结构清晰、高度仿真的本地开发环境,这不仅能显著提升日常开发的工作流效率,更能减少因环境差异导致的线上问题,是每一位专业开发者都应掌握的基础技能。
相关问答FAQs
Q1:我已经按照步骤修改了hosts文件,但在浏览器中访问域名却提示“找不到服务器”或“无法访问此网站”,这是为什么?
这个问题通常由以下几个原因导致,请逐一排查:
Q2:本地域名和通过域名注册商购买的公网域名有什么本质区别?
它们的本质区别在于 解析范围 和 所有权 :
网络操作系统DNS服务器具体作用是什么?要详细
DNS的作用就是把域名和IP地址做一个映射。 这就是为什么我们上网上输入的是域名而不是IP地址的原因。 但是计算机它本身不认识域名,只认识IP地址,当我们输入一个域名之后,到了计算机那里通过DNS就被转换成IP地址了,这样才能够通信。
环卫所属环保局吗
环卫所是市政管理的
子网掩码、网关、DNS用途是什么?
子网掩码的作用就是将网络地址和主机地址分成两个部分,只用通过子网掩码才能表面一台主机所在的子网和其他的子网的关系,使网络正常工作。
通过 IP 地址的二进制与子网掩码的二进制进行与运算进行定某个设备的网络地址。网关:
网关是一种充当转换重任的计算机系统或设备。我们所说的网关均指TCP/IP协议下的网关实质上是一个网络通向其他网络的IP地址。起连接认路作用 在一个TCP/IP架构的网络(例如Internet)环境中,DNS是一个非常重要而且常用的系统。主要的功能就是将人易于记忆的Domain Name与人不容易记忆的IP Address作转换。而上面执行DNS服务的这台网络主机,就可以称之为DNS Server。基本上,通常我们都认为DNS只是将Domain Name转换成IP Address,然后再使用所查到的IP Address去连接(俗称“正向解析”)。事实上,将IP Address转换成Domain Name的功能也是相当常使用到的,当login到一台UNIX工作站时,工作站就会去做反查,找出你是从哪个地方连线进来的(俗称“逆向解析”)。














发表评论