2022年linux下用apache搭建web服务器 .pdf
《2022年linux下用apache搭建web服务器 .pdf》由会员分享,可在线阅读,更多相关《2022年linux下用apache搭建web服务器 .pdf(29页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、Linux 下搭建 web服务器 Apache源于 NCSAhttpd服务器,经过多次修改,成为世界上最流行的 Web 服务器软件之一。 Apache 取自“a patchy server”的读音,意思是充满补丁的服务器,因为它是自由软件,所以不断有人来为它开发新的功能、新的特性、修改原来的缺陷。 Apache的特点是简单、速度快、性能稳定,并可做代理服务器来使用。 本来它只用于小型或试验 Internet网络,后来逐步扩充到各种Unix系统中,尤其对 Linux 的支持相当完美。 Apache 有多种产品,可以支持 SSL技术,支持多个虚拟主机。 Apache 是以进程为基础的结构,进程要比
2、线程消耗更多的系统开支,不太适合于多处理器环境,因此,在一个 Apache Web站点扩容时,通常是增加服务器或扩充群集节点而不是增加处理器。到目前为止Apache仍然是世界上用的最多的Web服务器,市场占有率达60% 左右。世界上很多著名的网站如A 、Yahoo!、W3 Consortium 、Financial Times等都是 Apache的产物,它的成功之处主要在于它的源代码开放、有一支开放的开发队伍、支持跨平台的应用(可以运行在几乎所有的Unix、Windows 、Linux系统平台上)以及它的可移植性等方面。 Apache的诞生极富有戏剧性。当NCSA WWW服务器项目停顿后,那些
3、使用 NCSA WWW服务器的人们开始交换他们用于该服务器的补丁程序,他们也很快认识到成立管理这些补丁程序的论坛是必要的。就这样,诞生了 Apache Group ,后来这个团体在NCSA 的基础上 创建了 Apache 。Apache的主要特 征是:可以运行上所有 计算机平台 ;支持最新的 HTTP 1. 1协议;简单而 强有力的基于 文件的配置;支持通用网 关接口 CGI;支持虚拟主机 ;支持 H TTP认证;集成 Perl 脚本编程语言;名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - -
4、- 第 1 页,共 29 页 - - - - - - - - - 集成的代理服务器 ;具有可定 制的服务器 日志;支持服务器 端包含命令 (SSI) 支持安全 Socket 层(SSL ) 用户会话 过程的 跟踪能力;支持 FastCGI;支持 Java Servlets 。 安装 Apache 下面我们就开始 漫漫征 服 Apache之旅,通过 循序渐进的需求实例 ,一步步 地学习 使用 Apache , 从入门 到精通。 系统需求运行 Apache不需要太多的 计算资 源。它在有 6-10MB 硬盘空间和 8MBRAM的 Linux 系统上运行 得很好。然而,只运行 Apache可能不是
5、你想做的事情。更可能的是, 你想运行 Apache来提供 WWW服务、启动 CGI进程以及充 分利用所有 WWW能够提供 的令人惊奇的功能。在这种 情况下,你需要提供反映负载 要求的额外的磁盘空间和内存空间。也就是 说,如果仅仅 是启动 WWW服务并不 需要太多的系统 资源,但是想要能为 大量的客户提供 服务就 需要更多的系统 资源。 你可以通过以下 三种方法安装 Apache服务器。 1如果你安装 的 Linux 版本中带用 Apache的话,就在 选择所要安装的服务器的时 候,将 httpd 这个服务 选上,Linux 安装程序将自动完成 Apache的安装工作 ,并做 好基本的 配置。
6、2使用可 执行文件软件 包,这比 较适合那些对 编译工作 不是太 熟悉的初级用户,因为它相对比 较简单。 下载软件包 apache_1. 2. 4.e.tar.gz tar xvzf apache_1. 2. 4.e.tar.gz 名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 2 页,共 29 页 - - - - - - - - - 这就完成了 安装工作 ,简单 吧!如果你使用的是 RedHat Linux的话,你也可以下 载 apache_1. 2. 4.rpm软件安装包 ,然后
7、使用 rpm - ivh apache_1. 2. 4.rpm 命令安装 。3如果你想把 Apache服务器充 分利用起来的话,就一定要自 己编译Apache定制其功能。下 载包含 Apache源代码的软件 包 apache_1. 2. 4.tar. gz; 然后用 tar 命令将 它解开; 将当前目 录改变为 Apache源代码发行 版的 src 目录; 将配置 样本文件(Conf i guration.tmpl)复制为 Con f i guration文件;编辑 Con f i guration文件中的 配置选 项:M akef ile配置选 项:一些编译选 项:CC =一行指定用什么编译
8、 软件编译,一般为CC =gcc;如果需要将额外 的标志(参数)指定给 C编译软件,可以使用 :EX TRA_CFLAGS =EX TRA_LFLAGS =如果系统需要特殊的库和包含文 件,可以在这 里指定它们 :EX TRA_LI BS=EX TRA_INCLU DE S=如果你要改变代码优化设置 的话,你须将 下面一 句去掉注释 ,然后改成 你所需要的值:#OP TIM=-O2Rule 配置选 项:用来决定需要什么功能,一 般情况 下无需改变。 模块配置:模块 是 Apache的组成部分,它为 Apache内核增加新功能。通过使用 模块配置 ,可以自定 义在 Apache服务器中 需要什么
9、功能,这个部分也是 Apache灵活性的表现。模块配置 行如下所 示:AddM odule modules / standard / mod _env.o如果你需 要 Apache服务器 具备什么 功能,就 将那个模块用 AddM odule语句加到配置文 件 Con f i guration中去。下表列出 了 Apache的模块功能:模块名 功能 缺 省mod _access 提供基于主机的 访问控制命令 y名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 3 页,共 29 页 -
10、- - - - - - - - mod _actions 能 够运行基于 M I ME 类型的 CGI脚本或 HTTP请求方法 ymod _alias 能 执行 URL重定向服务 ymod _asis 使 文档能在没有 HTTP头标的情况下被发送到客户端 ymod _auth 支持使用 存储在文本文件中的用 户名、口令实现 认证 ymod _auth _dbm 支持使用 DBM 文件存储基本 HTTP认证 nmod _auth _mys ql 支持使用 M ySQ L数据库实现 基本 HTTP认证 nmod _auth _anon 允许以匿名方式访问需 要认证的区域 ymod _auth _e
11、xternal支持使用 第三方认证 nmod _autoindex 当缺 少索引文 件时,自 动生成动态目录列表 ymod _cern _meta 提供对元信息 的支持 nmod _cgi 支持 CGI ymod _dir 能够重定向任何 对不包括尾部斜杠字符命令 的请求 ymod _env 使你能够将环境变量传递给 CGI或 SSI 脚本 nmod _expires 让你确 定 Apache在服务器 响应请求时如何处理 Expires ymod _headers 能 够操作 H TTP应答头标 ymod _imap 提供图形映射 支持 nmod _include 使支持 SSI nmod _
12、in f o 对服务器 配置提供 了全面的描述 ymod _lo g_agent 允许在单独的日志文 件中存储用户代理的 信息 nmod _lo g_conf i g 支持记录日志 ymod _lo g_ref erer 提供了将请求 中的 Ref erer 头标写入日志 的功能 nmod _mime 用来 向客户端提供 有关文档 的元信息 ymod _negotiation 提供了对内容协商的支持 ymod _setenvi f 使你能够创建定制环境变量 ymod _spelin g 使你能够处理含有拼写错误 或大小写错误 的 UR L请求 nmod _status 允许管理员通过 W EB
13、管理 Apache ymod _uni que_id 为每个请求提供 在非常特殊的条件下保证是唯一的标识 n 在 src 目录下执行:. / conf i gure;编译 Apache:执行命令ma ke;根据 机器性能的不 同,经历一段 5-30分钟的编译,就大功告成了。将编译好 的可执行文件 httpd 复制到 / etc / httpd / bin 目录下;将 Apache发行版的配置文 件:access.con f 、httpd.con f 、mime.types、 srm.con f 文件复制到/ etc / httpd / conf 目录下。到此为止, 安装完成。 名师资料总结 -
14、 - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 4 页,共 29 页 - - - - - - - - - 一些说明在 Red Hat Linux 6.0中,Apache将自己的所有 配置文 件和日志文 件放在了 / etc / httpd 目录下,其中 / etc / httpd / conf 下为配置文件,/ etc / httpd / lo g下为日志文 件。 同时,它 将建立/ home / httpd 目录,并在其下建立 三个子目录:html/ :在这个目 录下存放 HTM L(主页)文件;
15、cgi - bin / :在这个目录下可以 存放一些 CGI程序;icons / :在这个目 录下是服务器自带的一些 图标。 配置 Apache基础篇,让 WWW服务器 跑起来 Apache 服务器软件的 配置文 件主要有 :access.con f :用于设置系统中的 存取方式和环境;httpd.con f :用于设置服务器 启动的基本环境; srm.conf :主要用于做 文件资源上的 设定;mime.type:记录 Apache服务器所能识 别的 M I ME 格式。 在具体讲解之前, 我们必须告诉大家,Apache已经在安装时就采用了一系 列的缺省值,已经让 WWW服务器 跑起来了。
16、你只需要将装上 Linux+Apache的主机 联入 Internet ,然后 将主页存放到/ home / httpd目录下即可。 下面介绍一些最主要的 配置选 项的含义,以便大家用最小的 精力、最小的配置准备好服务器。 httpd.con f tpd.con f 是主配置文 件。它 告诉服务器 将如何运行。 一、最 重要的配置选 项 ServerType standalone | inetd 这个配置选 项指定如何运行 W EB服务器。Apache 可以使用 两种方法来运行服务器 :standalone ( 独立的) 和 inetd ( 由 inetd 运行的 ) 。 standalone
17、 参数表示 W EB服务进程以一个单 独的守候进程的方 式在后台 侦听是否有客户端 的请求,如果有就生成一个 子进程来为其服务。 inet名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 5 页,共 29 页 - - - - - - - - - d参数表示 W EB服务不是以一个单 独的守候进程的 形式支持。而是由Inetd 这个超级服务器 守候进程进行代 劳,当它 收到一个 客户端 的 W EB服务请求的时候,再启动一个 W EB服务进程为其服务。 从功能的 角度看,这两种方法几乎是
18、相 同的。但它们之 间实际有很大区别,区别在于服务器的性能。一个由inted 运行的服务器进程在它结 束对请求服务的 同时立刻退出。而在 standalone 模式下,子 WWW服务器进程在退出之前要 挂起一段时间,这就 给它们提供了机会,可以 重新用来服务新的 请求。 在 standalone 模式下,不 存在对每个请求启动 新进程的开 销,所以它的效率更高;而 inetd 模式被 认为比 standalone 模式更具安全 性。standalone 模式:此种模式下,WWW服务器 侦听特定端口的连接请求 。当客户机发出到特定端口地 址的连接请求 时,主服务器进程 启动子 WWW服务进程来服
19、务该请求。另外还需要告诉主服务器进程 侦听的特定 端口地 址,使用命令:Port number (缺省值为 80) inetd 模式inetd 是 侦听有小于 1024的端口连接请求 的 Internet守护进程( 一个服务器进程 ) 。与前面的方 法不同,当客户系统发 出到 WWW服务器的连接请求 时, inetd启动一个 WWW服务器进程,由此进程服务此请求,完成服务后 即退出。如果选择 通过 inetd 服务器来运行 Apache ,需要编辑 / etc / inetd.con f 文件为 Apache添加一条新的记录:httpd stream tcp nowait httpd / et
20、c / httpd / bin / httpd -f/ etc / httpd / conf/ httpd.con f名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 6 页,共 29 页 - - - - - - - - - 修改了 / etc / inetd.con f 文件后,就 需要修改 / etc / services中添加一行 httpd 80/ tcp httpd 做完以上修改后, 需要重新启动 inetd 进程。 首先,使用以下 命令取得 inetd 的进程 I D :p
21、s auxw | grep inetd 然后执行命令:k ill -HUP在 RedHat Linux中,默认是采用 inetd 服务器来运行 Apache ,所以只要你在安装时选择了 httpd ,以上 工作在安装时就已经代你完成了。二、其它 配置选 项 Server Admin 命令,用来 设置 W EB管理员的 E-M ail地址。这个 地址会出现 在系统 连接出错 的时候,以便访问者能够将情况 及时地告知 WEB管理员。 命令格式: Server Admin you E-M ail address例:Server Admin admin ErrorLo g命令,用来 指定错误记录文 件
22、名称和路径。 命令格式: ErrorLo g lo g f ilename 例:ErrorLo g / var / httpd / error.logTimeout 命令,只要 客户端 超过这里设定的秒数还没有完成一个 请求的话,服务 端将终止这次 请求服务。如 果网络速度 较慢的话,建议在此设置较大 的数值。以给客户端 更多机 会。 命令格式: Timeout second例:Timeout 120Server Root 命令,它指定在何处保存服务器的 配置、错误及日志文件。 命令格式: Server Root f ully quali f ied path name 例:Server Ro
23、ot / etc / httpd名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 7 页,共 29 页 - - - - - - - - - ServerName命令,它配置服务器的 Internet主机名 命令格式: ServerName host name例:ServerName srm.confsrm.conf 是资源配置文 件,用它来 告诉服务器 你想在 WWW站点上 提供什么资 源以及在 哪里和如何提供 们。DocumentRoot 命令,用来 指定主文档的地址。 命令格式:
24、DocumentRoot Path例:D ocumentRoot / home / httpd / htmlUserDir 命令,用来 指定个人主 页的位置。如果你有一个用 户 test ,那么它主目 录是/ home / test ,当客户端 输入http :/ yourdomain/test ,系统就 会到对应的目 录/ home / test / UserDir / 中去寻找。其中UserD ir 就是在 User Dir 命令中设置的指定目录。 命令格式: User Dir Path 例: User D ir Public _htmlDirectoryIndex 命令,用来 声明首页文
25、件名称。一般地,我们使用index.html或index.htm 作为首页的文件名。如 果这样设置后,那么客户端 发出 WEB服务请求时,将首先调 入的主页是在指定目录下文?quot ; index.html或index.htm 。 命令格式: DirecotryIndex f ilename 例:D irecotryIndex index.html index.htmScriptAlias命令,为脚本程序目 录起个别名,具体可见 4. 7小节。 命令格式: ScriptAlias / alias / f ullly quali f ied path f or script directory
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 2022年linux下用apache搭建web服务器 2022 linux apache 搭建 web 服务器
限制150内