apache

原创 2009年10月25日 16:06:00

apache

  

阿帕奇族

  Apache音译为阿帕奇,是北美印第安人的一个部落,叫阿帕奇族,在美国的西南部。相传阿帕奇是一个武士,他英勇善战,且战无不胜,被印第安人奉为勇敢和胜利的代表,因此后人便用他的名字为印第安部落命名,而阿帕奇族在印第安史上也以强悍著称。
  

Apache基金会

  Apache软件基金会(也就是Apache Software Foundation,简称为ASF),是专门为运作一个开源软件项目的 Apache 的团体提供支持的非盈利性组织,这个开源软件项目就是 Apache 项目。这个组织把自己作为有着相同目标的开发者与用户的团体,而不是简单的共享在一个服务器上的一组项目的组织团体。在它所支持的 Apache 项目与子项目中,所发行的软件产品都遵循 Apache许可证(Apache License)。
  Apache软件基金会(ASF)正式创建于1999年,它的创建者是一个自称为“Apache 组织”的群体。这个“Apache 组织”在1999年以前就已经存在很长时间了,这个组织的开发爱好者们聚集在一起,在美国伊利诺斯大学超级计算机应用程序国家中心(National Center for Supercomputing Applications,简称为NCSA)开发的 NCSA HTTPd 服务器的基础上开发与维护了一个叫 Apache 的 HTTP服务器。
  最初 NCSA HTTPd 服务器是由 Rob McCool 开发出来的,但是它的最初开发者们逐渐对这个软件失去了兴趣,并转移到了其他地方,造成了没有人来对这个服务器软件提供更多的技术支持。因为这个服务器的功能又如此强大,而代码可以自由下载修改与发布,当时这个服务器软件的一些爱好者与用户开始自发起来,互相交流并分发自己修正後的软件版本,并不断改善其功能。为了更好进行沟通,Brian Behlendorf 自己建立了一个邮件列表,把它作为这个群体(或者社区)交流技术、维护软件的一个媒介,把代码重写与维护的工作有效组织起来。这些开发者们逐渐地把他们这个群体称为“Apache 组织”,把这个经过不断修正并改善的服务器软件命名为 Apache 服务器(Apache Server)。
  这个命名是根据北美当地的一支印第安部落而来,这支部落以高超的军事素养和超人的忍耐力着称,19世纪後半期对侵占他们领土的入侵者进行了反抗。为了对这支印第安部落表示敬仰之意,取该部落名称(Apache)作为服务器名。但一提到这个命名,这里还有流传着一段有意思的故事。因为这个服务器是在 NCSA HTTPd 服务器的基础之上,通过众人努力,不断地修正、打补丁(Patchy)的产物,被戏称为“A Patchy Server”(一个补丁服务器)。在这里,因为“Patchy”与“Apache”是谐音,故最後正式命名为“Apache Server”。
  後来由于商业需求的不断扩大,以 Apache HTTP 服务器为中心,启动了更多的与 Apache 项目并行的项目,比如mod_ perl、PHP、Java Apache等等。随着时间的推移、形势的变化,Apache软件基金会的项目列表也不断更新变化中--不断的有新项目启动,项目的中止以及项目的拆分与合并。比如一开始,Jakarta 就是为了发展 JAVA 容器而启动的 Java Apache 项目,後来由于升阳公司(SUN)的建议,项目名称变为 Jakarta 。但当时该项目的管理者也没有想到 Jakarta 项目因为 JAVA 的火爆而发展到如今一个囊括了众多基于 JAVA 语言开源软件子项目的项目。以至後来,不得不把个别项目从 Jakarta 中独立出来,成为 Apache软件基金会的顶级项目,Struts 项目就是其中之一。
  最近,为了避免 SCO 与 UNIX 开源社区之间的发生纠纷降临在 Apache 软件基金会(ASF)身上。Apache软件基金会(ASF)里面开始采取一些措施,让众多的项目进行更多协调的、结构化管理,并保护自己的合法利益,避免一些潜在的合乎法律的侵犯(potential legal attacks)。
  主要成果:HTTP Server,Ant,DB,iBATIS,Jakarta,Logging,Maven,Struts,Tomcat,Tapestry等等。

Apache Server

  Apache是世界使用排名第一的Web服务器软件。它可以运行在几乎所有广泛使用的计算机平台上。
  Apache源于NCSAhttpd服务器,经过多次修改,成为世界上最流行的Web服务器软件之一。Apache取自“a patchy server”的读音,意思是充满补丁的服务器,因为它是自由软件,所以不断有人来为它开发新的功能、新的特性、修改原来的缺陷。Apache的特点是简单、速度快、性能稳定,并可做代理服务器来使用。
  本来它只用于小型或试验Internet网络,后来逐步扩充到各种Unix系统中,尤其对Linux的支持相当完美。Apache有多种产品,可以支持SSL技术,支持多个虚拟主机。Apache是以进程为基础的结构,进程要比线程消耗更多的系统开支,不太适合于多处理器环境,因此,在一个Apache Web站点扩容时,通常是增加服务器或扩充群集节点而不是增加处理器。到目前为止Apache仍然是世界上用的最多的Web服务器,市场占有率达60%左右。世界上很多著名的网站如Amazon.com、Yahoo!、W3 Consortium、Financial Times等都是Apache的产物,它的成功之处主要在于它的源代码开放、有一支开放的开发队伍、支持跨平台的应用(可以运行在几乎所有的Unix、Windows、Linux系统平台上)以及它的可移植性等方面。
  Apache的诞生极富有戏剧性。当NCSA WWW服务器项目停顿后,那些使用NCSA WWW服务器的人们开始交换他们用于该服务器的补丁程序,他们也很快认识到成立管理这些补丁程序的论坛是必要的。就这样,诞生了Apache Group,后来这个团体在NCSA的基础上创建了Apache。
  Apache web服务器软件拥有以下特性:
  支持最新的HTTP/1.1通信协议
  拥有简单而强有力的基于文件的配置过程
  支持通用网关接口
  支持基于IP和基于域名的虚拟主机
  支持多种方式的HTTP认证
  集成Perl处理模块
  集成代理服务器模块
  支持实时监视服务器状态和定制服务器日志
  支持服务器端包含指令(SSI)
  支持安全Socket层(SSL)
  提供用户会话过程的跟踪
  支持FastCGI
  通过第三方模块可以支持Java Servlets
  如果你准备选择Web服务器,毫无疑问Apache是你的最佳选择。

Apache有名的几个项目介绍

  HTTP Server
  这个在前面的段落介绍过了,Apache已经是他的代号了
  ActiveMQ
  免费开源由java编写符合JMS1.1标准的消息中间件。
  另外,它也支持通过除java语言外的语言的使用
  Ant
  这个太出名了。标准的批处理工具。是一套基于java的程序打造工具
  Commons
  一些常用的工具类库,包括common-pool,dbcp,fileupload,Common-beans等。
  Excalibur
  它的主要产品是一个由java写成的,名字叫做Fortress(要塞) 的轻量级的可嵌入式反向控制容器。
  iBATIS
  并入的一个项目,是ORM的一个很流行的工具
  Geronimo
  是Apache软件基金会为了创造一个兼容j2ee的容器,而整理出来的一个新成果
  Jakarta
  许多Java子项目的集成,tomcat,ant等就是从这里孵化出去的。
  James
  是一套用java开发的邮件、新闻组、消息服务器。它使用的avalon组件框架。目前支持 SMTP, POP3 和 NNTP 很快也会支持 IMAP
  Logging
  基于java的可靠,快速,扩展性强的日志工具
  Maven
  是一套java开发的工程综合管理工具。它基于工程对象模型(POM)的理念
  Portals
  门户产品
  Struts
  一套通过servlets和jsp来搭建web应用的MVC框架
  Tomcat
  用量最大的免费的Java服务器

Apache的安装与配置说明

  [1][2]Apache 的安装无外乎两种方式: 源代码安装和DEB包安装。这两种安装类型各有特色,DEB包安装不需要编译,而源代码安装则需要先配置编译再安装,DEB包安装在一个固定的位置下,选择固定的模块,而源代码安装则可以让你选择安装路径,选择你想要的模块。本文主要介绍DEB安装方式。
  系统:GNU/Linux Debian/etch
  Apache当前版本: 2.0.55-4
  1、安装:
  使用以下命令安装:
  tony@tonybox:~$sudo aptitude update aptitude install apache2 apache2-utilstony@tonybox:~$ sudo /etc/init.d/apache2 starttony@tonybox:~$ sudo /etc/init.d/apache2 stoptony@tonybox:~$ sudo killall apache2tony@tonybox:/etc/apache2$ ls -ltony@tonybox:/etc/apache2/conf.d$ cat charsettony@tonybox:/etc/apache2$ cat ports.conf
  tony@tonybox:~$sudo
  其中apache2-utils提供了我们在配置维护过程中非常有用的一些工具
  安装完成后,可以使用下面的命令启动Apache 服务:
  停止Apache服务则是:
  也可以只接用 kill 命令强制杀死apache2进程
  如有需要, 可以通过rcconf来控制是否在系统启动是加载Apache 服务
  启动完成后打开浏览器, 使用URL http://localhost/ 来访问已经启动的Apache服务器, 服务器将会跳转到 http://localhost/apache2-default/, 向浏览器返回一个Apache安装成功的页面。
  注: 这取决于/etc/apache2/sites-available/default 配置文件中, 是否取消了
  RedirectMatch ^/$ /apache2-default/
  行的注释
  2、 配置文件说明
  在Debian下, 安装完成后, 软件包为我们提供的配置文件位于/etc/apache2目录下:
  total 72
  -rw-r--r-- 1 root root 12482 2006-01-16 18:15 apache2.conf
  drwxr-xr-x 2 root root 4096 2006-06-30 13:56 conf.d
  -rw-r--r-- 1 root root 748 2006-01-16 18:05 envvars
  -rw-r--r-- 1 root root 268 2006-06-30 13:56 httpd.conf
  -rw-r--r-- 1 root root 12441 2006-01-16 18:15 magic
  drwxr-xr-x 2 root root 4096 2006-06-30 13:56 mods-available
  drwxr-xr-x 2 root root 4096 2006-06-30 13:56 mods-enabled
  -rw-r--r-- 1 root root 10 2006-06-30 13:56 ports.conf
  -rw-r--r-- 1 root root 2266 2006-01-16 18:15 README
  drwxr-xr-x 2 root root 4096 2006-06-30 13:56 sites-available
  drwxr-xr-x 2 root root 4096 2006-06-30 13:56 sites-enabled
  drwxr-xr-x 2 root root 4096 2006-01-16 18:15 ssl
  其中
  apache2.conf
  为apache2服务器的主配置文件, 查看此配置文件, 你会发现以下内容
  # Include module configuration:
  Include /etc/apache2/mods-enabled/*.load
  Include /etc/apache2/mods-enabled/*.conf
  # Include all the user configurations:
  Include /etc/apache2/httpd.conf
  # Include ports listing
  Include /etc/apache2/ports.conf
  # Include generic snippets of statements
  Include /etc/apache2/conf.d/[^.#]*
  有此可见, apache2 根据配置功能的不同, 对配置文件进行了分割, 这样更利于管理
  conf.d
  下为配置文件的附加片断,默认情况下, 仅提供了 charset 片断,
  AddDefaultCharset UTF-8
  如有需要我们可以将默认编码修改为 GB2312, 即文件的内容为: AddDefaultCharset GB2312
  httpd.conf
  是个空文件
  magic
  文件中包含的是有关mod_mime_magic模块的数据, 一般不需要修改它。
  ports.conf
  则为服务器监听IP和端口设置的配置文件,
  Listen 80
  mods-available
  目录下是一些。conf和。load 文件, 为系统中可以使用的加载各种模块的配置文件, 而mods-enabled目录下则是指向这些配置文件的符号连接, 从配置文件apache2.conf 中可以看出, 系统通过mods-enabled目录来加载模块, 也就是说, 系统仅通过在此目录下创建了符号连接的mods-available 目录下的配置文件来加载模块。同时系统还提供了两个命令 a2enmod 和 a2dismod用于维护这些符号连接。这两个命令由 apache2-common 包提供。命令各式也非常简单: a2enmod [module] 或 a2dismod [module]
  sites-available
  目录下为配置好的站点的配置文件, sites-enabled 目录下则是指向这些配置文件的符号连接, 系统通过这些符号连接来起用站点 sites-enabled目录下的符号连接附有一个数字前缀, 如000-default, 这个数字用于决定启动顺序, 数字越小, 启动优先级越高。 系统提供了两个命令 a2ensite 和 a2dissite 用于维护这些符号连接。这两个命令由 apache2-common 包提供。
  /var/www
  默认情况下将要发布的网页文件应该置于/var/www目录下,这一默认值可以同过主配置文件中的DocumnetRoot 选项修改。
  注意:如果你在是windows下应用Apache服务器,并且已经安装IIS,那么在安装Apache时请注意给Apache换个端口来监听比如8080,否则Apache占用的端口会和IIS冲突,造成Apache服务器不能正常启动

apache-rocketmq-4.2.0.tar.gz

  • 2017年12月05日 15:03
  • 8.38MB
  • 下载

apache-tomcat-6.0.18.rar

  • 2017年12月03日 10:49
  • 6.21MB
  • 下载

apache反向代理配置(反向代理连接的是IIS)

apache服务器的代理功能分为正向代理及反向代理: 1.正向代理:客户端无法直接访问外部的...

apache-tomcat-7.0.79.zip

  • 2017年11月29日 20:17
  • 10.12MB
  • 下载

apache-tomcat-5.5.26 免安装

  • 2017年11月29日 20:01
  • 14.23MB
  • 下载

Apache POI 合并单元格

合并单元格所使用的方法: sheet.addMergedRegion( CellRangeAddress  cellRangeAddress  ); CellRangeAddress  对...

Linux下安装apache2.2.29、部署静态html

首先下载apache安装包:http://download.csdn.net/detail/xb12369/8619361 上传到服务器目录 /usr/local/src: 1.解压缩 # c...
  • xb12369
  • xb12369
  • 2015年04月22日 12:22
  • 6896
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:apache
举报原因:
原因补充:

(最多只允许输入30个字)