`
limingnihao
  • 浏览: 1824432 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

Apache学习之 一、 HTTPD 的安装与配置

 
阅读更多

第1章 Httpd安装与配置

(黎明你好原创作品,转载请注明)

1.1 简介

        Apache HTTP Server(简称Apache)是Apache软件基金会的一个开放源码的网页服务器,可以在大多数计算机操作系统中运行,由于其多平台和安全性[1]被广泛使用,是最流行的Web服务器端软件之一。它快速、可靠并且可通过简单的API扩展,将Perl/Python等解释器编译到服务器中。

功能包括目录索引、目录别名、内容协商、可配置的HTTP错误报告、CGI程序的SetUID执行、子进程资源管理、服务器端图像映射、重写URL、URL拼写检查以及联机手册等。

Apache HTTP服务器本身没有提供Servlet/JSP容器。因此,在实际应用中,把Tomcat与Apache集成,可以建立具有实用价值的商业化的Web平台。

 

1.2 安装

1.2.1 Windows安装

        下载文件,window版本,http://httpd.apache.org,下载文件为httpd-2.2.22-win32-x86-openssl-0.9.8t.msi。

 

1.2.2 Linux安装

下载TAR包

        需要使用到的tar包有:

        httpd-2.2.22.tar.gz,apr-1.4.6.tar.gz,apr-util-1.5.2.tar.gz,pcre-8.32.tar.gz

 

 安装TAR包

        将每个tar包解压以后(tar –vxf),开始安装。 安装顺序为apr、apr-util、pcre、httpd。

        如果在执行make是说找不到gcc编译环境,那么需要安装gcc编译环境:

yum install gcc gcc-c++ autoconf automake

 

i. 安装apr

./configure --prefix=/usr/local/apr
make
make test
make install

 

ii. 安装apr-util

./configure --prefix=/usr/local/apr-util/ --with-apr=/usr/local/apr/bin/apr-1-config
make
make test
make install

 

iii. 安装pcre

./configure --prefix=/usr/local/pcre --with-apr=/usr/local/apr/bin/apr-1-config
make
make install

 

iv. 安装httpd

./configure --prefix=/opt/apache/httpd --with-apr=/opt/apache/apr/bin/apr-1-config --with-apr-util=/opt/apache/apr-util/bin/apu-1-config --with-pcre=/opt/apache/pcre/bin/pcre-config
make
make install

 

v. 启动httpd

1. 启动 apachectl -k start

2. 停止 apachectl -k stop

3. 状态 apachectl –k graceful

4. 重启 apachectl –k restart

 

1.2.3 修改运行用户

        必须修改<IfModule unixd_module>中的所属用户和组。后面添加虚拟路径的文件夹必须拥有这个用户和组的读写权限,否则会报权限的错。

 

1.2.4 httpd添加虚拟路径

        打开conf文件夹,在httpd.conf配置文件中添加一段:

 

Alias /share "/home/vcs/service/data/version"
<Directory "/home/vcs/service/data/version">
	Options Indexes MultiViews
	AllowOverride None
	Order allow,deny
	Allow from all
</Directory>

 

 

        通过ls –l查看此文件夹的权限,看apache运行的用户是否拥有权限。

        可以通过chown user file –R修改文件夹的拥有者、chgrp group file –R修改文件夹的拥有组。

 

1.2.5 httpd加入系统服务

        系统服务里面没有apache或者httpd服务,每次启动都要/usr/local/apache2/bin/apachectl start。比较麻烦,下面的操作可以将httpd装入到服务中,同理也可以用到其他的服务操作。

 

        1.将apachectl文件拷贝到/etc/rc.d/init.d 中,然后在/etc/rc.d/rc5.d/下加入链接即可。命令如下:

            cp  bin/apachectl /etc/init.d/httpd  //如果有其他的版本的Apache存在,也可以直接覆盖掉

            ln -s /etc/init.d/httpd /etc/rc.d/rc5.d/S85httpd      //建立链接(85的意义后面介绍)

            此时Apache就可以自动启动了。

 

        2.运行chkconfig --list,发现没有linux服务列表中httpd,通过chkconfig –add httpd来添加,但是提示:httpd服务不支持 chkconfig。

            需要编辑/etc/rc.d/init.d/httpd,添加以下注释信息:

            # chkconfig: 345 85 15

            # description: Activates/Deactivates Apache Web Server

            第一行3个数字参数意义分别为:哪些Linux级别需要启动httpd(3,4,5);启动序号(85);关闭序号(15)。

            保存后执行:chkconfig --add httpd,成功添加。

            在rc3.d、rc4.d、rc5.d路径中会出现S85httpd的链接文件,其他运行级别路径中会出现K61httpd的链接文件。 

 

        3、运行chkconfig --list httpd 这时已经可以看到httpd服务了。此时就可以使用service httpd命令了。

                service httpd start

                service httpd restart

                service httpd stop

                service httpd status

 

1.3 常用配置项

全局变量Global Environment

字段名 默认值 说明
ServerRoot>   ServerRoot指令设置了服务器所在的 目录。一般来说它将包含conf/和logs/子目录。使用DEB包安装的系统, 此项的默认值为 "/etc/apache2" 也就是说仅仅包括apache2的配置文件.必须注意, 该目录是受保护的, 不允许非root用户对其进行修改.
PidFile /var/run/apache.pid 指定记录httpd配置文件守护进程的进程号的文件。由于httpd配置文件能自动复制其自身,因此系统中有多个httpd进程,但只有一个进程为最初启动的进程,它为其他进程的父进程。对这个进程发送 信号将影响所有的httpd进程。PidFile定义的文件中就记录httpd 父进程的进程号。
DocumentRoot /var/www/html 该参数指定Apache服务器存放网页的路径,默认所有要求提供HTTP服务的连接,都以这个目录为主目录。在每个Apache服务器存取的目录中,可以针对每个目录及子目录来设置允许及禁止客户端访问的服务。以下为Apache的默认值。
MaxClients 150; 该参数限制Apache所能提供服务的最高数值,即同一时间连接的数目不能超过这个数值。一旦连接数目达到这个限制,Apache服务器则不再为别的连接提供服务,以免系统性能大幅度下降。
Port 80 该参数用来指定Apache服务器的监听端口。一般来说,标准的HTTP服务默认端口号是80,一般不要更改这个数值。
KeepAlive on 目前多数的浏览器都请求服务器保持持续连接,这种功能就称为“KeepAlive”,它是HTTP1.1中的标准规格,一般是用来强化服务器的性能。在使用保持连接功能时,设置客户一次请求连接能影响文件的最大上限,建议把默认值设为ON,以便提高访问 性能。
MaxKeepAliveRequests 100 当使用保持连接(persistent connection)功能时,可以使用本参数决定每次连接所能发出的要求数目的上限。如果此数值为0,则表示没有限制。建议尽可能使用较高的数值,以充分发挥Apache的高性能。
MaxRequestsPerChild 10 该参数限制每个子进程(child process)在结束前所能处理的请求数目,一旦达到该数目,这个子进程就会被中止,以避免长时间占据Apache(或者Apache服务器所采用的函数库),防止造成内存或者其他系统资源的超负荷。
MaxSpareServers/MinSpareServers 20/5 提供Web服务的HTTP守护进程,其数目会随连接的数目而变动。Apache服务器采用动态调整的方法,维持足够的HTTP守护进程数目,以处理目前的负载,也就是同时保持一定的空闲HTTP守护进程来等候新的连接请求。
DirectoryIndex inde.html 在此命令后添加其他的默认主页文件名,例如可以添加index.htm等。当然这只是Apache的一些基本设置项,大家可以根据自己的实际情况加以灵活的修改,以充分发挥Apache的潜能。如果修改配置文件之后让其立即生效,可以重启Apache服务。

 

 

 

1.4 虚拟主机VirtualHost

        虚拟主机指的是在单一机器上运行多个网站 (例如 www.company1.com 和 www.company2.com) 。 虚拟主机可以“基于 IP”,即每个IP一个站点; 或者“基于名称”, 即每个IP多个站点。这些站点运行在同一物理服务器上的事实不会明显的透漏给最终用户。

        可以让apache监听多个端口访问不同的路径。或者多个域名映射到同一个apache时做不同的访问分配。

        下面实例为监听8001端口,映射到一个本地的物理地址。

Listen 8001
NameVirtualHost *:8001
<VirtualHost *:8001>
    ServerAdmin limingnihao@iteye.com
    DocumentRoot "E:/_org.js/extjs-4.1.0/"
    ServerName extjs.localhost
    ErrorLog "logs/dummy-host2.localhost-error.log"
    CustomLog "logs/dummy-host2.localhost-access.log" common
</VirtualHost>

<Directory "E:/_org.js/extjs-4.1.0/">
	Options Indexes MultiViews
	AllowOverride None
	Order allow,deny
	Allow from all
</Directory>

 

3
3
分享到:
评论

相关推荐

    Apache2.4.6在Linux中安装及配置自启动

    Apache HTTP Server 2.4.6 是一个广泛应用的开源Web服务器,它在Linux系统上的安装和配置对于搭建网站和提供HTTP服务至关重要。本教程将详细阐述如何在Linux环境中安装Apache2.4.6并设置其自启动,以确保服务器在...

    Linux下安装Apache httpd.doc

    在Linux环境下安装Apache是常见的需求之一,尤其是在构建Web服务器时。 #### 二、环境准备 本文档将基于以下环境进行Apache的安装与配置: - **操作系统**:CentOS 6.5 (Final) - **内核版本**:2.6.32-431.el6.x86...

    Apache在windows下的安装与配置图解.doc

    ### Apache在Windows下的安装与配置详解 #### 一、前言 随着Web技术的发展,Apache作为全球使用最广泛的Web服务器之一,在Windows环境下的部署也变得越来越常见。本文将详细介绍如何在Windows系统上安装并配置...

    apache2.2 windows安装版 httpd-win32-src.zip

    3. **配置**:Apache的配置主要通过修改`conf/httpd.conf`文件完成,这个文件在安装包中可能需要手动创建或者在安装过程中自动生成。配置内容包括服务器监听的端口(默认80)、网站根目录、虚拟主机设置等。 4. **...

    Apache+PHP安装与配置

    本文将详细介绍Apache与PHP的安装和配置过程,以及如何将它们结合起来工作。 首先,我们需要了解Apache和PHP的基本概念。Apache是一款免费的、跨平台的Web服务器软件,支持多种操作系统,如Windows、Linux和Mac OS...

    apache httpd php wordpress

    Apache HTTPD是世界上最流行的开源Web服务器,PHP是一种广泛使用的服务器端脚本语言,而WordPress则是基于PHP和MySQL的最受欢迎的内容管理系统(CMS)。让我们深入探讨这三个技术以及它们如何协同工作。 首先,...

    linux Apache源码下载 httpd-2.2.9.tar.gz

    在Linux环境中,Apache HTTP服务器是广泛应用的...Apache源码的编译与安装是一个学习Linux服务器管理的重要环节,通过这个过程,我们可以更深入地理解Apache的工作原理,以及如何对其进行定制以适应不同的应用场景。

    Apache配置文件httpd详解

    ### Apache配置文件httpd详解 #### 文件全局说明 Apache配置文件`httpd.conf`是Apache Web服务器的核心配置文件,主要用于定义服务器的各种配置指令,这些指令影响着Apache服务器的整体行为和服务特性。通过深入...

    Apache_Http_Server安装与配置完美手册

    通过深入学习和实践这份“Apache_HTTP_Server安装与配置完美手册”,你可以掌握Apache服务器的全面操作,包括从基础安装到复杂的配置调整,以及如何利用负载均衡优化服务器性能。无论你是初学者还是经验丰富的系统...

    windows下apache+fastCGI+PHP的安装与配置小计

    本文主要介绍了在 Windows 系统环境下如何安装与配置 Apache、FastCGI 和 PHP,使之能够协同工作并支持 PHP 应用程序的运行。通过本文的学习,您将能够掌握在 Windows 平台上搭建 LAMP 或 WAMP (Windows + Apache + ...

    Linux服务器配置与管理:Apache服务器安装配置.pptx

    在Linux服务器配置与管理中,掌握Apache服务器的安装配置是运维人员的基本技能。以下是对Apache服务器安装配置的详细说明: 1. **Apache软件包**: - `httpd-2.4.6-45.el7.x86_64.rpm`:这是Apache服务器的主要...

    Windows下Apache2.2.8及Php5.2.5的安装与配置方法

    #### 三、Apache2.2.8的安装与配置 1. **解压Apache安装包**: - 将下载好的Apache压缩包解压到一个合适的目录(如C:\Apache2.2)。 2. **配置环境变量**: - 将Apache的bin目录添加到系统的PATH环境变量中,...

    Linux与Apache(httpd.conf )配置与管理图文教程 chm

    在实际操作中,学习并熟练掌握httpd.conf的配置是成为一名合格的Linux和Apache管理员的必备技能。通过深入理解这些配置选项,你可以根据业务需求定制出高效、安全的Web服务器环境。同时,由于标签提及了asp.net,这...

    Linux环境下的Apache服务器httpd-2.2.20.tar.gz

    总之,`httpd-2.2.20`代表了Linux环境中经典的Apache服务器部署,它的安装和管理涉及了Linux系统管理、网络服务配置和Web应用开发等多个IT领域的知识。虽然现在有更多现代的Web服务器选择,但Apache的历史地位和广泛...

    httpd--apache

    Apache HTTP Server,通常简称为Apache或httpd,是世界上最广泛使用的Web服务器软件之一。它是一个开源项目,由Apache软件基金会维护,提供了强大的功能和高度的可定制性,使其成为搭建和管理网站的理想选择。 ...

    apache + php 的运行环境配置程序

    1. **下载与安装**:访问Apache官方网站,选择适合操作系统的版本,如Windows的httpd.exe。下载后,解压到指定目录,并确保该目录没有空格和特殊字符。 2. **配置**:修改Apache的配置文件httpd.conf。主要设置包括...

    httpd-2.2.27.tar.gz httpd-2.2.27下载

    解压后,你会得到一个名为“httpd-2.2.27”的目录,其中包含了Apache服务器的所有源代码、配置文件、文档以及编译和安装所需的相关工具。 在编译和安装Apache之前,确保你的系统已经安装了必要的依赖,比如GCC...

    SVN-Apache2.2.8安装配置说明

    本文将详细介绍如何在Windows环境下安装和配置SVN(Subversion)1.4.6与Apache2.2.8,为您的开发工作提供一个稳定可靠的版本控制系统。 1. 版本控制基础 版本控制是一种系统,用于追踪并管理软件项目中的文件和...

Global site tag (gtag.js) - Google Analytics