其他分享
首页 > 其他分享> > 启动使用WampServer

启动使用WampServer

作者:互联网

流程

  1. 客户端发起请求
  2. 请求发送到指定地址,被Apache监听到 1
  3. Apache 根据请求信息,找到最匹配的虚拟节点[^2]
  4. 找到虚拟节点,返回节点指定的资源
    virtualhost what
    httpd.config 和htttpd-vhost.config 的关系
    启动wamp

启动

每次电脑开机会自启动mysql.exe 占用了3306端口。当服务没开齐变黄图标。
1. 进入cmd 输入 netstat -ano 查看端口占用
2. 找到对应占用端口的PID,在任务管理器关了。
3. 或者直接在任务管理器搜索 mysql关了
当黄图标提示没 开全服务的时候,可以看看错误日志
数据库错误日志
php错误,遇到httpd的语法错误在这里提示配置出现语法错误点击这里看看

配置

可以写在这里

VirtualHost
<VirtualHost></VirtualHost>
带有描述虚拟节点的属性,描述虚拟节点功能,包裹资源地址(成为一个虚拟节点)
必备的2个内容节点:

<VirtualHost 127.0.0.1:80>
	ServerName xxx
	DocumentRoot "D:/xxx/xxx"
	<DocumentRoot "D:/xxx/xxx/">
		Options +Indexes +Includes +FollowSymLinks +MultiViews
		AllowOverride All
		Require local
	</DocumentRoot>
</VirtualHost>

标签可用具体属性,描述该节点功能,如(描述对文件夹的访问授权等) 和
细节:

*httpd.config与httpd-vhosts.config 的关系
httpd.config 中有2行:
# Virtual hosts
Include conf/extra/httpd-vhosts.conf
httpd.config 中引入了htttp-vhosts.config 语句,方便管理的意思

ip-based 和name-based
① ip-based
通过wampServer ,可以在一台window上运行多个站点。

您可以在电脑上运行多个WampServer实例,启动实例的命令中,可以指定不同的配置文件。

或者可以使用到ip-based,即:

运行一个WampServer实例,配置文件中指定2个不同ip Address 的 VirtualHost

比方说,127.0.0.1:80 和127.0.0.1:88 是2个IP地址。

② name-based
比方说,2个VirtualHost 是同一个IP地址,ServerName 分别是 a.com,b.com。在浏览器中输入这2个ServerName可以访问到各自VitualHost中指定的资源(但是同一个IP地址)。

这样管理一个IP地址就足够了

除了在httpd-vhosts.config 中写好虚拟节点外,还要配置一下电脑中的小DNS(C:\Windows\System32\drivers\etc\host)文件中配置下,具体ServerName 对应的IP地址

流程:

  1. 浏览器输入a.com
  2. 电脑中DNS 中 将a.com 映射到本机地址
  3. apache 监听到请求
  4. apache 根据请求头中的地址,筛选出一批匹配的VirtualHosts
  5. 再根据请求头中的HostName,再筛选出一批最匹配的vhosts,选里面的第一个
    请求头中有hostname,也有ipAddress

If a VirtualHost doesn’t specify a ServerName, a server name will be inherited from the base server configuration. If no server name was specified globally, one is detected at startup through reverse DNS resolution of the first listening address. In either case, this inherited server name will influence name-based virtual host resolution, so it is best to always explicitly list a ServerName in every name-based virtual host.
没有定义ServerName,就继承httpd.conf中的ServerName,httpd.conf中没有就找host文件中第一行映射,反获得hostName??



  1. Apache需要指定监听地址(端口)(ip+port),请求发给80端口,Apche才能获得这个请求
    写在httpd.conf 的监听指令:
    === Listen 0.0.0.0:80 ===
    === Listen [::]:80 ===
    监听80端口
    [^2] 有 ip-based,name-based的2种配置方法 ↩︎

标签:httpd,based,name,启动,ServerName,端口,WampServer,使用,config
来源: https://blog.csdn.net/ou_nvhai/article/details/122758913