天天看点

开发环境- 配置虚拟主机hosts - 学习/实践

1.应用场景

快速搭建本地开发环境并通过虚拟域名访问.

2.学习/操作

文档

https://www.xp.cn/wenda/394.html?  //phpstudy v8.0创建本地站点域名教程(图文)

https://blog.csdn.net/william_n/article/details/103273722  //phpstudy v8.0创建本地站点域名教程

https://zhuanlan.zhihu.com/p/180459124 // nginx虚拟主机配置 -- 需要验证 // 20210530 周日 家里

环境一

Windows10 64位 专业版

PHP 5.6

环境二

mac 

docker

php 7.x

Note:

1.host文件中只能配置ip与域名之间的映射,配置端口并不能生效. 

如果想通过不同端口访问web app 需要手动在url后加上端口号

2.host文件记录并不是向上覆盖, 而是上面覆盖下面, 即只要匹配到就不会再进行匹配 ---- 越在上面, 优先级越高

1.新建项目[项目作为一个目录, 有入口文件]

如: [使用PHP框架laravel开发]

项目名称: project.test

入口文件: project.test\public\index.php

2.修改hosts文件

C:\Windows\System32\drivers\etc\hosts 

从最后一行[也可以任意位置],新增如下:   //一个项目对应域名解析地址,  这里的project.test是浏览器中url中的域名

127.0.0.1 project.test

3.修改Apache/Nginx的vhost文件,有时是vhost目录[在该目录下新建文件]

参考原有的默认配置信息/文件,  新建配置信息/文件, 

如下:

同一文件新增模块形式

<VirtualHost blog.test:80>

DocumentRoot "D:\phpstudy\PHPTutorial\WWW\project.test\public"

  <Directory "D:\phpstudy\PHPTutorial\WWW\project.test\public">

    Options -Indexes -FollowSymLinks +ExecCGI

    AllowOverride All

    Order allow,deny

    Allow from all

    Require all granted

  </Directory>

</VirtualHost>

新文件形式 // 这里是phpstudy

开发环境- 配置虚拟主机hosts - 学习/实践
3.1.无论是同一文件中还是不同文件中, 新增信息与原有信息, 文件内容只有如下两行不同即可

    DocumentRoot "D:/phpstudy_pro/WWW/project.test/public"

    ServerName project.test

3.2.具体配置信息含义,请另行查询文档

4.重启web服务器 Apache/Nginx

5.浏览器中输入输入url,回车即可

project.test

如出现预期效果, 则, 虚拟主机配置成功,若失败, 请重试,并找原因!

具体步骤可参考:

https://blog.csdn.net/william_n/article/details/103273722 

后续补充

...

3.问题/补充

1.利用虚拟主机的特点, 可以阻止浏览器向指定的站点访问, 发送请求, 从而模拟不能请求/请求异常的情况

步骤:

    在Hosts文件中bai添加规则

    以管理员身份运行【记事本】

    打开C:\system32\drivers\etc\hosts

    添加规则,127.0.0.1    需要禁止的dao网址

    最后保存即可生效

Hosts是一个没有扩展名的系统文件,可以用记事本等工具打开,其作用就是将一些常用的网址域名与其对应的IP地址建立一个关联“数据库”,当用户在浏览器中输入一个需要登录的网址时,系统会首先自动从Hosts文件中寻找对应的IP地址,一旦找到,系统会立即打开对应网页,如果没有找到,则系统会再将网址提交DNS域名解析服务器进行IP地址的解析。 

关于浏览器输入域名回车发生的详细过程参考:

https://blog.csdn.net/william_n/article/details/104423609

2. 待解决的问题 ---- 20210528 周五 公司

以 Apache/Nginx/PHP self server 为例, 深入了解

虚拟主机是如何实现的?

隐藏index.php入口脚本是如何做到的?{如,laravel 是如何根据php self server做到隐藏index.php?}

TBD

4.参考

https://www.xp.cn/wenda/394.html?  //phpstudy v8.0创建本地站点域名教程(图文)

https://blog.csdn.net/william_n/article/details/103273722  //phpstudy v8.0创建本地站点域名教程

后续补充

...

继续阅读