Apache 简介html
Apache HTTP Server 是开源软件项目的杰出表明基于标准的HTTP网络协议提供网贡浏览java
服务在We服务器领域中长期保持着超过半数的份额。Aapache服务器能够运行在Lnux.UNXnode
Wndows 等多种操做系统平台中,linux
1.Apache 的起源c++
Apathe服务器是针对以前出现的若干个Web服务器程序进行整合。完善后造成的软件。其名web
称来源于A Palchy Server 意思是“基于原有Web 服务程序的代码进行修改(补T) 后造成的apache
服务器程序”,编程
1995年Apeche服务程序的10版本发布以后一直由"ApacheGroup负责该项目的管理vim
和维护,直到1999 年在ApacheGroup 的基础上成立了Apache软件基金会(Apache Sotwae安全
Foundation ASF).目前,Apache项目一直由 ASF 负责管理和维护,
ASF 是非盈利性质的组织,最初只负责"ApacheWeb服务器项目的管理,随着Web应用需
求的不断扩大,ASF 逐渐增长了许多与Web 技术相关的开源软件项目所以Apsthe 如今不只仅
表明着Web 服务器,更普遍地表明着ASF 管理的众多开源软件项目,ASF 基金会的官方网站是
htIP:/ www apache .org/.
ApacheHTTPServer 是ASF 旗下著名的软件项目之一,其正式名称是htpa”也就是历史
上的Apache 网站服务器。在本书后续内容中。若未做特殊说明,使用"Apache 或者“http:d
均指的是、Apache HTP Server
2.Apache 的主要特色
Apache 服务器在功能性能和安全性等方面的表现都是比较突出的能够较好地知足Web
服务器用户的应用需求,其主要特色包括如下几个方面。
开放源代码这是Apache服务器的重要特性之一,也是其余特性的基础。Apache服务程
序由全世界的众多开发者共同维护而且任何人均可以自由使用,这充分体现了开源软
件的精神。
跨平台应用这个特性得益于Apache的源代码开放。Apache服务器能够运行在绝大多数
软硬件平台上,全部UNX 操做系统均可以运行Apache服务器甚至Apache服务理可
以良好地运行在大多数Wndows 系统平台中。Apache 服务器的跨平台特性使美具备被
普遍应用的条件。
支持各类Web 编程语言Apache服务器可支持的网页编程语言包括perl、PHP、Pythoon、java
等,甚至微软的ASP 技术也能够在Apache阳服务器中使用支持各类经常使用的web编
程语言使Apache具备更普遍的应用领域。
模块化设计Apache 并无将全部的功能集中在单一的服务程序内部,而是尽量的经过标准的模块实现专有的功能这为Apache服务器带来了能够编写标准的模块程序,从而添加Apache自己并不具备的其余功能。
运行很是稳定,Apache服务器可用于构建具备大负载访问量的Web 站点,不少知名的企
业网站都使用Apache 做为Web 服务软件。
良好的安全性,Apache 服务器具备相对较好的安全性,这是开源软件共同具备的特性。
而且Apache 的维护团队会及时对已发现的漏洞提供修补在序,为Apache 的全部使用者
提供尽量安全的服务器程序。
服务搭建环境:ret hat 六、httpd-2.2.17,apr-1.4.6.tar.gz,apr-util-1.4.1.tar.gz
准备工做
避免端口冲突,程序冲突等现象,须要作如下检查
[root@localhost ~]# netstat -anpt | grep 80
[root@localhost ~]# rpm -e httpd --nodeps
2.使用yum工具安装编译包
yum -y install gcc gcc-c++ make pcre-devel
3.解开压缩包
[root@localhost ~]# tar -zxf apr-util-1.4.1.tar.gz -C /opt
[root@localhost ~]# tar -zxf apr-1.4.6.tar.gz -C /opt
[root@localhost ~]# tar -zxf httpd-2.4.25.tar.gz -C /opt
4.将优化包拷贝到httpd的目录下
[root@localhost opt]# cp -r apr-1.4.6/ httpd-2.4.25/srclib/apr
[root@localhost opt]# cp -r apr-util-1.4.1/ httpd-2.4.25/srclib/apr-util
5.进入httpd的目录检测安装平台的目标特征
[root@localhost opt]# cd httpd-2.4.25/
./configure \
--prefix=/usr/local/apache \
--enable-so \
--enable-rewrite \
--enable-mods-shared=most \
--with-mpm=worker \
--disable-cgid \
--disable-cgi
参数解释:
--prefix= //来指定安装路径
--enable-so //该参数表示支持用mod_so模块提供的功能,用LoadModule在httpd.conf文件或包含的conf文件中动态加载某个模块。让 Apache 能够支持DSO模式
--enable-rewrite //支持 URL 重写
--enable-mods-shared=most //选项:告诉编译器将全部标准模块都动态编译为DSO模块。
--with-mpm=worker // 让apache以worker方式运行
--with-mpm=worker //该参数是配置apache将以何种模式编译的。Apache网站文档指出不一样操做系统下的不一样的默认模式.
--disable-cgid //禁止用一个外部 CGI 守护进程执行CGI脚本
--disable-cgi //禁止编译 CGI 版本的 PHP
6.编译和安装编译
[root@localhost httpd-2.4.25]# make && make install
7.确认安装结果
[root@localhost httpd-2.4.25]# ls /usr/local/apache/
bin cgi-bin error icons lib man modules
build conf htdocs include logs manual
8.优化路径
[root@localhost httpd-2.4.25]# ln -s /usr/local/apache/bin/* /usr/local/bin
9.查看是否优化成功
[root@localhost httpd-2.4.25]# ls -l /usr/local/bin/httpd /usr/local/bin/apachectl
lrwxrwxrwx. 1 root root 31 6月 18 00:51 /usr/local/bin/apachectl -> /usr/local/apache/bin/apachectl
lrwxrwxrwx. 1 root root 27 6月 18 00:51 /usr/local/bin/httpd -> /usr/local/apache/bin/httpd
10.添加httpd为系统服务
[root@localhost httpd-2.4.25]# cp /usr/local/apache/bin/apachectl /etc/init.d/httpd
[root@localhost httpd-2.4.25]# chmod +x /etc/init.d/httpd
[root@localhost httpd-2.4.25]# vim /etc/init.d/httpd
1 #!/bin/sh
2 #chkconfig: 35 85 21
[root@localhost httpd-2.4.25]# chkconfig --add httpd
[root@localhost httpd-2.4.25]# chkconfig --list httpd
httpd 0:关闭 1:关闭 2:关闭 3:启用 4:关闭 5:启用 6:关闭
11.配置httpd的配置文件
[root@localhost ~]# vim /usr/local/apache/conf/httpd.conf
各全局配置项的含义以下。
ServerRoot,设置httpd服务器的根目录,该目录下包括了运行Web站点必需的子目录和
文件。默认的根目录为/usr/local/httpd.与httpd 的安装目录相同,在httpa conf 配置文
件中,若是指定目录或文件位置时不使用绝对路径,则该目录或文件位置都认为是在服
务器的根目录下。
Listen; 设置httpd服务器监昕的网络端口号,默认为80.
User: 设置运行httpd进程时的用户身份,默认为daemon.
Group: 设置运行httpd进程时的组身份,默认为demon.
ServerAdmin; 设置htipd服务器的管理员E-mal 地址,能够经过此E-mal 地址及时联系
Web 站点的管理 员.
ServerName: 设置Web站点的完整主机名(主机名+域名).
Documentoot: 设置网站根目录,即网页文档在系统中的实际存放路径、此配置项比较容
易和ServerRoot 混淆,须要格外注意.
Directoryindex: 设置网站的默认索引页(首页),能够设置多个首页文件,以空格分开,
默认的首页文件为index.html.
Erorlog: 设置错误日志文件的路径,默认路径为logs/eror_log.
LogLevel; 设置记录日志的级别,默认级别为wam (警告)。
CustorLog.设置访问日志文件的路径、日志类型,默认路径为logs/access_og.使用的
类型为common (通用格式).
PidFile.设置用于保存httpd 进程号(PD) 的文件,默认保存地址为logs/ httpa pid.logs
目录位于Apache的服务器根目录下。
CharsetDefault;设置站点中的网页默认使用的字符集编码,如UTF-8.gb2312等。
include.包含另外一个配置文件的内容,能够实现将一些特殊功能的配置放到一个单独的
文件中,再使用Include 配置项将其包含到httpd conf 文件中,这样便于独立进行配置功
能的维护而不影响主配置文件。
以上配置项是httpo conf 文件中主要的全局配置项。还有其余不少配置项,在此不一一列举,
若是须要使用能够查看Apache服务器中的相关帮助手册文档。
注:须要关闭防火墙,或者添加相应的端口号。
如下是本人本身写的一个简单的脚本直接传入linux就可使用(只供参考,非商用)