配置PHP的运行环境
一、wamp
Wamp是Windows Apache Mysql PHP的缩写,即在windows下将Apache+PHP+Mysql集成的开发环境,操作简单一键安装,摆脱手动修改配置文件的繁琐. 图形化操作PHP扩展、Apache模块,开启/关闭等点下鼠标就能完成. 另外还集成 phpmyadmin 数据库web管理程序.
Apache的目录结构
- bin 存放apache常用的命令
- cgi-bin 该目录存放linux下的常用命令
- conf 存放配置文件
- error 错误记录
- htdocs 默认情况下,存放站点文件
- icons 存放图标
- logs 记录apache的相关日志,记录错误日志
- manual 手册
- modules apache模块
准备虚拟主机
Apache的虚拟主机可以在conf/httpd.conf
文件中配置,也可以在conf/extra/httpd-vhosts.conf
中配置。后者在httpd.conf
文件中通过Include指令引入的子配置文件,但是在使用前需要先在httpd.conf
中找到如下一行配置取消注释,否则http-vhosts.conf
不会生效
打开apache的配置文件 htppd.cnf,分别打开重写扩展和虚拟主机扩展:D:\wamp\bin\apache\apache2.4.9\conf\httpd.conf
# 515行左右 使用虚拟主机配置 #Include conf/extra/httpd-vhosts.conf //这句前面的 注释 # 去掉,也可以不去掉,使用下面配置 Include conf/vhosts.conf # 243行 开放外部请求的访问 <Directory /> AllowOverride none Require all granted </Directory>
普及知识
http://127.0.0.1/ 本地主机回环ip地址
http://localhost 本地主机域名
二、基于端口的虚拟主机
1、什么是端口
就是电脑与外界通信的端口;
我们可以这样理解,知道了你家的地址门牌号,如果要进入你家里,一定要走门的,那么门就相当于我们所说的端口,对方的电脑要和你的电脑进行通信,你的电脑会开一个端口的,因为软件不同,所以所开的端口也不同的,也就是不同的软件有不同的端口,一般来说是不变的
2、端口号
端口是通过端口号来标记的,端口号只有整数,范围从0 到65535
- 80 www
- 3306 mysql
- 21 ftp
#D:\wamp\bin\apache\apache2.4.9\conf\httpd.conf # 64行左右 添加新监听端口 Listen 8081
3、ip+端口
#D:\wamp\bin\apache\apache2.4.9\conf\vhosts.conf <VirtualHost *:8083> ServerAdmin webmaster@dummy-host.example.com DocumentRoot "D:\workspace\my-vue" ServerName localhost ServerAlias localhost <Directory "D:\workspace\my-vue"> Options Indexes FollowSymLinks AllowOverride ALL Order allow,deny Allow from all </Directory> ErrorLog "logs/system.daniu.com-error.log" CustomLog "logs/system.daniu.com-access.log" common </VirtualHost>
二、基于虚拟域名的虚拟主机
1、一级域名和二级域名
一级域名
- baidu.com
- sina.cn
二级域名
- www.baidu.com
- news.baidu.com
- tieba.baidu.com
三级域名:二级域名的子域名,特征是包含三个“.”,一般来说三级域名都是免费的。
顶级域名的PR值比二级域名的高,如果一级域名不存在了,二级、三级域名也就不复存在了。
域名和IP之间的关系
- 在网络上机器彼此连接只能互相识别IP,而数字标识较难记忆,所以才演化出域名来代替IP地址,当我们将在地址栏输入域名欲跳转到某个页面时,点击提交后会由专门的域名解析服务器(DNS服务器)对我们的域名进行解析,得出域名对应的IP地址再进行连接。所以如果我们直接在地址栏输入与域名对应的IP也可以跳转到同一个页面。
- 在cmd窗口中输入:ping www.baidu.com和ping baidu.com得到相应IP,不同地区ping同一个域名的IP地址可能不同
2、修改配置httpd-vhost.conf
<VirtualHost *:80> DocumentRoot "F:/webs/api" ServerName www.api.com ServerAlias api.com ErrorLog "logs/api.com-error.log" CustomLog "logs/api-access.log" common </VirtualHost> <VirtualHost *:80> DocumentRoot "F:/webs/shop.com" ServerName www.shop.com ServerAlias shop.com ErrorLog "logs/shop.com-error.log" CustomLog "logs/shop-access.log" common </VirtualHost>
或者
<VirtualHost *:80> DocumentRoot "D:/wamp/www/panshinet.cn" ServerName www.panshinet.cn <Directory "D:/wamp/www/panshinet.cn"> Options Indexes FollowSymLinks AllowOverride All Order allow,deny Allow from all </Directory> </VirtualHost>
注意“Deny,Allow”中间只有一个逗号,也只能有一个逗号,有空格都会出错;单词的大小写不限。上面设定的含义是先设定“先检查禁止设定,没有禁止的全部允许”,而第二句没有Deny,也就是没有禁止访问的设定,直接就是允许所有访问了。这个主要是用来确保或者覆盖上级目录的设置,开放所有内容的访问权
3、配置系统hosts文件
//C:/WINDOWS/system32/drivers/etc 中的hosts文件中 127.0.0.1 www.panshinet.cn 127.0.0.1 www.shop.com