下载并解压Apache
下载地址:https://www.apachelounge.com/download/
使用说明:https://httpd.apache.org/docs/current/platform/windows.html
配置 Apache
配置文档:http://httpd.apache.org/docs/current/
安装方式如下,先解压到纯英文路径的文件夹,然后执行以下命令:
1 | # 注意:需要使用管理员身份运行命令行!!! |
执行安装命令过后会报一个错,原因是默认的配置文件有问题,需要先调整一下配置文件 conf/httpd.conf ,才能
正常启动服务。
1 | Errors reported here must be corrected before the service can be star ted. |
注意:以下所记录的行号仅供参考,不同版本的配置文件可能不尽相同。
找到 Apache 解压目录中的 conf 目录下的 httpd.conf 文件,定位到 37 行,将 c:/Apache24 改为解压目录,我这
里解压到路径是 D:\WebDevelopment\Apache\Apache24 ,所以我这里修改
配置文件中行首的 # 指的是注释
修改完以后,执行以下命令重新测试配置文件是否通过。
1 | httpd.exe ‐t |
任然报错
1 | AH00526: Syntax error on 1ine 246 of D:/WebDevelopment/Apache/Apache24/conf/ : |
通过错误信息得知,这里是因为另外一个地方配置的目录不存在导致的,所以接着调整 256 行的 DocumentRoot
选项: (文档目录自定义)
然后重新执行 httpd.exe -t 测试配置文件,这时候应该提示 Syntax OK 。
接着运行以下命令重新启动 Apache 服务:
1 | # 注意:需要使用管理员身份运行命令行!!! |
回到浏览器中,地址栏输入:http://localhost/,回车访问,这时正常应该看到 It works!
注意:
确保配置文件语法检查通过
确保 80 端口没有被其他程序占用
确保防火墙允许 80 端口的请求,或者干脆关掉防火墙
如果出现 Forbidden 情况,确保配置文件 httpd.conf 中 256 行( DocumentRoot 之后)的 Directory 配
置的与 DocumentRoot 路径相同
监听端口
监听端口可以随意修改为任意一个未被其他程序监听的端口,可以通过设置配置文件 httpd.conf 中的 Listen
指令后面的数字修改。
网站根目录
网站根目录就是存放我们网站文件的最顶层目录,通常 URL 中域名后面的第一个斜线对应(映射)的就是网
站根目录。
默认文档指的是我们在访问某一个目录时(没有指定具体的文件),默认访问的文件叫做默认文档
注:动态网站情况会比较特殊,需要单独考虑,不一定是这个规则。
默认 Apache 的网站根目录是安装目录中的 htdocs 文件夹,为了方便对网站文件的管理,一般我们会将其设置在
一个自定义目录中(如果你不介意其实不修改也无所谓)。
如果需要设置网站根目录,可以通过修改配置文件 httpd.conf 中的网站根目录选项切换。6.3. 默认文档
当客户端访问的是一个目录而不是具体文件时,服务端默认返回这个目录下的某个文档(文件),这个文档
就称之为默认文档。
配置文件 httpd.conf 的 285 行的 DirectoryIndex ,默认文档可以配置多个(有前到后依次去找,找到为止,如
果没找到任何一个则启用目录浏览):
虚拟主机
如果一台机器上只有一个网站的话,没有任何问题,但是如果想要在一台机器上部署多个站点,就必须通过配置虚
拟主机的方式解决。
由于后期对虚拟主机的配置操作非常常见,所以我们一般将虚拟主机的配置单独放到一个配置文件中,然后
在主配置文件中引入,避免破坏主配置文件中的其他配置。
Include conf/extra/httpd-vhosts.conf 配置的作用就将另外一个配置文件引入(使其生效)
具体的操作方式就是在主配置文件 httpd.conf 的 514 行取消注释:然后找到 Apache 的虚拟主机配置文件,添加一个如下的虚拟主机配置节点,然后重新启动 Apache。
配置项:
1 | <VirtualHost *:80> |
修改本机hosts文件:(此目录下 :C:\Windows\System32\drivers\etc)
添加 : 127.0.0.1 wordpress.io
注意:
.dev 的地址解析有异常,最好不要用,还有一些地址还待发现
如果使用了虚拟主机,则默认必须全部使用虚拟主机,即之前的默认网站也必须通过虚拟主机方式配
置,否则访问不到。参考:http://skypegnu1.blog.51cto.com/8991766/1532454
如果虚拟主机的端口使用的不是 80 ,则需要在主配置文件中添加一个对这个端口的监听:
配置Apache支持PHP
在服务器上安装 PHP
解压 php 到纯英文路径目录中 下载地址:https://windows.php.net/download#php-7.4
php.ini的配置
直接复制PHP根目录中php.ini-development文件,改名为php.ini
打开php.ini,注释掉分号启用
在 Apache 中添加支持 PHP 的配置
在 Apache 添加 PHP 处理模块
1 | # php support |
添加PHP目录
1 | PHPIniDir "D:/WebDevelopment/PHP" |
在
1 | # parse .php files |
默认文档配置节点
默认文档指的是在访问一个目录而不是具体文件名时,默认执行的文件名
1 | <IfModule dir_module> |
- 重启 Apache
安装MySQL解压版
下载地址:https://downloads.mysql.com/archives/get/p/23/file/mysql-8.0.18-winx64.zip
下载完之后,解压至你想要的目录
添加环境变量 MySQL的bin目录
cmd管理员权限进入到MySQL的根目录的bin目录
新建一个my.ini 配置文件如下
Code1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16[mysql]
; 设置mysql客户端默认字符集
default-character-set=utf8
[mysqld]
;设置3306端口
port = 3306
; 设置mysql的安装目录
basedir=D:\Software\Programming Software\Database\MySQL\mysql-8.0.15-winx64
; 设置mysql数据库的数据的存放目录
datadir=D:\Software\Programming Software\Database\MySQL\mysql-8.0.15-winx64\data
; 允许最大连接数
max_connections=200
; 服务端使用的字符集默认为8比特编码的latin1字符集
character-set-server=utf8
; 创建新表时将使用的默认存储引擎
default-storage-engine=INNODB进入MySQL的根目录的bin目录(用管理员cmd)
命令行输入:
1 | mysqld --install |
初始化生成随机密码:末尾密码请记住
1 | mysqld --initialize --console |
启动服务:
1 | net start mysql |
使用随机密码登录并修改密码 :
1 | mysql -u root -p |
修改密码:
1 | ALTER USER 'root'@'localhost' IDENTIFIED BY '新密码'; |
PHP开启MySQL:
打开PHP的php.ini文件
启用MySQL: 去除前面的分号即可
有可能启用后启动php会报错,提示无法加载模块。可能原因是php的模块应为 php_pdo_mysql.dll,而php.ini的配置中,缺少php前缀,加上即可