http安装配置_学习笔记


    apache:

        NCSA,httpd

        A Patchy Server == apache

        FSF:GNU、GPL

        ASF:apache Software Foundation (apache 软件基金会) 

            web:httpd

                        Tomcat

                        Hadoop

    httpd:(1.3、2.0、2.2、2.4)

        Web Server,Open Source    (0.9、1.0、1.1   1.1增加了缓存功能、支持长连接)     

         1、事先创建进程

        2、适应性按需维持进程(最小最大空闲进程)

        3、模块化进程,核心较小,功能通过添加模块来实现(包括php)

        4、支持多种方式的虚拟主机配置

                单台主机单个web程序,可以提供多个不同的web站点

                    基于ip的虚拟主机

                    基于端口的虚拟主机

                    基于域名的虚拟主机

        支持的功能:

            https功能(mod_ssl)

            用户认证:简单认证、摘要认证、表单认证

            支持基于ip或域名的acl

            支持每目录的访问控制

            支持url重写

        /usr/sbin/httpd  (MEM:prefork)

            httpd:root,root                    主导进程(小于1024端口的进程需要root启动),负责维护工作进程

            httpd:apache,apache         工作进程

            Port:(80/tcp)、(ssl  443/tcp)

            /etc/httpd                                    工作根目录

            /etc/httpd/conf                            配置文件目录

                /etc/httpd/conf/httpd.conf    主配置文件

                /etc/httpd/conf.d/*.conf        辅助配置文件

            /etc/httpd/modules                

            /etc/httpd/logs    --> /var/log/httpsd

                日志文件:访问日志(access_log)、错误日志(err_log)

            /var/www/

                html                                           静态网页文件路径                                         

                cgi-bin                                        提供动态内容所使用的路径

                    cgi:Common Gateway Interface(通用网关接口)

                        Client-->httpd(index.cgi)-->Spwan Process(index.cgi)-->httpd--Client

                    fastcgi

                    程序:指令和数据

                        数据:数据库服务

httpd服务:

        配置文件:

            directive    values

            指令不区分大小写

            Values则根据需要有可能区分

    测试web服务的专业工具:LoadRunner

    MPM:Mutil Path Modules(多道处理模块)

        mpm_winnt:windows专用的(windows本身支持多线程)

        prefork:一个请求用一个进程处理

        worker:一个请求用一个线程响应,启动多个进程,每个进程启动多个线程,有锁机制的资源征用

        event:一个进程处理多个请求,2.2不支持此种机制,2.4默认使用此种请求模式


   Options:

        Indexes                                         :允许索引目录

        None                                              :不支持任何选项

        FollowSymLinks                            :允许访问符号链接指向的文件

        Includes                                         :允许执行服务器端包含相关文档和脚本

        ExecCGI                                         :运行CGI脚本

        ALL                                                   :启用所有

    Order:用来定义基于主机的访问控制

        Order allow,deny

        allow from all

        deny from deny

        例如:只允许192.168.0.1访问:

            order allow,deny

            allow from 192.168.0.1

        http -t 检测配置文件语法格式

        elinks http://host/source/to/path     显示文本网页

            -dump            退出交互模式

            -source             显示源码

    设置网页认证登陆:

        首先修改<directory>中的AllowOverride 值为AuthConfig

        然后配置:

                AuthType         basic

                AuthName       "This is Auth Web ..."

                AuthUserFile     /etc/httpd/conf/htpasswd

                AuthGroupFile    /etc/httpd/conf/htgroup

                Require group mygrp

                Require            valid-user

                Require  user test 

        组文件是手动创建的:mygrp:test1 test2

        然后建立认证文件,添加、删除用户:

                htpasswd

                        -c    首次添加密码文件时使用

                       -m    添加用户

                       -D    删除用户

                    htpasswd -c -m /etc/httpd/conf/htpasswd test1

        虚拟主机:

            apache服务:

                服务于多个不同的站点

            apache:

                中心主机

                虚拟主机

                    基于IP

                        IP1:80

                        IP2:80

                    基于端口

                        IP:80

                        IP:8080

                    基于域名

                        IP:80

                            主机名不同

                                www.test1.com

                                www.test2.com

                                www.test3.com

               要想需您主机生效需要先注释中心主机,方法:注释DocumentRoot即可

                 配置文件内容:

                  <VirtualHost Host>                    Host的定义:基于虚拟主机的三种方式

                    ServerName

                    ServerAlias

                    DocumentRoot    "/www/test1/"

                    <Directory "/www/test1">    这里是相对于文件系统目录做的属性定义

                        Options

                        AllowOverrdie

                

                    </Directory>

                    Alias

                    ErrorLog

                    CustomLog

                    <Location  "/first">            这里是对url链接目录做的属性定义

                        定义请求方法

                    </Location>

                    ScriptAlias

                 </VirtualHost>

            动态分类:

                客户端动态

                服务端动态