windows 配置Apache
主要内容:配置Apache , 配置Apache虚拟环境建立多个站点,配置php。
本次使用的Apache 64位 2.4版本的,php7 64版本,建议都到官网下载。
官网下载地址
Apache下载: https://www.apachehaus.com/cgi-bin/download.plx (windows版本的)
php下载:https://windows.php.net/download (window版本的)
注意 :下载php是有 Thread Safe 版和 Not Thread Safe版,要下载 Thread Safe版,不然根本就没有php7apache2_4.dll 这个配置文件。
需要用的Apache命令:
# 注意:需要使用管理员身份运行命令行!!!
# 切换到 Apache 解压路径中的 bin 目录
$ cd <解压目录>/bin
# 安装 Apache 服务,‐n 参数是指定服务名称
$ httpd.exe ‐k install ‐n "Apache"
# 如果需要卸载 Apache,可以执行以下命令
$ httpd.exe ‐k uninstall ‐n "Apache"
#测试命令
$ httpd.exe ‐t
# 注意:需要使用管理员身份运行命令行!!!
$ httpd.exe ‐k start ‐n "Apache"
# 重新启动 Apache 服务
$ httpd.exe ‐k restart ‐n "Apache"
# 停止 Apache 服务
$ httpd.exe ‐k stop ‐n "Apache"
#windows 启动服务命令<cmd>
net start 服务名
net stop 服务名
配置Apache
- 在Apache目录中找到conf 文件,进入,一文本的方式打开httpd.conf 文件。
- 设置根目录: 比如 ServerRoot "d:/work/Apache24"
- 设置监听端口:Listen 80
- 配置目录
<Directory "站点根目录">
AllowOverride None
Options None
Require all granted //设置为允许访问
</Directory>
虚拟多个站点配置
1.在配置主文件httpd.conf 中大约503行加载虚拟文件配置
2.转到虚拟配置文件/Apache/conf/extra/httpd-vhosts.conf 文件进行配置
3.这里需要设置severs name ,apache可以域名区分站点。
4.如果虚拟站点 文件目录不在前面授权的目录之下,那么就要对站点目录进行重新授权
<VirtualHost *:80>
ServerAdmin webmaster@dummy-host.example.com
DocumentRoot "E:/study/note/mywork/web/php/day1/virtual2" //站点目录
<Directory "E:/study/note/mywork/web/php/day1/virtual2"> //站点目录授权
AllowOverride None
Options None
Require all granted
</Directory>
ServerName virtual2.com //设置域名
ErrorLog "logs/virtaul2.com-error.log" //设置日志文件
CustomLog "logs/virtual2.com-access.log" common
</VirtualHost>
配置php环境
1.在Apache配置文件中,httpd.conf 引入php 模块 大约在183行
LoadModule php7_module D:/work/php-7.3.164/php7apache2_4.dll
注意 : php7_module 这里php7是我用的php版本号,如果错误会报如下错误:
httpd.exe: Syntax error on line 186 of D:/work/Apache24/conf/httpd.conf: Can't locate API module structure `php1_module' in file D:/work/php-7.3.164/php7apache2_4.dll: No error
2.在Apache配置文件中,httpd.conf 配置 .php文件的 文件mime type 大概在文件435行
AddType application/x-httpd-php .php
3.在站点目录下写的.php文件,就会先经过php处理再传到客服端,就完成了动态页面。
4.总结:
注意要保证下载的Apache和php 版本对应,要么都是32位的,要么都是64位的,否则会出现如下错
D:/work/Apache24/conf/httpd.conf: Cannot load D:/work/php-7.3.1/php7apache2_4.dll into server: %1 \xb2\xbb\xca\xc7\xd3\xd0\xd0\xa7\xb5\xc4 Win32 \xd3\xa6\xd3\xc3\xb3\xcc\xd0\xf2\xa1\xa3
网友评论