当前位置: 澳门新濠3559 > 操作系统 > 正文

这篇详细介绍下httpd-2.2的部分配置参数,相关软

时间:2019-12-08 05:50来源:操作系统
这篇详细介绍下httpd-2.2的部分配置参数,相关软件下载地址。2》修改次配置文件:  3、多道处理模块MPM Apache 下载地址: 相关软件下载地址: =============Apache 简介: 进程技术,高资源

这篇详细介绍下httpd-2.2的部分配置参数,相关软件下载地址。2》修改次配置文件: 

3、多道处理模块MPM

Apache 下载地址:
相关软件下载地址:
         
=============Apache 简介: 进程技术,高资源消耗,但是稳定;

    #

                澳门新濠3559 1

    #allow允许;deny不允许

        <IfDefine UseCache>
          LoadModule cache_module modules/mod_cache.so
        </IfDefine>     

更改完成后service httpd reload可生效

   =========Apache中的进程与线程:  

    #

# worker MPM
# StartServers: initial number of server processes to start
# MaxClients: maximum number of simultaneous client connections
# MinSpareThreads: minimum number of worker threads which are kept spare
# MaxSpareThreads: maximum number of worker threads which are kept spare
# ThreadsPerChild: constant number of worker threads in each server process
# MaxRequestsPerChild: maximum number of requests a server process serves
<IfModule worker.c>
StartServers 4
MaxClients 300
MinSpareThreads 25
MaxSpareThreads 75
ThreadsPerChild 25
MaxRequestsPerChild 0
</IfModule>
当上述的数值赋值不当时,刷新服务时的提醒?

#

                 16>IfModule容器:
        此容器封装仅在条件满足时才会处理的指令,根据指定的模块是否已被加载来决定条件是否满足;
      案例:
        <IfModule unixd_module>
        User daemon
        Group daemon
        </IfModule>
     17>Directory容器:
        该容器内 指令仅应用于特定的文件系统目录,子目录以及目录下的内容;
     18><DirectoryMatch>
        此指令类似于上述指令,但可以直接使用正则表达式匹配,无须使用~符号;
     19>Files容器:
        容器内的指令仅应用于特定的文件,它可以使用~匹配正则表达式;
     20>FilesMatch容器:
        仅使用正则表达式匹配需要的文件,;
     21>Location容器:
        容器内定义的指令仅对特定的URL有效,语法格式为:<Location URL-path|URL> </Location>,如果需要使用正则表达式,可以用~符号来匹配;

    # directory, remove the "UserDir disabled" line above, and uncomment

  *******注意:
    linux内核默认情况下一个进程可以打开的文件的数量是1024;

#

              启动服务的脚本------》运行/usr/sbin/httpd----》调用/etc/httpd/conf/ httpd.conf; 

<Directory "/var/www/html"> #页面访问属性

  =================LAMP平台概述:

 so_module (static)

2》修改配置文件:
  主配置文件:/etc/httpd/conf/httpd.conf:
  简单配置:

[Linux]#

          Order Allow,Deny
          allow from 192.168.1.2
          Deny from All 拒绝所有人访问;

    #

  =============虚拟主机应用案例:
    虚拟主机是在一台服务器上同时运行多个WEB业务,Apache服务支持基于域名以及基于IP的虚拟主机类型,但是更多时候我们更喜欢基于域名的虚拟主机,服务器可以根据客户端访问HTTTP的头部信息来实现网站的分离解析,客户端可以使用不同的域名访问位于同一IP地址的服务器资源;

#

          Order Deny,Allow
          Deny from all
          allow from 192.168.1.2 除此IP外拒绝所有;

Listen 192.168.1.110:8082

              澳门新濠3559 2

 authn_alias_module (shared)

 

    UserDir public_html 用户家目录下的目录名称,所有位于此目录中的文件均可通过前述的访问路径进行访问;用户的家目录的赋予运行httpd进程的用户拥有执行权限;

                       15>IfDefine容器:
          此容器封装的指令仅在启动Apache时测试条件为真才会被处理,测试条件需要在启动Apache时通过-D定义:
        实例:
          service httpd -D UseCache -D MemCache restart

# Otherwise, the client will only receive a "403 Forbidden" message.

        出现上述提示说明没有标准的域名,需要指定:
   ServerName:www.chw.com:80 -----276行》打开配置,去掉注释,然后修改;       

Includes 是否允许使用mod_include模块实现服务器端包含(SSI)

              澳门新濠3559 3

# of 755, and documents contained therein must be world-readable.

 

StartServers      8 默认启动的工作进程数;不包含主进程

              apr:
      ./configure
      make && make install
    apr-util:
      ./configure --with-apr=/usr/local/apr
      make && make install
    httpd:
    ./configure --prefix=/usr/local/apache --enable-so --enable-ssl --enable-rewrite --with-mpm=worker --with-suexec-bin --with-apr=/usr/local/apr
    make && make install
    可以通过./configure --help 命令来查看脚本支持的所有选项:
      --prefix 指定Apache httpd程序的安装主目录
      --enable-so 开启模块化功能,支持DSO(动态共享对象)
      --enable-ssl 支持SSL加密
      --enable-rewrite 支持地址重写
      --with-mpm 设置Apache 工作模式
      --with-suexec-bin 支持SUID,SGID
      --with-apr 指定apr程序绝对路径 

LoadModule authn_file_module modules/mod_authn_file.so

        澳门新濠3559 4

# Controls who can get stuff from this server.

               澳门新濠3559 5

    2、主机配置:用于仅提供一个站点

              5>ServerAdmin指令:
        当网站出现故障时,需要为客户提供一个可以帮助解决问题的邮件地址,ServerAdmin指令的作用就是提供这样的邮件地址;
    6>ServerName指令:
       设置服务器本机的主机名称以及端口,对URL地址的重定向很重要;
    7>DocumentRoot指令:
        设置WEB服务队客户端开放可见的文档根目录,也就是客户端访问网站的根目录;
    8>ErrorLog指令:
           定位服务器错误日志的位置,默认使用相对路径;
    9>ErrorLogFormat指令:
        设置错误日志的格式;
    10>CustomLog指令:
          设置客户端的访问日志文件名以及日志格式,格式为:CustomLog 文件名 格式;
    11>LogFormat指令:
         描述用户日志文件格式,一般我们会为此指令设置的日志格式创建别名,然后通过CustomLog指令调用该日志格式别名;

 core_module (static)

           澳门新濠3559 6

 http_module (static)

         澳门新濠3559 7

#配置文件事例

  可以使用命令来修改这个值:
    ulimit -n 25535 只能暂时有效;
    默认情况下Apache编译进来了哪些模块:

MinSpareThreads    25 最少空闲线程数

     澳门新濠3559 8

# negotiated documents.  The MultiViews Option can be used for the

          Order Allow,Deny
          allow from all 允许所有;

DocumentRoot "/var/www/html"

        <IfDefine MemCache>
          LoadModule mem_cache_module modules/mod_mem_cache.so
        </IfDefine>

# MaxClients: maximum number of server processes allowed to start

3》启动服务,配置防火墙规则或关闭防火墙:
    service httpd restart
    iptables -I INPUT -p tcp --dport 80 -j ACCEPT
    service iptables save     

    Allow from all 格式:from IP

                        澳门新濠3559 9

KeepAlive Off

                httpd------->prefork ---->默认
     httpd.worker------->worker
     httpd.event-------->event
    如果使用简化安装的Apache,如何改变它的MPM工作模式?

二、详细配置

              真正提供httpd服务的程序的名字;

    AllowOverride None 表示下面这些控制机制是否被禁用;None表示不被禁用

3》为两个不同的虚拟主机创建各自的页面根目录:
    当访问这两个网站时,如果没有合法的DNS服务器,可以通过修改hosts文件来进行域名解析,如果需要进行基于IP 地址的虚拟主机,只需将*修改为固定的IP地址即可,多个虚拟主机需要使用多个VirtualHost封装;

# ThreadsPerChild: constant number of worker threads in each server process

       配置文件详情解析:Apache服务的主配置文件主要由指令以及容器组成,容器使用<容器名称>开始,以</容器名称>结尾,容器的指令一般仅在容器内有效:
    1>SeverRoot指令:
      设置软件的安装主目录,如果采用源码安装,则默认路径为/usr/local/apache2;
    2>Listen指令:
       设置服务器监听的IP以及端口号,默认监听服务器本机所有的IP地址的80端口,语法格式为:Listen[IP地址:]端口[协议],其中IP地址与协议为可选项,                    默认监听所有的IP ,使用TCP协议,一个配置文件可以多次使用Listen指令来开启多个端口;
    3>LoadModule指令:
      如果希望Apache动态加载模块,需要在编译Apache时通过enable-so将mod_so以静态方式编译到Apache核心模块中,此指令的作用就是加载模块,语法                 格式为:LoadModule 模块 模块文件名称,其中模块文件一般位于ServerRoot目录下的modules目录中;
    4>LoadFile指令:
      功能类似于上述指令,区别在于后者可以通过绝对路径加载modules目录下的模块文件;

#最佳匹配:从列表中找出最小的能匹配到访问者的地址的条目为最终是生效的

          MPM (multi process moudles): 多处理模块;
     Apache工作模式:
    进程池(prefork):适合动态页面,总是提前准备好进程等待访问者,一个进程对应一个web访问请求;
    线程池(worker,event):适合静态页面,比如先开启5个进程,每个进程里开启100线程,一个线程接待一个web访问请求;    

# MaxRequestsPerChild: maximum number of requests a server process serves

                澳门新濠3559 10

    # To enable requests to /~user/ to serve the user's public_html

          澳门新濠3559 11

[Linux]#httpd -M #可以查看系统所有装载模块

1》安装Apache软件:
    rpm 和 yum 安装:
  1> yum install httpd
    service httpd restart       

1、监听套接字

                           具体案例:
          Order deny,allow
          Deny from all 拒绝所有;

MaxRequestsPerChild  4000 每个子进程在生命周期内所能够服务的最多请求个数

         澳门新濠3559 12

#详细参考

    # prefork MPM
# StartServers: number of server processes to start
# MinSpareServers: minimum number of server processes which are kept spare
# MaxSpareServers: maximum number of server processes which are kept spare
# ServerLimit: maximum value for MaxClients for the lifetime of the server
# MaxClients: maximum number of server processes allowed to start
# MaxRequestsPerChild: maximum number of requests a server process serves
<IfModule prefork.c>
StartServers 8
MinSpareServers 5
MaxSpareServers 20
ServerLimit 256
MaxClients 256
MaxRequestsPerChild 4000
</IfModule>

<IfModule worker.c> 判断worker模块是否存在

              澳门新濠3559 13

# The Options directive is both complicated and important.  Please see 下述站点有配置详细说明

                  22>LocationMathch容器和VirtualHost容器:
        仅使用正则表达式来匹配URL,等同于使用了~符号匹配的Location;

ServerLimit      256 最大活动进程数

               澳门新濠3559 14

StartServers        4 启动的子进程的个数

 

5、配置站点根目录和页面属性

1》修改主配置文件:
    将主配置文件中的Include conf/extra/httpd-vhosts.conf语句开启,Include指令将会读取次配置文件的内容作为主配置文件的一部分,并且两个虚拟主机的端口     也应该不同,所以主配置文件应该监听两个端口;

# must have permissions of 711, ~userid/public_html must have permissions

            2>源码安装:
      ==下载软件包:
        
        
        

#

      ==安装软件:
        yum -y install gcc autoconf automake make pcre pcre-devel openssl openssl-devel

DirectoryIndex index.html index.html.var #自左而右依次查找

          Order Allow,Deny
          allow from 192.168.1.2 除此IP外拒绝所有;

    # UserDir is disabled by default since it can confirm the presence

               12>Include指令:
        允许Apache在主配置文件中加载其他的配置文件;
    13>Options指令:
       为特定目录设置选项,选项可以设置为None,代表不启用任何额外的功能,也可以使用如下常用选项:
        All:开启除MultiViews之外的所有选项;
        ExecCGI:允许执行Options指定目录下的所有CGI脚本;
        FollowSymlinks:允许Options指定目录下的文件链接到目录外的文件或目录;
        Indexes:如果与URL对应的Options目录下找不到DirectoryIndex指定的首页文档,则服务器将会把当前目录的所有文件索引出来;
    14>Order指令:
        控制默认访问状态以及Allow与Deny的次序,如果使用Order deny,allow,则先检查拒绝,再检查允许,当拒绝与允许有冲突时,允许优先,默认规则为                   允许;如果使用Order allow ,deny,则先检查允许,再检查拒绝,当允许与拒绝有冲突时,拒绝优先,默认规则为拒绝;

MaxClients      256 最多允许发起的请求的个数

 

  core.c

#

    1、全局配置

4、DSO模块的加载方式

# MaxSpareServers: maximum number of server processes which are kept spare

#KeepAlive On

6、定义默认主页面

# The index.html.var file (a type-map) is used to deliver content-

查看系统默认启用的模块

    UserDir disabled

State      Recv-Q Send-Q                    Local Address:Port                      Peer Address:Port

此指令可以出现多次;用于指定监听多个不同的套接字:

    2、有些指令可以重复出现多次

  http_core.c

# accessible to the webserver userid.  This usually means that ~userid

<IfModule mod_userdir.c>

LoadModule auth_digest_module modules/mod_auth_digest.so

# LoadModule foo_module modules/mod_foo.so

# symbolic links and aliases may be used to point to other locations.

MultiViews 允许使用mod_negotiation实现内容协商

2、配置使用Keep Alive

 auth_basic_module (shared)

#

MaxSpareServers  20 最大空闲进程数

  • 1
  • 2
  • 下一页

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                   

</IfModule>

#

# MinSpareServers: minimum number of server processes which are kept spare

# for more information.

[Linux]#vi /etc/sysconfig/httpd

ExecCGI 是否允许使用mod_cgi模块执行CGI脚本

[Linux]#ss -tnl

[Linux]#httpd -t

Reloading httpd:

  mod_so.c

</IfModule>

#

配置文件语法测试:{service httpd configtest | httpd -t}

Indexes 缺少默认页面时;允许将目录中的所有文件已列表形式返回给用户

Listen 8080

 auth_digest_module (shared)

配置文件格式:

KeepAliveTimeout 15 #超时时间

#

# one request per connection). Set to "Off" to deactivate.

CentOS 6.5编译安装httpd-2.4.7

权限说明

# It can be "All", "None", or any combination of the keywords:

#

Compiled in modules:

# documents. By default, all requests are taken from this directory, but

#

LISTEN    0      128                                  :::111                                  :::*

LoadModule authn_alias_module modules/mod_authn_alias.so

#

SymLinksIfOwnerMatch 在链接文件属主属组与原始文件的属主属组相同时;允许跟随符号链接所指向的原始文件

# KeepAlive: Whether or not to allow persistent connections (more than

 mpm_prefork_module (static)

#

    # permissions).

可以使用相对路径和绝对路径;相对路径则对于ServerRoot所定义的位置而言;

    Order allow,deny #默认deny;没有allow的都deny;可以写多条;自上而下匹配

#  Options FileInfo AuthConfig Limit

# StartServers: number of server processes to start

 authn_file_module (shared)

    1、配置指令不区分字符大小写;但是值有可能区分字符大小写

# MinSpareThreads: minimum number of worker threads which are kept spare

LISTEN    0      128                                  :::8080                                :::*

    # of a username on the system (depending on home directory

    # the following line instead:

# MaxSpareThreads: maximum number of worker threads which are kept spare

MaxSpareThreads    75 最大空闲线程数

</Directory>

# StartServers: initial number of server processes to start

# ServerLimit: maximum value for MaxClients for the lifetime of the server

基于主机的访问控制

worker 多个进程;一个进程崩溃会影响其下的其他线程

    3、虚拟主机:用于提供多个站点(和主机配置不能同时生效)

LoadModule auth_basic_module modules/mod_auth_basic.so

配置参数    值

None 所有都不启用

LoadModule module_name /path/to/module

# The path to the end user account 'public_html' directory must be

MinSpareServers    5 最少空闲进程数

    Options Indexes FollowSymLinks

MaxRequestsPerChild  0 每个子进程在生命周期内所能够服务的最多请求个数;0表示不做限定

# AllowOverride controls what directives may be placed in .htaccess files.

7、用户目录

Syntax OK

    #二者都匹配或二者都无匹配项时,则以后者为准;否则,则以匹配到的为准

MaxClients        300 并发请求的最大个数

#

prefork 稳定性较好,一个线程崩溃不会影响其他线程

[Linux]#service httpd reload

# MaxClients: maximum number of simultaneous client connections

一、配置文件和基本格式

# See also:

LoadModule authn_anon_module modules/mod_authn_anon.so

    disabled 禁止

[Linux]#vi /etc/httpd/conf/httpd.conf

    #

# same purpose, but it is much slower.

LISTEN    0      128                                  :::80                                  :::*

#

[Linux]#httpd -l

# MaxRequestsPerChild: maximum number of requests a server process serves

#

#Listen 12.34.56.78:80

FollowSymLinks 允许跟随符���链接所指向的原始文件;危险

# worker MPM

#HTTPD=/usr/sbin/httpd.worker #启用该项后重启httpd

#

LISTEN    0      128                        192.168.1.186:8082                                  *:*

LISTEN    0      128                                    *:111                                  *:*

配置文件路径:/etc/httpd/conf/httpd.conf

#

  prefork.c #默认启用prefork模块

#

    #UserDir public_html

#

DocumentRoot "/path/to/somewhere(站点路径)" #澳门新濠3559,格式

MaxKeepAliveRequests 100 #持久连接最大请求数

    Deny

</IfModule>

Listen 80

配置模块信息

#

# DocumentRoot: The directory out of which you will serve your

# prefork MPM

All 所有都启用

Loaded Modules:

#如需启用worker模块;需要更改配置文件

);这篇详细介绍下httpd-2.2的部分配置参数 CentOS 6.5编译安装httpd-2.4.7 一...

<IfModule prefork.c> 判断prefork模块是否存在

上一篇Web服务(一)HTTP基础详解详细介绍了http基础与httpd的安装(见  );这篇详细介绍下httpd-2.2的部分配置参数

ThreadsPerChild    25 每个子进程可生成的线程数

编辑:操作系统 本文来源:这篇详细介绍下httpd-2.2的部分配置参数,相关软

关键词: