1.Apache的安装
- 下载
绿色版
Apache软件(vc15),放在d:\php\apache24
目录下 管理员模式
运行cmd,切换到apache/bin目录下
D: #切换D盘
cd php/Apache24/bin #切换到bin目录下
- 执行安装命令,
httpd -k install
httpd -k install #安装Apache服务
## 可选命令
httpd -k start #启动服务
httpd -k restart #重启服务
httpd -k stop #停止服务
httpd -k uninstall #卸载服务
如果出现错误,一般是因为没有以管理员身份运行cmd所导致的权限不够。
-
安装成功,但测试错误
-
打开对应文件,修改如下
-
测试
httpd -t
-
设置
localhost
-
再测试
-
启动Apache服务
httpd -k start
- 浏览器地址栏输入
localhost
,显示It works!
,则运行成功!
It works!
2.Apache的配置
- 修改默认端口
(端口可同时监听多个)
-
找到
httpd.conf
文件,大概60行左右的位置:不使用80端口的原因:防止占用,开发环境可以不用修改,保持80!
-
重启
Apache服务
,localhost:7070
测试成功!
It works!
- 网站根目录
注意一下:根目录应该是 D:/www ,上面写作有误!
清除浏览器缓存,重Apache服务即可!
- 默认文档
-
当用户访问的是一个目录而不是一个具体文件时,服务器默认返回这个目录下的某个文件,这个文件就被称为默认文件/文档。
-
当有时候,如果没有设置默认文档或默认文档不存在,服务器就会返回该目录下的文档结构,这很不安全!
-
禁止目录浏览:
开发环境可以保留,方便调试
- 虚拟主机
如果一台机器上只有一个网站的话,没有任何问题。但是如果想要在一台机器上部署多个站点,就必须通过配置虚拟主机的方式解决。
-
httpd.conf
开启虚拟主机 -
编辑
httpd-vhosts.conf文件(apache24/conf/extra/)
# *:7070监听绑定在当前电脑上的任意IP的7070端口,可以改为80
# 由于多个虚拟主机一同工作,每一个虚拟主机必须配置 ServerName
<VirtualHost *:7070> #注意7070端口一定添加到httpd.conf中,开启监听!
#网站根目录
DocumentRoot "D:/www" #D:/www在httpd.conf文件中已经开启了访问权限
#域名(若是虚拟域名,则要修改hosts)
ServerName www.baidu.com
ErrorLog "logs/baidu.com -error.log" #错误日志,起名字
CustomLog "logs/baidu.com -access.log" common #普通日志
</VirtualHost>
此时原httpd.conf文件得对应配置会失效,网站根目录为D:\www
3. 浏览器http://www.baidu.com
即可访问。(此时使用localhost访问也会映射到该主机上!)
- 配置多个虚拟主机:
最大的问题就是:不同的网站根目录不同,就需要开启多个目录的访问权限,而httpd.conf中只能开启一个访问目录,怎么办呢?在httpd-vhosts.conf中配置!
# *:80监听绑定在当前电脑上的任意IP的80端口,7070同理
# 由于多个虚拟主机一同工作,每一个虚拟主机必须配置 ServerName
<VirtualHost *:7070> #注意7070端口一定添加到httpd.conf中,开启监听
#网站根目录
DocumentRoot "D:/site1"
#配置这个目录允许被访问,否则出现 Forbidden
<Directory "D:/site1">
Options Indexes FollowSymLinks
AllowOverride None
Require all granted
</Directory>
#域名(若是虚拟域名,则要修改hosts)
ServerName www.sogou.com
ErrorLog "logs/sogou.com -error.log" #错误日志,起名字
CustomLog "logs/sogou.com -access.log" common #普通日志
</VirtualHost>
在浏览器地址栏中输入www.sogou.com
域名即可访问!(虚拟域名,需修改hosts)
多个站点的端口可以同时一样(如:80),没有关系!因为网站根目录不同。
3.php7整合
- 下载php7(vc15-线程安全版),解压到
d:\php\php7
目录下 - 打开
Apache
的httpd.conf
文件,添加如下:
#PHP的注册(中间模块名自定义)
LoadModule php7_module D:/PHP/php7/php7apache2_4.dll
Apache
添加php的MIME Type
类型
- 打开
httpd.conf
文件,大概400行左右位置 - 在
IfModule
模块最后一行添加:
<IfModule mime_module>
...
AddType application/x-httpd-php .php #php规定的mime type类型
</IfModule>
- 重启服务器即可!
(访问并解析php文件)