设为首页 收藏本站
查看: 3359|回复: 0

[经验分享] Apache之IHS相关配置

[复制链接]
累计签到:1 天
连续签到:1 天
发表于 2015-6-12 08:17:39 | 显示全部楼层 |阅读模式
一、相关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

生产上
[WYWEB01]:/home/was/was61/HTTPServer/bin>./apachectl -l
Compiled in modules:
  core.c
  worker.c
  http_core.c
  mod_suexec.c
  mod_so.c


配置模块信息
<IfModule worker.c>
ThreadLimit          100   --> 200
ServerLimit           120  --> 20/45
StartServers          10
MaxClients          12000 --> 4000/9000
MinSpareThreads      100  --> 400
MaxSpareThreads      300 --> 600
ThreadsPerChild      100    --> 200
MaxRequestsPerChild  0
</IfModule>


# 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的限制后,子进程将会结束

<IfModule worker.c>
ThreadLimit          200
ServerLimit          45
StartServers          10
MaxClients          9000
MinSpareThreads      400
MaxSpareThreads      600
ThreadsPerChild      200
MaxRequestsPerChild  0
</IfModule>

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 #可以查看系统所有装载模块

[WYWEB01]:/home/was/was61/HTTPServer/bin>./apachectl -D DUMP_MODULES

[WYWEB01]:/home/was/was61/HTTPServer/bin>./apachectl –M

2.5、指定站点根目录                 DocumentRoot"/path/to/somewhere"

生产上
DocumentRoot "/home/was/was61/HTTPServer/htdocs"

2.6、站点路径访问控制基于本地文件系统路径
                      <Directory"/path/to/somewhere">
                      </Directory>
eg:
<Directory "/home/was/was61/HTTPServer/icons">
    Options none
    AllowOverride None
    Order allow,deny
    Allow from all
</Directory>

<Directory "/home/was/was61/HTTPServer/htdocs">
    Options none
    AllowOverride None
    Order allow,deny
    Allow from all
</Directory>

<Directory "/home/was/was61/HTTPServer/htdocs/default">
    Options none
    AllowOverride None
    Order allow,deny
    Allow from all
</Directory>

基于URL访问路径做访问控制
                      <Location"/path/to/URL">
                      </Location>  
eg:
#<Location /server-info>
#    SetHandler server-info
#    Order deny,allow
#    Deny from all
#    Allow from .example.com
#</Location>

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
                 <pre>

                 </pre>

                 FastCGI: 协议

2.13、基于用户访问控制           用户认证:
                 基本认证: Basic
                 摘要认证:digest

           虚拟用户:仅用于访问某服务或获取某资源的凭证;
                 文本文件:.htpasswd
                 SQL数据库
                 dbm: 数据库引擎,提供API
                 ldap: 轻量级目录访问协议

           authenticationprovider: 账号和密码的存储机制;
                 authn

           authorization provider:授权

           案例:基于文件做访问控制
           (1) 基于用户进行认证
                 <Directory"/var/www/html/admin">
                      Options none
                      AllowOverride AuthConfig
                      AuthType Basic
                      AuthName "Admin Area."
                      #AuthBasicProvider file
                      AuthUserFile /etc/httpd/conf/.htpasswd
                      Require valid-user
                 </Directory>

                      Requirevalid-user: 文件中所有用户均可访问
                      Require userUSERNAME, ...

           (2) 提供认证文件
                 htpasswd
                      -c: 如果此文件事先不存在,则创建;注意,只能在创建第一个用户时使用;
                      -m:以md5的格式编码存储用户的密码信息
                      -D:删除指定用户

           (3) 组认证
                 <Directory"/var/www/html/admin">
                      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
                 </Directory>            

                 组文件:
                      组名:user1 user2 user3

2.14、虚拟主机       虚拟主机:使用不同访问路径
虚拟主机是使用特殊的软硬件技术,把一台真实的物理电脑主机分割成多个的逻辑单元,每个单元都没有物理实体,但是每一个物理单元都能像真实的物理主机一样在网络上工作,具有单独的IP地址(或共享的IP地址)以及完整的Internet服务器功能。

                 基于端口
                 基于IP
                 基于主机名

           (1) 使用虚拟的前提:取消主服务器
                 注释主服务器的站点根路径指定:DocumentRoot

           (2) 定义虚拟主机
                 NameVirtualHostIP:PORT //基于主机名

                 <VirtualHostIP:PORT>
                      ServerName
                      DocumentRoot
                      ServerAlias
                      ErrorLog
                      CustomLog
                 </VirtualHost>

           配置文件语法检查:
                 httpd -t
                 service httpdconfigtest

                 配置示例:
                      <VirtualHost172.16.100.7:80>
                          ServerName www.mageedu.com
                          DocumentRoot "/web/hosta"
                      </VirtualHost>

                      <VirtualHost172.16.100.8:80>
                          ServerName www.mageedu.com
                          DocumentRoot "/web/hostb"
                      </VirtualHost>

                      <VirtualHost172.16.100.8:8080>
                          ServerName www.mageedu.com
                          DocumentRoot "/web/hostc"
                      </VirtualHost>


           测试:elinks
                 -dump: 获取到页面数据后直接退出进程;
eg: elinks [-dump] www.mageedu.com

eg:
用VI编辑httpd.conf文件,增加虚拟主机,格式如下:
<VirtualHost *:端口号>
     DocumentRoot/home/was/was61/HTTPServer/htdocs/成员行主页目录/
</VirtualHost>
注:端口号必须和上面的监听端口号一致,成员行主页目录下须有相关主页内容。

<VirtualHost *:8101>
     DocumentRoot
/home/was/was61/HTTPServer/htdocs/tianjinbh/
     RewriteEngine on
     RewriteCond %{REQUEST_METHOD}^TRACE
     RewriteRule .* -[F]
     RewriteCond%{REQUEST_METHOD} ^TRACK
     RewriteRule .* -[F]
     RewriteCond%{REQUEST_METHOD} ^OPTIONS
     RewriteRule .* -[F]
</VirtualHost>


运维网声明 1、欢迎大家加入本站运维交流群:群②:261659950 群⑤:202807635 群⑦870801961 群⑧679858003
2、本站所有主题由该帖子作者发表,该帖子作者与运维网享有帖子相关版权
3、所有作品的著作权均归原作者享有,请您和我们一样尊重他人的著作权等合法权益。如果您对作品感到满意,请购买正版
4、禁止制作、复制、发布和传播具有反动、淫秽、色情、暴力、凶杀等内容的信息,一经发现立即删除。若您因此触犯法律,一切后果自负,我们对此不承担任何责任
5、所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其内容的准确性、可靠性、正当性、安全性、合法性等负责,亦不承担任何法律责任
6、所有作品仅供您个人学习、研究或欣赏,不得用于商业或者其他用途,否则,一切后果均由您自己承担,我们对此不承担任何法律责任
7、如涉及侵犯版权等问题,请您及时通知我们,我们将立即采取措施予以解决
8、联系人Email:admin@iyunv.com 网址:www.yunweiku.com

所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其承担任何法律责任,如涉及侵犯版权等问题,请您及时通知我们,我们将立即处理,联系人Email:kefu@iyunv.com,QQ:1061981298 本贴地址:https://www.yunweiku.com/thread-76366-1-1.html 上篇帖子: http2.2常用配置(虚拟主机,访问控制,压缩,缓存,压力测试) 下篇帖子: 安装apache2虚拟主机并支持ssl(debian)
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

扫码加入运维网微信交流群X

扫码加入运维网微信交流群

扫描二维码加入运维网微信交流群,最新一手资源尽在官方微信交流群!快快加入我们吧...

扫描微信二维码查看详情

客服E-mail:kefu@iyunv.com 客服QQ:1061981298


QQ群⑦:运维网交流群⑦ QQ群⑧:运维网交流群⑧ k8s群:运维网kubernetes交流群


提醒:禁止发布任何违反国家法律、法规的言论与图片等内容;本站内容均来自个人观点与网络等信息,非本站认同之观点.


本站大部分资源是网友从网上搜集分享而来,其版权均归原作者及其网站所有,我们尊重他人的合法权益,如有内容侵犯您的合法权益,请及时与我们联系进行核实删除!



合作伙伴: 青云cloud

快速回复 返回顶部 返回列表