我们在开发时候,常常需要 localhost 本地安装服务器。但是随着 Windows 10 版本的不断更新,Apache 也只提供源代码,仍需自己编译,导致安装过程往往没那么顺利。
下载 Apache
Apache 的网址有很多,但是前往 http://httpd.apache.org 此处下载比较好。
找到 Apache 的发行版(Apache httpd 2.4.x Released)的下载地址,点击 Download 就能看到有 Linux下的、Windows 下的不同的下载链接:
点击 Files for Microsoft Windows → ApacheHaus,下载适用于 Windows 的版本,也可以 点击此处 直达页面。
下载 Apache 2.4 Server Binaries 服务器版本即可,x86 和 x64 自己对应选择。
准备工作
将下载的压缩包解压缩后,只将文件夹放到准备安装的位置,文件夹名称可以自己更改。
文件配置
你可以修改 httpd.conf 文件(例如 D:\Apache24\conf 下),将链接修改为绝对路径。如果安装过程没有报错,也可以不修改。
# 默认文件 Define SRVROOT "/Apache24" ServerRoot "${SRVROOT}" # 可以修改为绝对路径 Define SRVROOT "D:\Apache24" ServerRoot "${SRVROOT}"
最后结尾处不能带 “/” 或 “\”,因为后面配置的目录开头已经带有 “/” 或 “\”。使用 “/” 或 “\” 均可。
如果你的80端口被占用(可在 CMD 下使用命令 netstat -ano | findstr 80 查看),可以把Apache 默认的 80端口 改为其他端口。
# 默认的80端口 Listen 80 # 可以修改为8001 Listen 8001
安装前检查
打开 CMD 定位到 Apache 目录下的 bin 文件夹(如 D:\Apache24\bin),需要在此处运行命令,也可以用 Shift + 鼠标右键。
输入命令,检查配置文件语法有没有错误:
httpd -t
常见错误
提示 httpd-ahssl.conf 文件中提到的 serverone.crt 证书文件丢失,现在下载的 Apache 版本应该都会遇到这个问题:
我们需要定位到 ssl 文件夹(如 D:\Apache24\conf\ssl),发现确实没有 serverone.crt,只有 server.crt,我们就需要复制一份证书:
然后重命名为 serverone.crt 和 serverone.key。
再次运行 httpd -t 命令检查:
发现 servertwo.crt 和 servertwo.key 又没有。额,好吧,继续复制一份,并重命名:
再次运行 httpd -t 命令检查:
很好,这次终于没有语法问题了。下面开始安装 Apache。
安装 Apache
打开 CMD 定位到 Apache 目录下的 bin 文件夹(如 D:\Apache24\bin),需要在此处运行命令,也可以用 Shift + 鼠标右键。
运行命令:
httpd -k install -n Apache
该命令的意思是,安装 Windows 可托管的 Apache 服务。其中 -n 后面参数是自定义Windows 服务名称,之后可使用 Windows 管理服务的命令来管理 apache 服务。
Errors reported here must be corrected before the service can be started. 意思是 “此处报告的错误必须在服务开始前进行纠正”,这只是温馨提示,不代表有错误。
Apache 服务的操作
# 启动 Apache 服务 httpd -k start 不会提示详细的错误信息 httpd -k start -n apache 会提示详细的错误信息 net start apache 利用Windows托管服务命令 # 重启 Apache 服务 httpd -k restart -n apachet # 停止 Apache 服务 httpd -k stop # 删除 Apache 服务 httpd -k uninstall
运行 Apache 后,访问 http://localhost 是否成功。
如果 Apache 服务想要卸载,建议先停止服务再删除,最后再删除安装目录。
一定要先卸载 apache 服务,然后删除安装文件(切记,若直接删除安装路径的文件夹,会有残余文件在电脑,可能会造成不必要的麻烦)。
新版Apache,我就是老卡在证书那块报错