一、Apache服务器

目前,Web服务器能够提供极其丰富的内容服务,Apache几乎是主流Linux系统选用的唯一Web服务器软

件。

二、安装及配置Apache服务器

  2.1安装httpd服务器

   Apache服务器安装及配置_Apache

  2.2启动httpd服务并且测试

    2.2.1启动apache服务器

   Apache服务器安装及配置_Apache_02

   2.2.2查看httpd服务器进程

   Apache服务器安装及配置_Apache_03

  2.2.4查看httpd端口状态

   Apache服务器安装及配置_Apache_04

  2.2.5查看运行状态

   Apache服务器安装及配置_Apache_05

  2.2.6使用浏览器进行检测

   Apache服务器安装及配置_Apache_06

  2.2.7设置随系统启动

   Apache服务器安装及配置_Apache_07

  2.2.8修改配置文件

   Apache服务器安装及配置_Apache_08

  2.3.1Apache服务器的目录与文件分布

 /etc/httpd/*   配置文件所在的目录,其中conf子目录含有主配置文件,conf.d子目录含有各种模块的配

置文件 。

 /var/www/html   文档根目录

/usr/lib/httpd/modules/*   其中含有可动态加载的模块文件

/var/log/httpd/*               其中含有access_log访问日志文件和error_log错误日志文件

/etc/rc.d/init.d/httpd         Shell启动文件

/var/run/httpd.pid             httpd进程ID文件

/etc/httpd/conf/httpd.conf:默认的主配置文件,其中包含全局配置文件,可用于定制全局变量,如超时值(Timeout)与各种限制(MaxClients)控制Apache服务器的整体运行行为。

/etc/httpd/conf.d:在这个目录中,用户可以创建任何附加的配置文件。

 2.3.2配置指定

  1.Servername配置指令

  Servername配置指令用于设置Apache服务器的主机名(和端口号),如果服务器的监听针对www.abc.com

 端口号80的访问请求,

#ServerName  www.abc.com:80

  2.ServerRoot配置指令

  ServerRoot配置指定用于设置Apache服务器树形结构的根目录,其中包含conf、logs、和modules等子目

录。服务器的配置文件和日志文件分别存储在相应的子目录下面。

   3.Listen配置文件

   Listen配置指令的设置使Apache能够仅仅监听指定的IP地址或端口。

  例如,如果一个服务器软件已经占用了端口80,可以指定其他端口

  Listen 8080

 例如:如果想监听多个IP地址与端口,可以使用多个Listen配置指令。为了让服务器仅接受针对端口80

 8080访问请求。

 Listen 80

 Listen 8080

例如:为了让服务器可以接受多个IP地址与端口的访问请求,可以增加配置指令

Listen 192.170.2.1:80

Listen 192.170.2.5:8080

例如:Apache采用HTTPS协议处理针对端口443的访问请求,采用标准的HTTPS协议处理针对其他所有

端口的访问请求。如果其他端口(8000)也要采用加密方式的HTTP协议处理,配置指令如下

Listen 192.170.2.1:8080 https

2.3.3User/Group配置指令

User与Group配置指令用于指定用户和用户组的名字,表示以哪一个用户或用户组的身份运行http守护进

程。

user apache

group apache

2.3.4DocumentRoot配置指令

DocumentRoot配置用于设置Apache提供的HTML文档根目录,用来访问这个文档。

例如Apache服务器的域名是www.abc.com ,DocumentRoot设置/var/www/html目录。

DocumentRoot "/var/www/html"

2.3.5 Directory配置指令

<Directory></Directory>用于指定Apache服务器能够访问的每个目录及其子目录(也即是浏览器访问的目录)。

<Directory "/var/www/html">

    Options Indexes FollowSymLinks                      #详见Options配置指令

    AllowOverride None                                          #忽略.htaccess文件

    Oreder   allow, deny

     Allow    from   all                                               #设置谁能够访问当前的Apache服务器

</Directory>

2.3.6DirectoryIndex

DirectoryIndex配置指令用于设置Apache服务器网站主页(index.html)

#DirectoryIndex  index.html         index.htm        index.php

2.3.7NameVirtualHost配置指令

   在配置基于主机名的虚拟主机时,NameVirtualHost是必不可少的配置指令。利用NameVirtualHost配置

指令,可以指定一个IP地址,以便Apache服务器能够接收对基于主机名的虚拟主机的访问请求。

   NameVirtualHost  192.168.0.100:8080

   NameVirtualHost   *                           #表示所有达到网络接口的IP地址

 在设置基于主机名的虚拟主机时,VirtualHost配置指令定义的地址必须严格匹配NameVirtualHost定义的

地址。例如

NameVirtualHost 192.168.0.100

<VirtualHost 192.168.0.100>

,,,,,,,,

</VitualHost>

2.4.1虚拟主机

虚拟主机是一个Apache服务器能够同时支持多个网站。在Linux系统主机beijing.abc.net中,可以把Apache服务器配置www.abc.net与news.abc.net两个虚拟主机,同时支持http://www.abc.net和http://news.abc.net

虚拟主机的实现方式有两种:一种是基于IP地址的虚拟主机;一种是基于名字的虚拟主机。

基于IP地址的虚拟主机:采用IP地址确定访问的目的虚拟主机。因此,每个虚拟主机都需要有一个单独的IP地址。采用基于主机名的虚拟主机技术,不同的服务器能够共享同一个IP地址。

基于域名的虚拟主机:意味着一个IP地址能够对应多个不同的主机名。因为只需配置DNS服务器,把

每个主机名映射到一个正确的IP地址,然后配置ApacheHTTP服务器,使之能够识别不同的主机名即可。基于主机名的虚拟主机也容易解决IP地址资源缺乏的问题。

2.4.2配置基于主机名的虚拟主机

     1.在服务器的目录中创建/var/www/news网站目录

     Apache服务器安装及配置_Apache_09

     2.在服务器的目录中创建/var/www/public网站目录

     Apache服务器安装及配置_Apache_10

     3.修改/etc/httpd/conf/httpd.conf

     Apache服务器安装及配置_Apache_11

     4.检查服务器的配置是否有问题(/usr/sbin/httpd  -S)

     Apache服务器安装及配置_Apache_12

2.5.1配置基于不同IP地址的虚拟主机

     当利用多个IP地址实现多个网站时,需要在Apache服务器上配置基于IP地址的虚拟主机,服务器要

求配有多个网卡接口卡,或采用虚拟网络接口,在同一个网卡上设置多个不同的地址,每个虚拟主机

对应一个IP地址。

     假定Apache服务器的主机名www.example.com,其IP地址为192.168.0.101,另外两个网卡接口的IP地址

为192.168.0.102。这样,我们可以建立两个虚拟主机www.beijing.comwww.shandong.com

2.5.2配置 vim  /etc/httpd/conf/httpd.conf

    Apache服务器安装及配置_Apache_13 

 2.5.3使用/usr/sbin/httpd -S命令检测

   Apache服务器安装及配置_Apache_14

2.6.1利用不同的端口提供不同的网站服务

   假定我们有两个域名,但指定同一IP地址。为了提供两个不同内容的网站服务,可以利用NameVirtual

Host配置指令定了两个端口,配置两个虚拟主机。

2.6.2 vim /etc/httpd/conf/httpd.conf配置文件

   Apache服务器安装及配置_Apache_15

2.6.3 /usr/sbin/httpd -S 进行检测

  Apache服务器安装及配置_Apache_16