准备 Windows 服务器环境

我们先选定一个固定的目录,用于存放 Windows 服务器软件。

例如:D:\server\bin

以下部署示例均以此目录为准。

注:Web 根目录可以是 D:\server\www

一、PHP

建议同时下载 PHP 5.6 / 7.0 / 7.1 / 7.2 (线程安全,64位)版,方便以后切换版本。

下载好后将压缩包内的文件解压到 D:\server\bin\php 中的对应版本的目录下,例如 PHP 7.1 的目录可以命名为 php7.1,效果如下:

PHP 目录

不建议将目录命名为具体版本号,因为 php 版本更迭比较频繁,大约 4 周一次;而大版本更新则最多一年一次。

  • 添加到系统变量

推荐使用 Windows 10 或 Windows Server 2016,不建议使用之前的版本。

打开 Cortana(或搜索),输入“环境变量”,选择“编辑系统环境变量”,也可以打开“系统属性”,转到“高级”选项卡。

系统属性-高级

点击“环境变量”按钮,在“环境变量”窗口中找到“系统变量”->“Path”:

双击“系统变量”的“Path”变量,进入变量编辑窗口:

该窗口只有 Windows 10 才会出现。低版本 Windows 只有一个文本框。如果编辑变量窗口只出现文本框,则需要在字符串末尾手动添加地址。不同地址之间需使用分号“;”隔开。

如果编辑的是当前用户的“Path”变量,则该环境变量只在当前用户状态下生效。

编辑完成后点击“确定”关闭所有窗口。

如果 PHP 的路径成功添加到 Path 环境变量,则可以直接使用 php 命令,例如:

CMD 中输入 php -v 后输出当前使用的版本和版权信息。

二、Apache

下载好后将压缩包内的文件解压到 D:\server\bin\Apache\Apache24,例如:

Apache 目录

bin 目录中包含了服务器程序 httpd。该程序为控制台程序,而且不会自动运行,所以我们将其加入到系统服务,并且在开机时自动启动。

以“管理员身份”运行“CMD”,然后切换到 httpd 所在目录,并输入命令,如下图:

因为添加服务需要管理员身份,所以必须以“管理员身份”运行命令提示符,否则会提示权限不足。

上图中提示 Apache 服务已成功安装,但是 httpd.conf 文件存在语法错误,大意是 ServerRoot 不是一个有效的目录,因此我们需要先修正这个错误才能启动。

在 conf 目录中找到 httpd.conf 文件并修改大约第 38 行的位置,如下图:

具体目录需要根据你的实际情况修改。注意用反斜杠。

服务安装成功后,打开“服务”,可以在 Cortana 中输入“services.msc”。打开后应该能看到“Apache2.4”,如下图:

Apache 2.4 已成功添加到服务列表

尝试点击“启动”。如果不能重新启动,则可能会看到如下提示:

Apache 2.4 启动失败

失败的原因需要到“事件查看器”中查看日志。

打开 Cortana 输入“eventvwr.msc”,打开后,在左侧“Windows 日志”->“应用程序”中找到来源为“Apache Service”的错误日志:

查看失败原因

点击该错误信息的“详细信息”后,我们可以看到,443端口已被其他程序占用而无法绑定,导致失败。

因此我们需要先知道哪些应用程序占用了 443 端口。

打开CMD,输入“netstat -ano”命令,如下图所示:

 

查看端口

我们可以看到,是PID为6648的应用程序占用了443端口。在任务管理器中发现,是vmware-hostd.exe占用了该端口。在“服务”中结束“VMware Workstation Server”服务即可,也可以将该服务改为“手动”启动。

此时再启动 Apache 就不会出错了。

Apache 启动后,打开浏览器,输入地址“localhost”或“127.0.0.1”,可以看到如下页面:

Apache 默认页面

看到这个页面,就表示 Apache 正常运行了。

不过现在 Apache 还无法执行 php 程序,因为我们还没告诉 Apache 调用 PHP 的接口。

在 httpd.conf 文件中修改如下几处:

  • 在所有LoadModule语句后,添加相关语句引用 php 的 apache 模块,并添加 php 类型:

  • 将文档根目录改为我们自己的根目录:D:\Server\www(大约在250行左右。<Directory>内的部分可以不变)

保存后,即可重新启动 Apache。

在 D:\Server\www 目录下新建 index.php 文件,并写入如下内容:

保存后,打开浏览器,地址栏输入“localhost”。如看到显示 php 信息的页面,则表示 php 模块加载成功:

PHP 信息

如果在使用过程中还遇到其他问题,可以留言,我会尽量解答。

三、MySQL

下载好后将压缩包内的文件解压到 D:\server\bin\MySQL 目录中对应版本目录下,例如,可以将 MySQL 5.7 版本的文件夹命名为 MySQL5.7:

解压好之后的 MySQL 并不能直接使用,需要先设定好参数。

创建 my.ini 文件,并写入以下内容:

目录中并不包含 data 文件夹,所以我们需要先初始化。

以“管理员身份”运行CMD,并切换到 MySQL 的 bin 目录,并输入如下命令:

如果运行正确,则不会有任何提示。相应的,MySQL 目录下会生成 data 目录,并放入原始数据:

初始化成功

初始化成功后,我们可以将 mysqld 加入到服务,实现开机自动运行。

还是刚才的命令行窗口,输入以下命令:

后面的“MySQL5.7”可以不加。如果不加,则默认名称就是“MySQL”。此处指定为“MySQL5.7”是为了和以后可能与其他版本共存时相区别。

安装成功后会有文字提示,同时在服务列表中也能看到该服务。

启动服务以后,还是回到刚才的命令提示符,输入以下命令:

此命令是为了列出 mysql 数据库下的所有表名。

命令输入后如果能输出所有表,则表明 MySQL 已成功安装。

发表评论

此站点使用Akismet来减少垃圾评论。了解我们如何处理您的评论数据