Apache
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特点
支持最新的HTTP/1.1通信协议
拥有简单而强有力的基于文件的配置过程
支持通用网关接口
支持基于IP和基于域名的虚拟主机
支持多种方式的HTTP认证
集成Perl处理模块
集成代理服务器模块
支持实时监视服务器状态和定制服务器日志
支持服务器端包含指令(SSI)
支持安全Socket层(SSL)
提供用户会话过程的跟踪
支持FastCGI
通过第三方模块可以支持Java Servlets
Apache安装
在Windows下安装Apache测试环境比较方便的方法是使用Apache套件,常用的有:
用户指南
如何.../指南
模块
其他
参考资料
编译LAMP环境配置过程: 这是shell自动化安装脚本,先准备好软件包在当面目录下执行,mysql采用的是二进制源码包。
- !/bin/bash
_APACHEPATH=/usr/local/apache _MYSQLPATH=/usr/local _PHPPATH=/usr/local/php path=`pwd` cd $path
sleep 3 echo "##########---------- Mysql install-----------#############"
echo "Installing Mysql,Please waiting..." cp my.cnf /etc/ tar zxvf mysql-5.1.32-linux-i686-icc-glibc23.tar.gz -C $_MYSQLPATH cd $_MYSQLPATH mv mysql-5.1.32-linux-i686-icc-glibc23 mysql cd mysql groupadd mysql useradd -g mysql mysql chown -R mysql . chgrp -R mysql . scripts/mysql_install_db --user=mysql chown -R root . chown -R mysql:mysql data #$_MYSQLPATH/mysql/bin/mysqld_safe --user=mysql & echo "$_MYSQLPATH/bin/mysqld_safe --user=mysql &" >> /etc/rc.d/rc.local echo "Mysql Install Done." cd $path
sleep 3 echo "##########---------- Apache install-----------#############"
echo "Installing Apache,Please waiting..." tar jxvf httpd-2.2.9.tar.bz2 cd httpd-2.2.9 ./configure --prefix=$_APACHEPATH --enable-so --enable-mods-shared=most make make install echo "$_APACHEPATH/bin/apachectl start" >> /etc/rc.d/rc.local echo "Apache Install Done." cd $path
if [ -d /usr/local/apache/ ] then $_APACHEPATH/bin/apxs -c -i -a $path/httpd-2.2.9/modules/mappers/mod_rewrite.c echo "###----Rewrite.so Install Done.----###" else exit fi
sleep 3 echo "##########---------- PHP_extension install-----------#############"
echo "Installing libxml,Please waiting..." tar zxvf libxml2-2.6.30.tar.gz cd libxml2-2.6.30 ./configure --prefix=/usr/local/libxml make make install echo "libxml Install Done." cd $path
echo "Installing libiconv,Please waiting..." tar zxvf libiconv-1.12.tar.gz cd libiconv-1.12 ./configure --prefix=/usr/local/libiconv make make install echo "libiconv Install Done." cd $path
echo "Installing zlib,Please waiting..." tar zxvf zlib-1.2.3.tar.gz cd zlib-1.2.3 ./configure --prefix=/usr/local/zlib make make install echo "zlib Install Done." cd $path
echo "Installing Freetype,Please waiting..." tar zxvf freetype-2.2.1.tar.gz cd freetype-2.2.1 ./configure --disable-shared make make install echo "Freetype Install Done." cd $path
echo "Install Jpeg,Please waiting..." tar zxvf jpegsrc.v6b.tar.gz cd jpeg-6b ./configure --enable-shared --enable-static make mkdir -p /usr/local/man/man1 make install make install-lib echo "Jpeg Install Done." cd $path
echo "Install libpng,Please waiting..." tar zxvf libpng-1.2.10.tar.gz cd libpng-1.2.10 ./configure --disable-shared make make install echo "libpng Install Done." cd $path
echo "Install Gd,Please waiting..." tar zxvf gd-2.0.35.tar.gz cd gd-2.0.35 ./configure --with-freetype --with-jpeg --with-png make make install echo "Gd Install Done." echo "PHP_extension Install Done." cd $path
sleep 3 echo "##########---------- PHP_extension install-----------#############"
echo "Installing PHP,Please waiting..." tar jxvf php-5.2.6.tar.bz2 cd php-5.2.6 \cp $_APACHEPATH/build/libtool . ./configure --prefix=$_PHPPATH --with-apxs2=/usr/local/apache/bin/apxs \ --with-mysql=/usr/local/mysql --with-libxml-dir=/usr/local/libxml \ --with-iconv=/usr/local/libiconv --with-config-file-path=/usr/local/php/etc \ --with-gd --with-freetype-dir --with-jpeg-dir --with-png-dir \ --with-zlib=/usr/local/zlib --enable-mbstring --enable-sockets make make install cd ../ cp php.ini $_PHPPATH/etc/ \cp httpd.conf $_APACHEPATH/conf/ $_APACHEPATH/bin/apachectl start echo "PHP Install Done." $_MYSQLPATH/mysql/bin/mysqld_safe --user=mysql &
echo "###########----------------Finish-----------------############"