windows 配置Apache
主要內(nèi)容:配置Apache , 配置Apache虛擬環(huán)境建立多個(gè)站點(diǎn),配置php。
本次使用的Apache 64位 2.4版本的,php7 64版本,建議都到官網(wǎng)下載。
官網(wǎng)下載地址
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 這個(gè)配置文件。
需要用的Apache命令:
# 注意:需要使用管理員身份運(yùn)行命令行?。。?# 切換到 Apache 解壓路徑中的 bin 目錄
$ cd <解壓目錄>/bin
# 安裝 Apache 服務(wù),‐n 參數(shù)是指定服務(wù)名稱
$ httpd.exe ‐k install ‐n "Apache"
# 如果需要卸載 Apache,可以執(zhí)行以下命令
$ httpd.exe ‐k uninstall ‐n "Apache"
#測(cè)試命令
$ httpd.exe ‐t
# 注意:需要使用管理員身份運(yùn)行命令行?。?!
$ httpd.exe ‐k start ‐n "Apache"
# 重新啟動(dòng) Apache 服務(wù)
$ httpd.exe ‐k restart ‐n "Apache"
# 停止 Apache 服務(wù)
$ httpd.exe ‐k stop ‐n "Apache"
#windows 啟動(dòng)服務(wù)命令<cmd>
net start 服務(wù)名
net stop 服務(wù)名
配置Apache
- 在Apache目錄中找到conf 文件,進(jìn)入,一文本的方式打開httpd.conf 文件。
- 設(shè)置根目錄: 比如 ServerRoot "d:/work/Apache24"
- 設(shè)置監(jiān)聽端口:Listen 80
- 配置目錄
<Directory "站點(diǎn)根目錄">
AllowOverride None
Options None
Require all granted //設(shè)置為允許訪問(wèn)
</Directory>
虛擬多個(gè)站點(diǎn)配置
1.在配置主文件httpd.conf 中大約503行加載虛擬文件配置
2.轉(zhuǎn)到虛擬配置文件/Apache/conf/extra/httpd-vhosts.conf 文件進(jìn)行配置
3.這里需要設(shè)置severs name ,apache可以域名區(qū)分站點(diǎn)。
4.如果虛擬站點(diǎn) 文件目錄不在前面授權(quán)的目錄之下,那么就要對(duì)站點(diǎn)目錄進(jìn)行重新授權(quán)
<VirtualHost *:80>
ServerAdmin webmaster@dummy-host.example.com
DocumentRoot "E:/study/note/mywork/web/php/day1/virtual2" //站點(diǎn)目錄
<Directory "E:/study/note/mywork/web/php/day1/virtual2"> //站點(diǎn)目錄授權(quán)
AllowOverride None
Options None
Require all granted
</Directory>
ServerName virtual2.com //設(shè)置域名
ErrorLog "logs/virtaul2.com-error.log" //設(shè)置日志文件
CustomLog "logs/virtual2.com-access.log" common
</VirtualHost>
配置php環(huán)境
1.在Apache配置文件中,httpd.conf 引入php 模塊 大約在183行
LoadModule php7_module D:/work/php-7.3.164/php7apache2_4.dll
注意 : php7_module 這里php7是我用的php版本號(hào),如果錯(cuò)誤會(huì)報(bào)如下錯(cuò)誤:
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.在站點(diǎn)目錄下寫的.php文件,就會(huì)先經(jīng)過(guò)php處理再傳到客服端,就完成了動(dòng)態(tài)頁(yè)面。
4.總結(jié):
注意要保證下載的Apache和php 版本對(duì)應(yīng),要么都是32位的,要么都是64位的,否則會(huì)出現(xiàn)如下錯(cuò)
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