Windows部署Apache

什么是Apache

Apache是指Apache HTTP Server,它是由Apache软件基金会开发和维护的一款开源的HTTP服务器软件。它是目前世界上最流行的Web服务器软件之一,被广泛用于搭建和托管网站。Apache HTTP Server的主要功能是接收客户端的HTTP请求,并向客户端提供相应的Web页面或其他资源。它支持多种操作系统,包括Windows、Linux、Unix等,可以在各种硬件平台上运行。Apache的设计目标之一是稳定性和安全性。它通过模块化的架构提供了丰富的功能扩展和灵活性,可以根据具体需求加载不同的模块。这使得开发人员和系统管理员可以根据自己的需求和配置来定制Apache服务器。

Apache还支持多种协议和技术,如HTTP/1.1、HTTPS、CGI、FastCGI、PHP、Python、Perl等,使得开发者可以使用各种编程语言和技术来构建动态的Web应用程序。除了功能强大和可靠性高之外,Apache还受益于其开源的特性。它的源代码对公众开放,任何人都可以查看、修改和贡献代码。这促进了全球开发者社区的参与,使得Apache能够不断改进和适应新的技术和需求。

Apache的多种用途

Apache的用途非常广泛,以下是一些常见的用途:

  1. 提供Web服务:Apache HTTP Server是最常见的用途之一,它可以作为Web服务器来托管网站和提供Web服务。它能够处理HTTP请求并将相应的Web页面发送给客户端,支持静态页面和动态内容。
  2. 构建应用程序服务器:除了简单的静态网页,Apache还支持多种动态内容和应用程序,如PHP、Python、Perl等。它可以作为应用程序服务器,处理和执行动态脚本,并生成动态的Web页面和服务。
  3. 代理服务器:Apache可以用作代理服务器,充当客户端和其他服务器之间的中介。代理服务器可以缓存请求,提高性能和响应速度,还可以实现负载均衡和反向代理等功能。
  4. FTP服务器:Apache还提供了支持文件传输协议(FTP)的模块,可以用作FTP服务器,用于文件共享和传输。
  5. 虚拟主机托管:Apache支持虚拟主机,可以在一台物理服务器上托管多个域名或网站。这允许多个网站共享同一台服务器,并提供独立的Web服务。
  6. 安全性和认证:Apache提供了多种安全性和认证的功能,如SSL/TLS加密、基本认证、访问控制等。这使得它成为安全和受保护的Web服务器选择。
  7. 日志记录和统计:Apache可以记录访问日志和错误日志,帮助管理员分析和监控服务器的运行情况。还可以通过访问日志生成统计数据,了解网站的访问量、用户行为等信息。

下载Apache

可以通过官网进行下载:

Apache官网:Welcome to The Apache Software Foundation!

Apache官网下载页面:Apache Projects Releases

也可以通过Apache Lounge 社区下载:

Apache Lounge 社区:Apache Lounge

Apache Lounge 社区下载页面:Apache VS17 binaries and modules download

有细心的小伙伴会发现这两个页面的域名不一样,这是因为https://www.apache.org/ 是 Apache的官方网站,而 https://www.apachelounge.com/download/ 则是 Apache Lounge 社区提供的 Apache HTTP 服务器的 Windows 版本二进制文件下载网站。

Apache安装

我这里下载的是httpd-2.4.56这个版本,将下载好的压缩包解压出来,然后放到一个合适的位置,我这里是将解压出来的文件夹放到D盘的根目录。(目录中不要出现中文)

然后打开Apache24这个目录中的bin文件夹,然后运行cmd

然后输入httpd

这里出现httpd: Syntax error on line 39 of D:/Apache24/conf/httpd.conf: ServerRoot must be a valid directory是因为http.conf中的Define SRVROOT "c:/Apache24"这个配置出错了,配置默认是将Apache24这个文件夹存放在C盘的根目录,所以这里只需要将httpd.conf目录中的Define SRVROOT配置后面的目录改为Apache24的存放目录就行了。

Define SRVROOT "d:/Apache24" #这里由于我是将Apache24放在D盘根目录的,所以我这里就直接写"d:/Apache24"
#如果你是将Apache24放在E盘的web目录中的,那这里的配置为:Define SRVROOT "e:/web/Apache24",这里的配置请根据自己的实际情况填写。
ServerRoot "${SRVROOT}"

然后重新运行httpd

这里报的AH00558: httpd: Could not reliably determine the server’s fully qualified domain name, using fe80::f892:24ef:df7f:b2f6. Set the ‘ServerName’ directive globally to suppress this message这个可以不管。如果报“以一种访问权限不允许的方式做了一个访问套接字的尝试”就改一下端口,我这里没有报错所以就不管,修改端口同样是在http.conf文件中,大概在60行,建议端口范围为80-100。

Listen 80 #修改后面这个数字就行,后面这个数字就是端口号

这样我们就将Apache安装和配置完成了,在浏览器输入localhost:端口号即可访问,如果没有改端口号就是用80端口,在浏览器输入localhost即可访问。

开机启动

在bin目录以管理员身份运行cmd运行httpd -k install就可以将apache安装成服务,并且开机启动。出现以下信息就表示安装成功了,同样“AH00558: httpd: Could not reliably determine the server’s fully qualified domain name, using fe80::f892:24ef:df7f:b2f6. Set the ‘ServerName’ directive globally to suppress this message”这个错误还是不管。

Installing the 'Apache2.4' service
The 'Apache2.4' service is successfully installed.
Testing httpd.conf....
Errors reported here must be corrected before the service can be started.
AH00558: httpd: Could not reliably determine the server's fully qualified domain name, using fe80::f892:24ef:df7f:b2f6. Set the 'ServerName' directive globally to suppress this message

将服务添加成功后,服务不会自动运行,需要重启一下,或者手动启动Apache2.4这个服务。

以管理员身份运行cmd输入sc delete apache2.4,显示“[SC] DeleteService 成功”说明删除apache2.4这个服务成功。


 挨踢星球-一个属于互联网的圈子https://aiti.edevplat.com/