Apache服务器的下载、安装、配置等等

这篇博客介绍了Apache服务器的基本概念,包括www、Intranet、HTTP协议和Web服务器。详细讲解了Apache服务器的安装与配置过程,特别在Windows下的操作步骤,包括下载、解压、配置httpd.conf文件以及启动和验证Apache服务。还讨论了如何配置多站点和理解Apache的目录结构。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

一、Apache简介

1、www概念解析
Internet:也就是我们平时所说的互联网,有时候也叫因特网。Internet是网络与网络之间串连成的庞大网络,这些网络以一组通用的协议(TCP/IP)相连,形成逻辑上的单一的、巨大的国际网络。

Intranet:也就是我们平时所说的企业内部网,或者直接简称为内网,它通常建立在一个企业或组织的内部,并为其成员提供信息共享和交流服务,比如说文件传输、电子邮件、万维网访问等等。

万维网:英文全称是World Wide Web,更多的时候,我们直接使用Web或者WWW来称呼万维网。它是一个由许多相互链接的超文本组成的系统,通过互联网(Internet)访问。 万维网使用的是

HTTP协议,它是互联网所能提供的服务之一。它是靠着互联网运行的一种服务。

TCP/IP:是Transmission Control Protocol/Internet Protocol的简称,翻译成中文是传输控制协议/因特网互联协议,一般情况下,我们都是直接使用TCP/IP这个简称。TCP/IP是Internet最基本的协议,它定义了电子设备如何连入因特网,以及数据如何在它们之间传输的标准。协议采用四层的层级结构,每一层都通过呼叫它的下一层所提供的的服务来完成自己的需求。

TCP/IP协议的图示:
应用层 TeInet、FTP和e-mail等
传输层 TCP和UDP
网络层 IP、ICMP和IGMP
链路层 设备驱动程序及接口卡

HTTP:HTTP协议位于应用层,英文 HyperText Transfer Protocol,也就是超文本传输协议的意思。这是万维网上使用的一种协议,也是位于TCP/IP协议栈的应用层的一个协议。所有的www文件都必须遵守这个标准。设计HTTP最初的目的是为了提供一种发布和接收HTML页面的方法。HTTP请求响应模型:
Client(客户端) — 发起请求 —> Serve(服务器端) — 回送响应 —> Client(客户端) 这样的设计也一定程度上限制了HTTP协议的使用,它没法实现在客户端没有发起请求的情况下,服务器将消息推送到客户端。

Web服务器:一般指网站服务器,它一般是驻留在计算机中的一种程序,可以向浏览器等Web客户端发送文档。目前最主流的三个Web服务器是Apache、 Nginx 、以及微软的IIS

2、Apache服务器简介

Apache:全称Apache HTTP Server,它支持多平台,可以在大多数计算机操作系统中云心,它速度快、运行稳定而且安全,同时,它可以通过简单的API进行扩展,能够将PHP/Python等解释器编译到服务器中,所以Apache的应用非常的广泛。它使用非常广泛,其他使用广泛的是Nginx 、微软的IIS。

发展简史:当Internet最开始在美国大学流行的时候,NCSA组织了一些研究生开始编写基于HTTP协议的Server端和Client端程序。Client端程序叫做mosaic,Server端程序在当时被称作NCSA HTTP Server,它完整地实现了HTTP协议,最早的Web Server,也是现在Apache HTTP Server 的前身。

3、Apache与开源世界
Apache软件基金会:成立于1999年,它是一个非盈利组织,英文是Apache Software Foundation 简称ASF。Apache软件基金会最早源于开发Apache HTTP服务器的一个爱好者组织“Apache组织”。现在,Apache软件基金会主要为开源项目提供组织、法务和其他形式的支持,它所支持的项目和软件都遵循Apache许可证。Apache软件基金会目前已经拥有150个世界级项项目,超过500名个人成员,拥有4000名提交者。Apache软件基金会除了它自身,它所拥有的那些开源项目,Apache许可证、Apache贡献者协议许可证和开放合作的模式(称为“Apache之道”)的影响力要远远超过Apache软件基金会本身。

二、Windows下Apache服务器的安装与配置

1、下载apache服务器
首先如何从Apache官网下载windows版apache服务器
① 登录 http://httpd.apache.org
② 点页面左侧 Download!
③ 点页面右侧 a number of third party vendors.
④ 点 ApacheHaus 或者 Apache Lounge
⑤ 点 ApacheHaus 之后往下拉点,然后找到 你所需要的(是64位还是32位)点击 Download 下面的小房子图形。

2、解压apache压缩包
官网下载之后解压,解压到当前文件夹会出现一个Apache24 文件夹,把他放在F盘下(或者其他盘,我这里放在了F盘下的app文件夹下)。

3、修改httpd.conf文件
一定要把ServerRoot 的值修改为apache的安装路径,我这里是"F:/app/Apache24"
打开httpd.conf(我这里路径是F:/app/Apache24/conf/httpd.conf),大概在39和40行:
Define SRVROOT “F:/app/Apache24” # 表示定义一个变量SRVROOT,它的值为"F:/app/Apache24"
ServerRoot “${SRVROOT}” # ServerRoot表示apache的安装目录 。 ${SRVROOT}表示调用变量SRVROOT

注意:直接复制我的电脑下的文件路径是反斜杠"",需要修改为正斜杠"/",否则会导致文件路径找不到

4、安装apache服务
打开cmd命令提示符窗口,进入Apache24中的bin文件夹(f: 进入f盘 然后 cd f:\Apache24\bin ),然后输入httpd -k install
( 或者cmd窗口输入 “D:\WAMP\Apache\bin\httpd.exe” -k install -n apache
切记包含引号。该命令的意思是,安装apache服务,并将该服务名称命名为apache(你也可以改成别的),回车。服务安装完毕,完毕后,会自动测试,若有问题,窗口会提示错误,此时请根据错误自行排查。 )

5、安装成功验证:
开始–>运行–>services.msc–>确定(或回车键Enter)—>服务列表中查看Apache服务,存在说明安装成功。
或者计算机右键 点管理 点服务和应用程序 点服务,然后服务列表中查看Apache服务,存在说明安装成功。

6、启动Apache
找到Apache24安装目录中的bin文件夹下的ApacheMonitor 双击运行即可,然后点击Start 就启动了Apache服务
或者打开cmd命令提示符窗口 ,直接输入net start Apache2.4 启动Apache
或者打开cmd命令提示符窗口,然后 进入bin目录下 输入httpd -k start 启动Apache
注意
如果启动apache时失败,请查看是否是一下原因:

  • 你的80端口是否被其他程序(如:迅雷)占用。
  • 你的httpd.conf配置文件中,Define SRVROOT “F:app/Apache24”是否正确
  • 你安装Apache24的路径中不能含有中文。
  • 可能还有其他原因
    如果启动apahce时突然报”无法启动此程序,因为计算机中丢失VCRUNTIME140.dll 尝试重新安装此程序以解决此问题”。
    解决方案是:下载vc++2015 并安装,链接在下面,这个直接下载安装就可以了。
    电脑需要VC运行环境:
    VC9 x86 :http://www.microsoft.com/en-us/download/details.aspx?id=5582
    VC9 x64 :http://www.microsoft.com/en-us/download/details.aspx?id=15336
    VC11 x86 or x64:http://www.microsoft.com/en-us/download/details.aspx?id=30679
    VC14 x86 or x64 :http://www.microsoft.com/en-us/download/details.aspx?id=48145

7、判断Apache服务运行是否成功
启动apache之后,打开浏览器输入localhost或127.0.0.1 会出现apache安装成功时默认的页面,则Apache服务运行成功

8、windows系统下apache服务的卸载
1)、首先关闭Apache服务(方式很多):dos命令行中运行命令 net stop Apache2.4。(进入控制面板,管理工具,服务,看下apache程序的服务名是什么,这里是Apache2.4)
2)、dos命令行中运行命令 sc delete Apache2.4
3)、删除安装目录即完成卸载。
或者
运行cmd,进入apache程序所在目录下的bin目录 输入命令 httpd –k uninstall

9、Apache windows常用命令:(需要进入bin目录下输入以下命令)
安装:httpd -k install
启动:httpd –k start
停止:httpd –k stop/shutdown
重启:httpd –k restart
启动、重启、停止指定服务的名称:后面各自加上-n “服务器名称”
例如:启动指定服务的名称httpd –k start -n “服务器名称”

检查配置文件,OK标识没问题: httpd -t

参考阅读:
https://jingyan.baidu.com/article/29697b912f6539ab20de3cf8.html
https://jingyan.baidu.com/article/574c52194c596b6c8d9dc10a.html

三、那么apache服务器如何配置多站点呢

1、让Apache在启动时能加载虚拟主机模块。

打开Apache安装目录下conf/httpd.conf文件,找到下面两行文字,把最前面的 # 号去掉,然后保存。
#LoadModule vhost_alias_module modules/mod_vhost_alias.so
#Include conf/extra/httpd-vhosts.conf

2、接着找到同一文件中的DocumentRoot和Directory,改为站点目录的上一级目录

例如站点放在 D:/Appserv/www/1 和 D:/Appserv/www/2,则改为以下形式
DocumentRoot"D:/Appserv/www"
<Directory"D:/Appserv/www">

3、配置完成后即可打开Apache安装目录下/conf/extra/httpd-vhosts.conf文件,在最后添加如下:
DocumentRoot是文件放置路径,ServerName是网站域名:

	<VirtualHost *:80>			# <VirtualHost *:80> 改成 <VirtualHost 127.0.0.2:80>	
	    DocumentRoot "D:/Appserv/www/1"
	    ServerName www.xxx.com        #  www.xxx.com这样浏览器打不开 改成: 127.0.0.2 这样在浏览器能打开
	</VirtualHost>

	<VirtualHost *:80>			# <VirtualHost *:80> 改成 <VirtualHost 127.0.0.3:80>	
	    DocumentRoot "D:/Appserv/www/2"
	    ServerName www.xxx1.com	 #  www.xxx1.com这样浏览器打不开 改成: 127.0.0.3 这样在浏览器能打开
	</VirtualHost>
	注意:
	    后来发现不用写成IP地址形式,用网站域名www.xxx.com形式时在浏览器也能打开 ,这就需要在hosts文件(hosts文件所在文职: c:\windows\system32\drivers\etc)中添加
映射关系,(一个IP地址可以对应多个域名)。写法如下:	
	127.0.0.1 www.xxx.com
	127.0.0.1 www.xxx1.com

	hosts文件添加映射关系后,在httpd-vhosts.conf文件最后添加如下形式,在浏览器输入www.xxx.com 和www.xxx1.com也都能打开了
	<VirtualHost *:80>			
	    DocumentRoot "D:/Appserv/www/1"
	    ServerName www.xxx.com      
	</VirtualHost>

	<VirtualHost *:80>			
	    DocumentRoot "D:/Appserv/www/2"
	    ServerName www.xxx2.com	 
	</VirtualHost>

4、最后重启Apache服务就配置完成。

四、apache中httpd.conf文件、httpd-vhosts.conf文件以及虚拟主机配置

httpd.conf文件中

39行 40行
	Define SRVROOT "F:/app/Apache24"  #  定义一个变量SRVROOT,它的值为"F:/app/Apache24"
	ServerRoot "${SRVROOT}" 	# ServerRoot apache安装的根目录
67行	
	Listen 80		# 监听端口 80
232行
	ServerName localhost:80	   # 主机(站点)的名字:ServerName “主机名”  

256行 257行
	DocumentRoot "${SRVROOT}/htdocs"  	网站根目录
	<Directory "${SRVROOT}/htdocs">
188行
	# LoadModule vhost_alias_module modules/mod_vhost_alias.so
	去掉#意思是启用apache的虚拟主机功能。  
509行
	# Include conf/extra/httpd-vhosts.conf  
	去掉这一行的#意思是从conf/extra/httpd-vhosts.conf这个文件导入虚拟主机配置。打开它就可以在httpd-vhosts.conf文件里写虚机配置,而不是一定要在 httpd.conf 里面写了。直接在httpd.conf中写配置也可以,但不建议这么做。

httpd-vhosts.conf文件
修改默认站点根目录这是对于apache2.4来说,如果你原先httpd.conf中的根目录修改了,那么这里也要改,因为打开多站点功能后该设置会覆盖httpd.conf文件中的部分设置。否则可能会出现Forbidden。
33-36行:

<VirtualHost _default_:80>      #这一行为默认设置,端口默认为80,必须为httpd.conf中你监听的端口
	DocumentRoot "${SRVROOT}/htdocs"   #这一行为默认设置,由于我的默认站点根目录修改了,所以在这里也要将它改掉,否则会出现Forbidden
	#ServerName www.example.com:80
</VirtualHost>

一个虚拟主机配置如下
#由于多个虚拟机一同工作,每个虚拟机必须配置ServerName(访问的域名)

<VirtualHost *:80>   #这一行"*:80"在httpd.conf的配置文件中必须监听该端口

    ServerName www.study.com     #设置主机名(域名名称)
    
    ServerAlias study.com     #设置主机别名,即用该别名也可以访问(前提是域名解析正确)
    
    Errorlog  "logs/dumy-host.example.com-error.log"   #错误的访问日志
    
    CustomLog  "logs/dumy-host.example.com-access.log"  common   #访问日志文件
    DocumentRoot "Ezitudy"   #设置该站点根目录(网站目录)  
    
    <Directory "E:/www/study"> #设置文件夹访问控制,其路径要和上一行的DocumentRoot一样  
	Options Indexes   #用于显示设定“可显示文件列表”(当无可显示网页的时候)
	AllowOverride All  #启用文件夹访问控制的文件.htaccess设置
	Require all granted  #请求控制    
	DirectoryIndex index.php index.html #默认打开的页面设置  
    </Directory>

</VirtualHost>

依照上面的写法,httpd-vhosts.conf文件中可以设置多个站点(虚拟主机)

五、Apache目录结构

bin 该目录用于存放apache常用的命令,比如httpd
cgi-bin 该目录存放linux下的常用命令.sh
conf 存放配置文件httpd.conf
htdocs 存放我们的站点文件(默认情况下),如果有多个站点,可以通过文件夹分类
icons 存放图标
include
lib
logs 记录apache相关日志
modules apache模块

目录结构参考:https://www.cnblogs.com/EricZLin/p/9139059.html 这个链接的Apache的安装和配置写的也不错
阿帕奇(apache)服务器的下载、安装与配置请参考百度经验 https://jingyan.baidu.com/article/d8072ac47baf0eec95cefdca.html
最后扩展阅读
Apache2.4虚拟主机和多站点配置:https://blog.youkuaiyun.com/the_victory/article/details/51006167

apache虚拟主机配置的三种方式 : https://blog.youkuaiyun.com/qq_38083665/article/details/80720226

apache虚拟主机: https://www.cnblogs.com/hzk001/p/11748204.html

Hosts文件:
https://baike.baidu.com/item/hosts/10474546?fromtitle=Hosts文件&fromid=8971674&fr=aladdin
https://jingyan.baidu.com/article/9f7e7ec04dacc06f281554dd.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值