- 更新软件源:sudo apt-get update
- 安装httpd:sudo apt-get install apache2
- start:启动该服务;
- stop:关闭该服务;
- restart:重新启动该服务;
- status:查看该服务状态;
service apache2 status
在开始设置Apache2之前,我们知道只要我们启动了Httpd服务后,我们只需在浏览器中输入localhost或者127.0.0.1即可打开一个默认的静态网页,如下图所示。
[建议您在本地虚拟机进行测试]
以上的操作流程大致分为如下几步:
-
通过HTTP协议去连接上述IP地址的服务器系统,默认使用80端口(默认的端口是80,也有其他端口,如果使用默认端口则不需要显示输入80端口)请求Apache服务器相应目录下的html文件;
-
Apache服务器收到用户的请求后,在它管理的文档目录中找到并打开相应的html文件,将文件内容响应给客户端浏览器即可;
-
浏览器收到Web服务器的响应后,接收并下载服务器端的html静态代码,然后浏览器解读代码,最终将网页呈现出来。
以上为请求一个网页的大致步骤,接下来我们来学习如何配置Apache服务器,例如修改默认请求端口。
Apache提供多个配置文件,每个配置文件中的内容都不同,常见使用到的配置文件有如下几个:
- /etc/apache2/apache2.conf:主配置文件;
- /etc/apache2/ports.conf:配置端口的文件;
- /etc/apache2/sites-enabled/000-default.conf:配置Web文档根目录的文件;
接下来我们将介绍Apache2的常见配置;
Apache2配置文件介绍
/etc/apache2/apache2.conf是Apache2的主配置文件,里面存放的配置项是全局的配置项,常见的配置项有如下几个:
- Timeout:设置服务器在断定请求失败前等待的秒数。默认值300;
- KeepAlive:设置是否启用HTTP持久链接,On 代表打开,Off 代表关闭;
- MaxKeepAliveRequests:限制当启用KeepAlive时,每个连接允许的请求数量。如果将此值设为"0",将不限制请求的数目;
- KeepAliveTimeout:设置持久链接中服务器在两次请求之间等待的秒数;
Apache2其它配置文件
/etc/apache2/ports.conf是Apache2的端口配置文件,里面存放的Apache监听的端口,其中Listen配置项是用来配置监听的端口。
/etc/apache2/sites-enabled/000-default是Apache2用来设置虚拟主机目录的配置文件,简单的理解就是用来设置部署的网站信息,如下图所示。
[/etc/apache2/sites-enabled/000-default文件内容]
这里我们需要注意的几点内容为:
:表示的是一个虚拟的主机,其中80表示其访问端口; - documentRoot:表示该虚拟主机的文档根目录,也就是我们网页存放的目录;
:表示根目录的一些属性配置;
案例演示1:
默认情况下Apache2服务器是使用80端口,现在我们将默认端口修改为8080,具体使用如下步骤:
- 设置 Listen为8080(sudo vim /etc/apache2/ports.conf)
- 修改
为 (sudo vim /etc/apache2/sites-enabled/000-default) - sudo service apache2 restart
- 打开浏览器输入:localhost:8080
[修改ports.conf文件]
[修改000-default文件]
[使用浏览器访问localhost:8080地址]
[使用浏览器访问localhost地址]
可以看到再次使用80端口进行访问时,无法正常访问,因为此时Apache2监听的是8080端口。
案例演示2:
配置Apache2同时监听两个端口,一个是80,另一个是8080,这两个端口都同时访问默认的静态网页,具体使用如下步骤:
- 添加 Listen 为 80 (sudo vim /etc/apache2/ports.conf)
- 添加
(sudo vim /etc/apache2/sites-enabled/000-default),将 结构下的内容完全复制一份,然后只需将复制出来的结构的 8080 修改成 80 即可 - sudo service apache2 restart
- 打开浏览器输入:localhost:8080
- 打开浏览器输入:localhost:80
[修改ports.conf文件]
[修改000-default文件]
[使用浏览器访问localhost:8080地址]
[使用浏览器访问localhost地址]
可以看到此时访问80和8080端口显示的结果是一样的,说明Apache2此时同时监听这两个端口的请求。



