q6542125 发表于 2018-11-21 10:31:38

Apache之IHS相关配置

一、相关web配置文件
  /home/was/was61/HTTPServer/bin
  ./apachetl start
  /home/was/was61/HTTPServer/conf/httpd.conf
  /home/was/was61/HTTPServer/Plugins/config/webserver1/plugin-cfg.xml
  
  
二、httpd的配置文件说明
  more /home/was/was61/HTTPServer/conf/httpd.conf
  
2.1、持久连接
  PidFile logs/httpd.pid
  
  Timeout 150
  KeepAlive On
  MaxKeepAliveRequests 1000//持久连接最大请求数
  KeepAliveTimeout 10   --> 5   //超时时间
  
2.2、MPM参数
  多道处理模块MPM,查看系统默认启用的模块
  # httpd –l
  Compiled in modules:
core.c
        prefork.c#默认启用prefork模块
        httpd_core.c
        mod_so.c
  
  生产上
  :/home/was/was61/HTTPServer/bin>./apachectl -l
  Compiled in modules:
  core.c
  worker.c
  http_core.c
  mod_suexec.c
  mod_so.c
  
  配置模块信息
  
  ThreadLimit          100   --> 200
  ServerLimit         120--> 20/45
  StartServers          10
  MaxClients          12000 --> 4000/9000
  MinSpareThreads      100--> 400
  MaxSpareThreads      300 --> 600
  ThreadsPerChild      100    --> 200
  MaxRequestsPerChild0
  
  
  
  # ThreadLimit: maximum setting of ThreadsPerChild
  每个子进程建立的常驻的执行线程数的最大值,即ThreadsPerChild的最大值
  
  # ServerLimit: maximum setting of StartServers   
   服务器启动时建立的子进程数的最大值,即StartServers的最大值
  
  # StartServers: initial number of server processes to start
  服务器启动时建立的子进程数
  
  # MaxClients: maximum number of simultaneous client connections
  允许同时伺服的最大接入请求数量(最大线程数量),ServerLimit*ThreadsPerChild。要增加MaxClients,必须增加ServerLimit的值。
  
  # MinSpareThreads: minimum number of worker threads which are keptspare
  最小空闲线程数,这个MPM将基于整个服务器监视空闲线程数。如果服务器中总的空闲线程数太少,子进程将产生新的空闲线程
  
  # MaxSpareThreads: maximum number of worker threads which are keptspare
   最大空闲线程数,这个MPM将基于整个服务器监视空闲线程数。如果服务器中总的空闲线程数太多,子进程将杀死多余的空闲线程。 MaxSpareThreads的取值范围是有限制的。Apache将按照如下限制自动修正你设置的值:worker要求其大于等于 MinSpareThreads加上ThreadsPerChild的和
  
  # ThreadsPerChild: constant number of worker threads in each serverprocess
   每个子进程建立的常驻的执行线程数
  
  # MaxRequestsPerChild: maximum number of requests a server processserves
  每个子进程在生命周期内所能够服务的最多请求的个数(0表示不做限定),到达MaxRequestsPerChild的限制后,子进程将会结束
  
  
  ThreadLimit          200
  ServerLimit          45
  StartServers          10
  MaxClients          9000
  MinSpareThreads      400
  MaxSpareThreads      600
  ThreadsPerChild      200
  MaxRequestsPerChild0
  
  
2.3、配置监听端口
进入/home/was/was61/HTTPServer/conf目录,用VI编辑httpd.conf文件,增加监听端口号,格式为“Listen 端口号”。注:端口号需要网络组事先分配好,并且不能重复。

  
2.4、DSO机制装载的模块
显示:# httpd -DDUMP_MODULES
  
           LoadModule Module_Name/path/to/Module_File   
     可以使用相对路径和绝对路径;相对路径则对于ServerRoot所定义的未知而言;
     修改了需要重启服务service httpdrestart
                 
        httpd -M #可以查看系统所有装载模块
  
  :/home/was/was61/HTTPServer/bin>./apachectl -D DUMP_MODULES
  

  :/home/was/was61/HTTPServer/bin>./apachectl –M
  
2.5、指定站点根目录
                 DocumentRoot"/path/to/somewhere"
  
  生产上
  DocumentRoot "/home/was/was61/HTTPServer/htdocs"
  
2.6、站点路径访问控制
  基于本地文件系统路径
                       
                       
  eg:
  
      Options none
      AllowOverride None
      Order allow,deny
      Allow from all
  
  
  
      Options none
      AllowOverride None
      Order allow,deny
      Allow from all
  
  
  
      Options none
      AllowOverride None
      Order allow,deny
      Allow from all
  
  
  基于URL访问路径做访问控制
                       
                          
  eg:
  #
  #    SetHandler server-info
  #    Order deny,allow
  #    Deny from all
  #    Allow from .example.com
  #
  
2.7、于Directory中可用的访问控制
  (1) Options
         Indexes: 当访问的路径下无默认的主页面,将所有资源以列表形式呈现给用户;危险,慎用;
         FollowSymlinks: 跳跃符号链接
  
  (2) AllowOverride
         支持在每个页面目录下创建.htaccess用于实现对此目录中资源访问时的访问控制功能。
  
2.8、基于IP做访问控制
                 Order allow,deny
                 Deny from172.16.100.17
               Allow from 172.16.0.0/16
  
2.9、定义默认的主页面
               DirectoryIndex
  
  
                    from后面能接受的地址格式:
                          IP, Network Address
                          网络地址格式较为灵活:
                                172.16
                                172.16.0.0
                                172.16.0.0/16
                                172.16.0.0/255.255.0.0
  
2.10、配置日志功能
               ErrorLog "/path/to/error_log"
             LogLevel{debug|info|notice|warn|error|crit|alert|emerg}
  
               LogFormat
               CustomLog "/path/to/access_log" LogFormat_Name
  
                    %h: 客户端地址
                    %l: 远程登录名,通常为-
                    %u: 认证时输入用户名,没有认证时为-
                    %t: 服务器收到用户请求时的时间
                    %r:请求报名的起始行
                    %>s: 响应状态码
                    %b: 响应报文的长度,单位是字节
                    %{HEADER_NAME}i: 记录指定首部对应的值
  
  eg:
  LogLevel warn
  LogFormat "%h %l %u %t \"%r\" %>s %b\"%{Referer}i\" \"%{User-Agent}i\"" combined
  LogFormat "%h %l %u %t \"%r\" %>s %b" common
  LogFormat "%{Referer}i -> %U" referer
  LogFormat "%{User-agent}i" agent
  ErrorLog "|/home/was/was61/HTTPServer/bin/rotatelogs/home/was/was61/HTTPServer/logs/error_log.%y%m%d%H 86400 +480"
  TransferLog "|/home/was/was61/HTTPServer/bin/rotatelogs/home/was/was61/HTTPServer/logs/access_log.%y%m%d%H 86400 +480"
  
2.11、路径别名
      站点根目录:/www/html
      http://www.magedu.com/images/logo/new.gif
      此文件位置:/www/html/images/logo/new.gif
  
      实现URL路径的映射,从而所访问的资源不再依赖于站点根目录;
Alias /URL/"/path/to/somewhere/"
     eg:Alias /icons/"/home/was/was61/HTTPServer/icons/"
  
  
2.12、CGI脚本
           CGI脚本路径别名
     CGI动态网关接口
           /var/www/cgi-bin/
                 http://server/cgi-bin/
  
           bash写CGI脚本:
                 所有文本都使用命令输出:echo, printf, cat
                 执行程序:命令引用
                 Content-Type:text/html
                 
  
                 
  
                 FastCGI: 协议
  
2.13、基于用户访问控制
           用户认证:
                 基本认证: Basic
                 摘要认证:digest
  
           虚拟用户:仅用于访问某服务或获取某资源的凭证;
                 文本文件:.htpasswd
                 SQL数据库
                 dbm: 数据库引擎,提供API
                 ldap: 轻量级目录访问协议
  
           authenticationprovider: 账号和密码的存储机制;
                 authn
  
           authorization provider:授权
  
           案例:基于文件做访问控制
           (1) 基于用户进行认证
                 
                        Options none
                        AllowOverride AuthConfig
                        AuthType Basic
                        AuthName "Admin Area."
                        #AuthBasicProvider file
                        AuthUserFile /etc/httpd/conf/.htpasswd
                        Require valid-user
                 
  
                        Requirevalid-user: 文件中所有用户均可访问
                        Require userUSERNAME, ...
  
           (2) 提供认证文件
                 htpasswd
                        -c: 如果此文件事先不存在,则创建;注意,只能在创建第一个用户时使用;
                        -m:以md5的格式编码存储用户的密码信息
                        -D:删除指定用户
  
           (3) 组认证
                 
                        Options none
                        AllowOverride AuthConfig
                        AuthType Basic
                        AuthName "Admin Area."
                        #AuthBasicProvider file
                        AuthUserFile /etc/httpd/conf/.htpasswd
                        AuthGroupFile /etc/httpd/conf/.htgroup
                        Require group GROUP_NAME
                             
  
                 组文件:
                        组名:user1 user2 user3
  
2.14、虚拟主机
         虚拟主机:使用不同访问路径
虚拟主机是使用特殊的软硬件技术,把一台真实的物理电脑主机分割成多个的逻辑单元,每个单元都没有物理实体,但是每一个物理单元都能像真实的物理主机一样在网络上工作,具有单独的IP地址(或共享的IP地址)以及完整的Internet服务器功能。

                 基于端口
                 基于IP
                 基于主机名
     
           (1) 使用虚拟的前提:取消主服务器
                 注释主服务器的站点根路径指定:DocumentRoot
  
           (2) 定义虚拟主机
                 NameVirtualHostIP:PORT //基于主机名
  
                 
                        ServerName
                        DocumentRoot
                        ServerAlias
                        ErrorLog
                        CustomLog
                 
  
           配置文件语法检查:
                 httpd -t
                 service httpdconfigtest
  
                 配置示例:
                       
                          ServerName www.mageedu.com
                          DocumentRoot "/web/hosta"
                       
  
                       
                          ServerName www.mageedu.com
                          DocumentRoot "/web/hostb"
                       
  
                       
                          ServerName www.mageedu.com
                          DocumentRoot "/web/hostc"
                       
  
  
           测试:elinks
                 -dump: 获取到页面数据后直接退出进程;
  eg: elinks [-dump] www.mageedu.com
  
  eg:
  用VI编辑httpd.conf文件,增加虚拟主机,格式如下:
  
     DocumentRoot/home/was/was61/HTTPServer/htdocs/成员行主页目录/
  
  注:端口号必须和上面的监听端口号一致,成员行主页目录下须有相关主页内容。
  
  
     DocumentRoot
  /home/was/was61/HTTPServer/htdocs/tianjinbh/
     RewriteEngine on
     RewriteCond %{REQUEST_METHOD}^TRACE
     RewriteRule .* -
     RewriteCond%{REQUEST_METHOD} ^TRACK
     RewriteRule .* -
     RewriteCond%{REQUEST_METHOD} ^OPTIONS
     RewriteRule .* -
  
  




页: [1]
查看完整版本: Apache之IHS相关配置