`
limingnihao
  • 浏览: 1820442 次
  • 性别: 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
分享到:
评论

相关推荐

    linux 下配置 Apache 详解

    Apache是一个历史悠久并且功能十分强大...本文主要从简化安装==&gt;性能调优==&gt;维护方便的角度,介绍了WEB服务的规划、HTTPD安装/应用模块配置、升级/维护等过程。让Apache和PHP,Resin等应用模块的独立升级,完全互不影响

    phpStudy【Apache/PHP/MySQL/ZendOptimizer一键安装】 V1.75 简体中文版

    该程序包集成最新的Apache+PHP+MySQL+phpMyAdmin+ZendOptimizer,一次性安装,无须配置即可使用,是非常方便、好用的PHP调试环境。该程序不仅包括PHP调试环境,还包括了开发工具、开发手册等。总之学习PHP只需一个包...

    CentOS7下 Apache的安装配置方法

    前些天安装了Nginx,为了好玩我就又安装Apache,Apache的安装还算顺利。...3、httpd -v 查看安装版本,安装成功之后,查找配置文件位置,对httpd进行配置 #find / -name httpd.conf 4、当然,最好将原

    phpstudy Apache PHP MySQL phpMyAdmin ZendOptimizer

    该程序包集成最新的Apache+PHP+MySQL+phpMyAdmin+ZendOptimizer,一次性安装,无须配置即可使用,是非常方便、好用的PHP调试环境。该程序不仅包括PHP调试环境,还包括了开发工具、开发手册等。总之学习PHP只需一个包...

    如何修改和添加Apache的默认站点目录

    一、修改Apache的默认站点目录Apache HTTP Server安装好后,默认的站点目录位于其安装目录下的htdocs文件夹内,默认首页是该文件夹的index.html文件。比如,我的Apache是安装在C:/wamp/bin/apache/Apache2.2.21内,...

    PHP环境配置集成软件

    该程序包集成最新的Apache+PHP+MySQL+phpMyAdmin+ZendOptimizer,一次性安装,无须配置即可使用,是非常方便、好用的PHP调试环境。该程序不仅包括PHP调试环境,还包括了开发工具、开发手册等。总之学习PHP只需一个包...

    Apache 文件根目录设置修改方法 (Document Root)

    在网上查找到的关于修改Apache服务器根目录的资料,对比学习,再此记录 在安装 Apache 时,系统会给定一个缺省的文件根目录。 如果你觉得将网页存在这个缺省目录不方便,觉得应该另外设个目录作为 Apache 文件根目录...

    phpstudy. 学习PHP

    该程序包集成最新的Apache+PHP+MySQL+phpMyAdmin+ZendOptimizer,一次性安装,无须配置即可使用,是非常方便、好用的PHP调试环境。该程序不仅包括PHP调试环境,还包括了开发工具、开发手册等。总之学习PHP只需一个包...

    Apache 2配置域名绑定的方法详解

    网上百度了很多教程,发现大家都是在配置httpd.conf文件,但我自己在Linux下面的apache并没有这个文件,本着试一试,我就自己新建了个httpd.conf,然后用网上的代码复制进去.。 ServerAdmin webmaster@localhost ...

    Php Stydy 学习PHP必备工具

    该程序包集成最新的Apache+PHP+MySQL+phpMyAdmin+ZendOptimizer,一次性安装,无须配置即可使用,是非常方便、好用的PHP调试环境。该程序不仅包括PHP调试环境,还包括了开发工具、开发手册等。总之学习PHP只需一个包...

    apache服务器一个ip(如:127.0.0.1)和多个域名(虚拟主机)的绑定

    2. 配置httpd.conf文件(存放在apache安装目录的conf文件夹中),启用httpd-vhosts.conf(把第二行前面的#号去掉即可)。 3. 配置httpd-vhosts.conf文件(存放在apache安装目录的extra文件夹中) 4. 在hosts文件中...

    phpStudy 2009 绿色集成环境┊方便、好用的PHP调试环境┊简体中文官方安装版

    该程序包集成最新的Apache+PHP+MySQL+phpMyAdmin+ZendOptimizer,一次性安装,无须配置即可使用,是非常方便、好用的PHP调试环境。该程序不仅包括PHP调试环境,还包括了开发工具、开发手册等。总之学习PHP只需一个包...

    WampServer下如何配置多域名

    之前在学习跨域的时候,我写过一篇叫做WampServer下使用多端口访问的文章,默认的 localhost 采用的是 80 端口,能使用多端口访问的核心是得新建一个端口,也就是新建一个 http 服务,于是我们在 apache 的配置文件...

    Php本地测试工具

    该程序包集成最新的Apache+PHP+MySQL+phpMyAdmin+ZendOptimizer,一次性安装,无须配置即可使用,是非常方便、好用的PHP调试环境。该程序不仅包括PHP调试环境,还包括了开发工具、开发手册等。总之学习PHP只需一个包...

    phpstudy WAMP 环境搭配不求人

    该程序包集成最新的Apache+PHP+MySQL+phpMyAdmin+ZendOptimizer,一次性安装,无须配置即可使用,是非常方便、好用的PHP调试环境。该程序不仅包括PHP调试环境,还包括了开发工具、开发手册等。总之学习PHP只需一个包...

    php三合一2010

    该程序包集成最新的Apache+PHP+MySQL+phpMyAdmin+ZendOptimizer,一次性安装,无须配置即可使用,是非常方便、好用的PHP调试环境。该程序不仅包括PHP调试环境,还包括了开发工具、开发手册等。总之学习PHP只需一个...

    PHP5.5.15+Apache2.4.10+MySQL5.6.20配置方法分享

    对于学习php的新手,由于网上的配置方法都是很久之前的,及时性不高,环境配置往往令人很头疼,我初学php配置环境时配置了3个晚上,每次总是会出现这样或那样的问题,如今把最新版的... 环境:win7 32.(64位的同理,...

    phpStudy2016.11.3版本,兼容性更好

    该程序包集成最新的Apache+PHP+MySQL+phpMyAdmin+ZendOptimizer,一次性安装,无须配置即可使用,是非常方便、好用的PHP调试环境.该程序不仅包括PHP调试环境,还包括了开发工具、开发手册等.总之学习PHP只需一个包。 对...

Global site tag (gtag.js) - Google Analytics