Apache服务器配置

1.Apache配置文件

Apache用户通过编辑Apache的主配置文件/etc/httpd/conf/httpd.conf来配置Apache的运行参数。httpd.conf配置文件包含各种影响服务器运行的配置选项,只有对这些配置选项有所理解,才能真正掌握Apache服务器的配置。

主配置文件可包含类似/etc/httpd/conf.d/*.conf格式的配置文件,通过指令Include /IncludeOptional定义包含的配置文件。

配置文件的格式需参照如下语法:

每一行包含一个指令,在行尾使用反斜杠”\”可以表示续行。

配置文件中的指令不区分大小写,但是指令的参数 (argument) 通常区分大小写。

以 “#“开头的行被视为注解并在读取时被忽略。注解不能出现在指令的后边。

空白行和指令前的空白字符将在读取时被忽略,因此可以采用缩进以保持配置层次的清晰。

Apache的安装还可采用编译安装。编译安装分为静态编译和动态编译两种方式。静态编译可将核心模块和所需要的模块一次性编译,运行速度快,但是如果要增加或删除模块必须重新编译整个Apache。动态编译只编译核心模块和DSO(动态共享对象)模块—mod.so,各模块可独立编译,并可随时用 LoadModule 指令加载,用于特定模块的指令可以用 <IfModule> 指令包含起来,使之有条件地生效,但是运行速度稍慢。

可通过如下命令查看Apache的编译参数。

httpd.conf配置文件主要由全局环境、主服务器配置和虚拟主机三个部分组成,每个部分都有相应的配置语句,该文件所有配置语句都以“配置参数名称 参数值”的形式存在,配置语句可放在文件中的任何位置。

(1)全局环境配置命令

ServerRoot:用于设置服务器的根目录

Listen:服务器监听的端口号。

(2)主服务器配置命令

ServerName:设置主机名称。

DocumentRoot:用于设置Apache默认站点根目录。

UserDir  public_html:用户可以在自己的目录下建立public_html目录来放置网页。

DirectoryIndex:用来设定主页,可以设置多个页面,前面的页面优先级高。 

httpd.conf中被注释掉的配置参数,用户可根据自己需要将已注释掉的配置语句取消注释(删除注释符号即可)。

下面对配置文件中的一些比较重要的选项和参数进行讲解:

ServerTokens OS

告知客户端Web服务器的版本与操作系统

ServerRoot /etc/httpd

用于指定Apache服务器的根目录,即守护进程httpd的运行目录。默认指定/etc/httpd目录为Apache服务器的根目录。

Timeout 120

定义客户程序和服务器连接的超时间隔,超过这个时间间隔(秒)后服务器将断开与客户机的连接,默认为120秒。

KeepAlive Off

用于设置是否保持活跃的连接,即如果将KeepAlive设置为On,那么来自同一客户端的请求就不需要再一次连接,避免每次请求都要新建一个连接而加重服务器的负担。默认设置为Off。

MaxKeepAliveRequests 100

保持连接状态时,每次连接最多请求文件数,默认为100。

KeepAliveTimeout 15

用于KeepAlive的条件下,则该次联机在最后一次传输后等待延迟的秒数,默认为15秒,当超过15秒则该联机将中断。如果该选项的设置时间过短,例如设置为1秒,那么Apache服务器就频繁建立新连接,这样会造成服务器资源的耗费;如果该选项的设置时间过长,例如设置为600秒,则Apache会有很多无用的连接占用服务器的资源。所以,KeepAliveTimeout值的设置需要根据网站的流量、服务器的配置设定。

<IfModule prefork.c>       \\设置使用perfork MPM运行方式的参数

StartServers       8       \\服务器启动时,执行8个httpd进程

MinSpareServers    5      \\最小的备用程序数量为5

MaxSpareServers   20      \\最大的备用程序数量为20

ServerLimit      256      \\服务器允许的进程数上限为256

MaxClients       256      \\服务器允许启动的最大进程数为256

MaxRequestsPerChild 4000   \\服务进程允许的最大请求数为4000

</IfModule>

<IfModule worker.c>

StartServers        2      \\服务器启动的服务进程数量为2

MaxClients          150  \\服务器允许启动的最大进程数为150

MinSpareThreads     25   \\保有的最小工作线程数目为25

MaxSpareThreads     75   \\允许保有的最大工作线程数目为75

ThreadsPerChild     25    \\每个服务进程中的工作线程常数为25

MaxRequestsPerChild 0     \\服务进程允许的最大请求数不限

</IfModule>


 

Listen  80:用于设置服务器的监听端口,默认设置监听80端口,可以根据需要绑定Apache服务器到特定的IP地址或端口。

LoadModule authe_basic_module modules/mod_auth_basic.so:在配置文件中,用户会看到许多这样的配置选项,这些选项是加载模块的配置选项,默认Apache已加载了许多模块。

Include conf.d/*.conf

用于设置从哪些配置目录中加载配置文件。

ServerAdmin root@localhost

用于设置服务器管理员的邮箱账号,默认设置为root@localhost。当服务器发生问题时,Apache服务器会将错误消息邮件发送到用户所设置的服务器管理员邮箱内。

#ServerName www.example.com:80

用于设置访问的主机名和端口号,也可以设置为主机的IP地址。“#”表示关闭此功能,默认指定主机名为www.example.com,端口号为80。

DocumentRoot "/var/www/html"

指定Apache服务器默认存放网页文件的目录位置,这个值可以根据自己的需要进行更改,默认设置为/var/www/html目录。

<Directory />               \\设置根目录的访问权限       

Options  FollowSymLinks     \\用来设置区块的功能,此处是允许符号链接的文件

AllowOverride None          \\决定是否可取消以前设置的访问权限,此处禁止读取“. htaccess”文件中的内容

</Director>

<Directory "/var/www/html">

 Options Indexes FollowSymLinks   \\Options选项有两个值,Indexes为当在目录中找不到 DirectoryIndex列表中指定的文件就生成当前目录的文件列表;FollowSymLinks为允许符号链接跟随,访问不在本目录下的文件

AllowOverride None   \\禁止读取".htaccess"配置文件的内容

Order allow,deny    \\指定先执行Allow(允许访问)规则,再执行Deny(拒绝访问)规则

 Allow from all     \\设置Allow访问规则,允许所有连接

</Directory>

DirectoryIndex index.html index.html.var

设置每个目录中默认文档的文件名称,其先后顺序具有优先性。一般来说是以index.*为文档名开头。

AccessFileName .htaccess

用于指定保护目录设置文件的文件名称,默认为.htaccess

ErrorLog

用于记录浏览器加载网页时发生的错误,以及关闭或启动httpd服务的信息,如果用户没有在<VirtualHost>标记块内定义ErrorLog选项,这个虚拟主机的错误信息将记录在这里。如果用户在那儿定义了ErrorLog,这些错误信息将记录在用户所定义的文件里,而不是这里定义的文件,默认指定为logs/error_log目录。

LogLevel

用于记录在错误日志文件error_log中的消息等级。可能的值包括:debug、info、notice、warn、error、alert、emerg、crit。默认日志消息等级为warn(logLevel)。

CustomLog logs/access_log combined

用于设置访问控制日志的路径。

ServerSignature On

服务器会在自行生成的网页中加上服务器的版本与主机名称,若为Off时则不加,当为E-mail时,则不仅会加上版本与主机名,还会再加上ServerAdmin配置选项中设置的邮件地址。该选项默认为On。

Alias /icons/ "/var/www/icons/"

该配置选项中是为某一目录建立别名,其格式为“Alias 别名 真实名”。该配置选项默认为/var/www/icons/设置别名为/icons/。

httpd.conf配置文件中对虚拟主机的配置参考如下,用户可以通过设置虚拟主机以便在一个主机上保存多个域名/主机名,文件中的大多数配置信息只使用基于名称的虚拟主机,因此不必担心IP地址的问题。虚拟主机标记块模板如下所示:

其中<Virtualhost*:80>中的*符号代表虚拟机的IP地址,80代表的是端口号。虚拟标记块中的ServerAdmin配置选项指定管理员邮箱地址;Document-Root配置选项用来指定存放网页的目录路径;ServerName配置选项用来设置虚拟主机的名称;Errorlog配置选项指定保存错误信息的日志文件路径;CustomLog配置选项指定访问日志文件路径。

2.配置和管理虚拟主机    

虚拟主机是现在很常用的技术,一个服务器如果只放一个公司的网页将存在资源的浪费,所以一般一个服务器上都存放了几个公司的网站,但是服务器怎么区分用户访问哪个网站呢?这时可通过虚拟主机技术访问不同的网站。虚拟机主机有基于域名和基于IP两种方法,一般使用基于域名的虚拟主机技术,因为现在IPV4的公网IP很珍贵,如果一个网站占用一个IP,那么就会浪费很多IP,如果使用基于域名的虚拟主机就可以避免这种浪费。

虚拟主机的优点:

①节约成本

利用虚拟主机技术可在一台计算机中建立多个虚拟主机,都分别提供Web服务,这样不必购买多台计算机,也不必另外安装线路,更不需要增加管理人员,所以就大大地节省了人力和物力。

②稳定的性能

普通的企业级网站往往只能通过某一家ISP接入,如果这家ISP供应商有故障时,则用户就会受到影响,若采取“虚拟主机”技术,则可以借助服务器的多路由获得稳定的性能,因为大多数的虚拟主机服务商所依赖的主干网一般不止一条,这就可以保证系统不受某一家ISP供应商的影响了。

(1)基于IP的虚拟主机

基于IP地址的虚拟主机在服务器里绑定了多个IP,然后配置Apache服务器,将多个网站绑定在不同的IP地址上,访问服务器上的不同IP地址,就可以进入到不同的网站。

建立基于IP的虚拟主机,除了物理网卡上已经配置ip地址之外,首先需要添加一个虚拟网卡,并给这个虚拟网卡配置一个IP地址。如下所示,添加一个虚拟网卡eth0:0,并配置IP地址为192.168.0.6。

例如:建立/var/www/bj、/var/www/sh目录,分别用于存放bj.sdflc.com、sh.sdflc.com这两个网站,对应的IP地址分别192.168.0.4和192.168.0.6。管理员邮箱都设置为root@sdflc.com。bj.sdflc.com网站的ErrorLog位于根目录/etc/httpd下的子目录 logs中,命名为bj-error_log;CustomLog位于根目录/etc/httpd下的子目录 logs中,命名为bj-access_log。sh.sdflc.com网站的ErrorLog位于根目录/etc/httpd下的子目录 logs中,命名为sh-error_log;CustomLog在根目录/etc/httpd下的子目录 logs中,命名为sh-access_log。

修改Apache服务器的主配置文件httpd.conf,设置基于ip地址的虚拟主机。这里配置两个基于IP地址的虚拟主机,如下所示:

配置文件修改完毕后,保存退出。建立两个网站对应的目录/var/www/bj及/var/www/sj,并在目录中建立网页测试文件。由于在本机测试,可在/etc/hosts文件中加入域名与ip地址之间的对应关系,如下所示:

重新启动Apache服务器,进行测试:

通过Mozilla Firefox来访问网页,如下所示: 

图10-1 访问bj.amy.com的主页

图10-2 访问sh.amy.com的主页

Apache服务器配置-CSDN博客

  • 10
    点赞
  • 10
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值