Apache服务器软件介绍
网站只有发布以后,用户才能通过Web浏览器访问到该网站中的信息资源。Web服务器软件就是用于发布网站的服务器,而Apache是世界使用排名第一的Web服务器软件,它可以运行在几乎所有广泛使用的计算机平台上。
Apache服务器所提供的资源其实就是一些文件,因此,管理员必须在服务器端先将数据文件写好,并放置在某个特殊的目录下,这个目录就是整个网站的首页位置。另外,客户端必须在浏览器的“地址栏”输入所需要的网址才行。
主要以Linux下源代码包的安装方法介绍Apache服务器的配置
Apache服务器的目录结构在Linux系统下使用源代码包安装Apache时,我们将Apache服务器的家目录设置在/usr/local/apache2目录下面。在学习Apache服务器配置之前首先了解一下Apache的目录结构
Bin:是Apache执行文件所在的目录。例如,Apache的主要执行文件apachectl,使用这个命令可以用来控制Apache服务器开启或停止。还有Apache的密码保护文件htpasswd,当用户在某些网页需要输入账号与密码时,Apache本身提供一个最基本的密码保护方式,该密码的产生就是透过这个指令来完成的
cgi-bin:预设给一些可执行的CGI网页程序存放的目录,当用户输入http://localhost/cgi-bin/时所显示的数据所存储的目录
error:默认错误应答文件目录。如果因为服务器设置或者浏览器要求的数据错误时,在浏览器上出现的错误信息存放的位置
htdocs:默认Web文档根目录,就是用户存放网页和存放默认首页的位置。用户通过浏览器中输入地址访问这个下面的文件,并将文件内容传回给用户浏览器,显示成美妙的页面供给用户浏览
icons:这个目录提供Apache预设给予的一些小图示
Logs:Apache日志文件存放的位置。其中包括访问日志access_log和错误日志error_log文件。访问日志access_log记录了所有对Web服务器的访问活动,例如,记录了客户端的IP地址和在什么时间访问了哪个页面等信息。错误日志error_log记录了所有对Web服务器的错误访问活动
Man:Apache服务器配置文件的帮助手册所在目录
modules:Apache服务器所支持的动态加载模块所在的位置
Apache服务器配置库文件目录除了要了解Apache家目录下的子目录的作用,还有两个比较重要的目录需要掌握,就是存入Apache配置文件和子配置文件的两个目录,如下所示:
/etc/httpd/目录:在通过源代码包安装Apache时,为Apache指定的主配置文件httpd.conf存放的目录。
/etc/httpd/extra/目录:该目录为Apache扩展及模块配置文件目录。最新版本Apache服务器不仅有一个httpd.conf作为主配置文件,还存在一些辅助配置文件被存放在这个目录下。
Apache服务器配置文件说明/etc/httpd/httpd.conf 主配置文件
/etc/httpd/extra/ //显示/etc/httpd/extra/下面的所有附加配置文件
httpd-autoindex.conf //配置目录列表的辅配置文件
httpd-dav.conf //配置DAV的辅配置文件
httpd-default.conf //配置与Apache服务自身相关的辅配置文件
httpd-info.conf //配置用于服务器信息和状态显示的辅配置文件
httpd-languages.conf //配置语言支持的辅配置文件
httpd-manual.conf //配置提供Apache文档访问的辅配置文件
httpd-mpm.conf //配置多路处理模块(MPM) 的辅配置文件
httpd-multilang-errordoc.conf //配置多语言错误应答的辅配置文件
httpd-ssl.conf //配置SSL模块的辅配置文件
httpd-userdir.conf //配置用户主目录的辅配置文件
httpd-vhosts.conf //配置虚拟主机的辅配置文件
配置文件的语法格式以“#”作为注释符 ,注解不能出现在指令的后边
使用变量赋值语法风格
文件的每一行包含一个指令,它告诉Apache服务器以某种特定的方式完成某一项特定的任务
在指令的行尾使用反斜杠“”可以表示续行,但是反斜杠与下一行之间不能有任何其他字符(包括空白字符)
配置文件中的指令是不区分大小写的,但是指令的参数(argument)通常是大小写敏感的
空白行和指令前的空白字符将被忽略,因此可以采用缩进以保持配置层次的清晰
要特别注意即使平台本身是使用反斜杠()来分隔路径的 ,通常在配置文件里只用正斜杠(/)来分隔路径总是不会错的
Apache容器段指令(下节介绍)
Apache服务器全局参数设置在Apache 2.2以上以源码包安装的版本中,主配置文件httpd.conf中只包含少量的必须使用的一些与服务自身相关的指令,大部分指令都被分散保存在辅助配置文件中。可以用Include指令和通配符附加这些辅助配置文件到主配置文件httpd.conf中,但默认不附加任何其他辅助配置文件。如果使用其他辅助配置文件中的设置,就需要手动在主配置文件中加载。
在主配置文件httpd.conf中的全局参数
ServerRoot "/usr/local/apache2" #设置服务器目录的绝对路径 #Listen 12.34.56.78:80 #允许Apache绑定指定的IP或者端口,实现对其监听 Listen #Apache绑定指定的端口80 #以下几行加载特定的DSO(Dynamic Shared Object)模块 LoadModule deflate_module modules/mod_deflate.so LoadModule expires_module modules/mod_expires.so LoadModule rewrite_module modules/mod_rewrite.so LoadModule php5_module modules/libphp5.so #动态加载php5模块 #设置子进程的用户和组,<IfModule test>...</IfModule>配置段用于封装根据指定的模块是否启用而决定是否生效的指令。在<IfModule>配置段中的指令仅当test为真的时候才进行处理。如果test为假,所有其间的指令都将被忽略 <IfModule !mpm_netware_module> <IfModule !mpm_winnt_module> User daemon #设置实际提供服务的子进程的用户 Group daemon #设置提供服务的Apache子进程运行时的用户组 </IfModule> </IfModule> ServerAdmin [email protected] #设置在返回给客户端的错误信息中包含的管理员邮件地址 #ServerName www.example.com:80 #设置服务器用于辨识自己的主机名和端口号 DocumentRoot "/usr/local/apache2/htdocs" #设置Web文档根目录,默认存放网页位置 <IfModule dir_module> DirectoryIndex index.html #指令用于指定目录中默认的索引文件名称 </IfModule>
|
Timeout #服务器在断定请求失败前等待的秒数 KeepAlive On #启用HTTP持久链接 MaxKeepAliveRequests #一个持久链接中允许的最大请求数量 KeepAliveTimeout #持久链接中服务器在两次请求之间等待的秒数 HostnameLookups Off #启用对客户端IP的DNS查找
|
#设置prefork多路处理模块 <IfModule mpm_prefork_module> StartServers #设置服务器启动时建立的子进程数量 MinSpareServers #设置空闲子进程的最小数量 MaxSpareServers #设置空闲子进程的最大数量 MaxClients #设置Apache的最大连接数 MaxRequestsPerChild #设置每个子进程在其生存期内允许伺服的最大请求数量 </IfModule>
|