一、简介

Apache 是一款 Web 服务器软件,本身只支持 html 即普通网页,当然也可以通过插件支持 php,Apache 是通过 C 语言实现的。

而 Tomcat 只是一个 servlet 容器,可以认为是 apache 的扩展,但是可以独立于 apache 运行

Apache 是 web 服务器(静态解析,如 HTML),tomcat 是 java 应用服务器(动态解析,如 JSP)

二、安装

这里选择在 Windows 下准备安装环境

1、下载

Apache 下载:https://httpd.apache.org/download.cgi#apache24

然后

这里分别是:Visual Studio 2017 (VC15)、Visual Studio 2019 (VS16) 或 Visual Studio 2022 (VS17) 编译的

这里需要根据自己电脑安装的 VS 版本选择不同的安装包,可以在设置,应用和功能里面查看

这里我选择的是 VS17 , x64 的版本

2、配置环境变量

解压下载后的文件,放到某个目录下,比如我放到了 D:\My\project\Apache24

  1. 首先将 bin 目录下的 httpd.exe 所在的路径添加到系统环境变量

  2. 其次修改下 conf 目录下的 httpd.conf 文件

    打开后搜索:

    Define SRVROOT "/Apache24" ,修改路径为程序所在的绝对路径,比如下方

    Define SRVROOT “D:\My\project\Apache24”

    端口默认 80 端口,可自行修改,搜索 Listen

  3. 测试配置文件是否合法,终端执行

    1
    httpd -t

    显示结果如下

    C:\Users\ShiGuang>httpd -t
    Syntax OK

  4. 安装为系统服务

    管理员身份打开终端,输入

    1
    httpd -k install

    该命令的意思是,将 Apache 服务安装为系统服务

    除此以外可以单独指定的参数

    • -n 自定义的 Windows 服务名称
    • -f 自定义配置文件路径

    httpd -k install -n Apache2.4 -f “D:\My\project\Apache24\conf\httpd.conf”

3、相关命令

  • httpd -k install 安装 apache 服务
  • httpd -k start 启动 apache 服务
  • httpd -k stop 关闭 apache 服务
  • httpd -k restart 重启 apache 服务
  • httpd -k uninstall 卸载 apache 服务

三、出现的问题

1、找不到指定服务

出现这个问题多半时自己使用 -n 手动自定义了 Windows 服务名称

卸载 apache 服务后,按照提示重新安装

2、端口被占用

包括服务安装完成以后可能也会出现这个提示

我的时 443 端口被占用

方法一

找到谁占用了端口,关闭对应的进程,详情见:解决 Windows 上端口被占用的问题

1
2
netstat -ano | findstr 443
taskkill /f /t /im 7624

方法二

通过 修改 conf/httpd.conf 中相应的监听端口来处理

Listen 9090