《Apache服务器配置课件》由会员分享,可在线阅读,更多相关《Apache服务器配置课件(69页珍藏版)》请在金锄头文库上搜索。
1、Apache服务器配置,PHPChina 工作室,Apache服务器配置,Apache简介 获取和安装Apache 配置并运行Apache 个人主页、访问控制和用户认证 建立虚拟Web站点,安装启动Apache,# rpm qa | grep httpd # rpm ivh httpd-2.0.40-8.i386.rpm # rpm ivh httpd-manual-2.0.40-8.i386.rpm # service httpd start stop restart # grep -v “#” /etc/httpd/conf/httpd.conf 查看apache的主配置文件,Apache
2、的启动与停止,/etc/rc.d/init.d/httpd apache的启动脚本 service httpd start 启动apache服务器的命令 service httpd stop 停止apache服务器的命令 service httpd status 查询apache服务器状态的命令 service httpd restart 重新启动apache服务器的命令,apache默认配置信息,服务器的根目录:/etc/httpd 根文档目录:/var/www/html 访问日志文件:/var/log/httpd/access.log 错误日志文件:/var/log/httpd/error
3、.log 运行apache的用户:apache 运行apache的组:apache 端口:80 模块存放路径:/usr/lib/httpd/modules,Perfork MPM运行方式的参数: SrartServers 8 MinSpareServers 5 MaxSpareServer 20 MaxClients 150 MaxRequestsPerChild 1000,Apache的配置文件,配置文件所在目录: /etc/httpd/conf/ 主配置文件: httpd.conf,ServerRoot,ServerRoot /etc/httpd ServerRoot用于指定apache服
4、务器的配置文件及日志文件存放的根目录,默认为目录/etc/httpd 。,PidFile,PidFile /var/run/httpd.pid PidFile用于指定记录httpd进程号(PID)的文件位置,默认值为“/var/run/httpd.pid”,Timeout,Timeout 300 指定站点响应的时间秒数。若超过这段时间仍未收到或送出数据,就断开连接。,KeepAlive,KeepAlive On|Off 启用此项,表示允许保持持久连接,让每次连接能提出多个请求。避免每请求一个文件就跟服务器建立一次连接。,MaxKeepAliveRequests,MaxKeepAliveRequ
5、ests 100 每次连接可提出请求的数量,设置为0表示数量不限,默认值为100。,KeepAliveTimeout,KeepAliveTimeout 15 连续两个请求之间的时间如果超过15秒还未到达,则视为连接中断。这种做法可以最大限度地利用有限的资源,这也是Apache性能如此优越的原因之一。,SpareServers,MinSpareServers 5 MaxSpareServers 20 Apache在运行时会根据负载的轻重自动调整空闲子进程的数目。 提供浏览服务的httpd进程的数目需要随连接数目的多少而变化,因此需要随时保持几个闲置的httpd进程等候新的连接请求。若闲置的进程数
6、少于5个(默认值),则表示闲置进程太少,需要将其增加到5个; 若多于20个(默认值)则表示闲置进程太多,需将其减少到20个。,MaxClients,MaxClients 150 同时接入的数目太多时会降低系统访问性能,设置此参数可限制同时连接的最大数值,默认值为150。,Listen,Listen 12.34.56.78:80 Listen *:80 用于设置apache服务器监听指定IP和(或)端口上的连接请求。,User & Group,User apache Group apache 设置httpd用哪个用户帐号和组来启动,默认使用apache用户和组。,ServerAdmin,Serv
7、erAdmin rootlocalhost 服务器管理员的邮件地址,当服务器运行出错时将向此邮件地址发信。,ServerName,ServerName localhost 设置主机的名称,此名称会被送到远程连接程序,以取代安装Apache主机的真实名称。默认值是localhost,行首加#号,关闭此功能。,DocumentRoot,DocumentRoot “/var/www/html” 指定Apache服务器存放网页的文档根目录。,DirectoryIndex,Directoryindex 指令用于指定目录中默认的索引文件名称,可同时指定多个文件名称,两两之间用空格分割。默认值为index.
8、html。 实例: DirectoryIndex index.html index.htm index.shtml index.php,UserDir,UserDir public_html UserDir用于设定用户个人主页存放的目录,默认为“public_html”目录,即/home/user/public_html(手工创建此目录) 如果需要为系统中的多个用户提供个人主页空间,可以在/etc/skel/目录下建立一个public_html目录,这样在创建新用户时,其主目录下会自动生成一个名为public_html的目录,Alias,Alias用于设置路径别名 Alias /doc/ /u
9、sr/share/doc/ 给“/usr/share/doc/” 设置路径别名为“/doc/”,载入模块指令,Apache服务器采用动态共享对象(DSO,Dynamic Shared Object)的机制,在启动Apache服务器时可根据实际需要载入适当的模块,使其具有相应的功能。 载入模块的相关指令有: LoadModule ClearModuleList AddModule,LoadModule,LoadModule指令用于动态载入模块,即将模块外挂在Apache服务器上。 语法: LoadModule 模块名称 模块文件路径全名 实例: LoadModule status_module
10、modules/mod_status.so,ClearModuleList,ClearModuleList指令用于清空Apache服务器内建的模块列表。通常先使用该指令清空列表,再使用AddModule指令向模块列表加入模块。 语法: ClearModuleList,AddModule,AddModule指令用于向模块列表加入新的模块名称。 语法: AddModule 模块 实例: AddModule mod_status.c,容器指令,容器指令(container directive)通常包括在括号内,较容易识别。条件指令和不是容器指令,他们是例外。常用的容器指令有: , ,设置“/”根目录
11、的访问权限 Options FollowSymLinks AllowOverride None 目录属性设置结束 使用 设置指定目录的访问权限,其中可包含: Options AllowOverride Order Allow Deny 五个属性,容器包含只应用于指定文件的指令,文件应该由文件名(必要时使用统配符)指定。 实例: Order allow,deny Deny from all 拒绝所有客户访问访问.htaccess文件,对服务器的文档目录设置, Options Indexes FollowSymLinks AllowOverride None Order allow,deny Al
12、low from all ,AllowOverride指令,AllowOverride,AllowOverride None AllowOverride会根据设定的值决定是否读取目录中的.htaccess文件,来改变原来所设置的权限。 All:读取.htaccess文件的内容,修改原来的访问权限。 None:不读取.htaccess文件 为避免用户自行建立.htaccess文件修改访问权限,http.conf文件中默认设置每个目录为: AllowOverride None。,Allow,设定允许访问Apache服务器的主机 Allow from all 允许所有主机的访问 Allow from
13、 202.96.0.97 202.96.0.98 允许来自指定IP地址主机的访问,Deny,设定拒绝访问Apache服务器的主机 Deny from all 拒绝来自所有主机的访问 Deny from 202.96.0.99 202.96.0.88 拒绝指定IP地址主机的访问,Order,Order用于指定allow和deny的先后次序。 Order allow,deny:在执行拒绝访问规则之前先执行允许访问规则,默认情况下将会拒绝所有没有明确被允许的客户。 Order deny,allow:在执行允许访问规则之前先执行拒绝访问规则,默认情况下将会允许所有没有明确拒绝的客户。 范例: Orde
14、r deny,allow Deny from all Allow from 10.10.10.10 Order allow,deny Allow from all Deny from 10.10.10.10,AccessFileName,AccessFileName filename AccessFileName指令用于指定每个目录下的访问控制文件名称,默认为“.htaccess”。 AccessFileName .htaccess,使用.htaccess文件的时机,在不重新启动服务器的情况下改变服务器配置。 多个用户之间分割配置。 注意: 使用.htaccess文件会降低服务器的运行性能,在
15、可能的情况下尽量避免使用。 使用.htaccess文件的配置步骤 在主配置文件中启用并控制对.htaccess文件的使用。 在需要覆盖主配置文件的目录下生成.htaccess文件。,启用并控制使用.htaccess文件,设置文件名称,并且设置客户端无法修改.htaccess文件,.htaccess文件举例(1),# cd /var/www/html # mkdir private # cd private # touch test # vi /etc/httpd/conf/httpd.conf Options FollowSymLinks Indexes AllowOverride Optio
16、ns :wq # service httpd restart,测试,在客户机浏览器查看结果(http:/192.168.1.1/private/) 显示当前目录下的文件列表 注意:若子目录容器不存在,则根目录容器定义生效;若同时存在,必须在子目录容器内做出定义。,.htaccess文件举例(2),# cd /var/www/html/private/ # vi .htaccess Options -Indexes :wq 在客户机浏览器查看结果(http:/192.168.1.1/private/) 没有生成文件列表,证明.htaccess已经生效,访问控制,建立基于用户的访问控制 Apache可以针对不同的目录或文件设定不同的口令文件,实现基于用户的访问控制。 建立基于主机的访问控制 Apache也可以针对不同的目录或文件设定指定IP地址的主机可以(不可以)访问。,AuthName,AuthName auth-domain AuthName指令对当前定义的认证区域进行命名,该名称会出现在浏览器客户端的用户认证对话框中,以标识用户被认证的