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

[经验分享] web服务_apache配置(2)v1.0

[复制链接]

尚未签到

发表于 2018-11-19 10:43:31 | 显示全部楼层 |阅读模式
  
httpd-2.2的基础配置
      
       /etc/httpd:ServerRoot
              conf/httpd.conf、conf.d/*.conf:配置文件
              logs:日志文件
              modules:模块文件
            
       主配置文件:/etc/httpd/conf/httpd.conf
              directive value
                     directive:不区分字符大小写;例如:ServerRoot;
                     value:除了文件路径这外,大多数不区分字符大小写;
                           
              ### Section 1: Global Environment                     全局配置段
              ### Section 2: 'Main' server configuration              主服务配置选项
              ### Section 3: Virtual Hosts                                   虚拟主机配置段
一般而言只用一个主服务配置或多个虚拟主机 (互斥选项 主服务和虚拟服务不能同时生效)
                    
              修改后生效:
                     Reload                     service httpd reload (CentOS 6)
                     restart:通常仅修改了监听的地址和端口;
***********************************
]# httpd -t               语法检查
***********************************            
       1、修改监听的地址端口;
              Listen [IP:]PORT
                     (1) 可定义多次;
                            Listen 80
                            Listen 8080
                     (2) 省略IP,表示0.0.0.0; 本机配置的所有地址
                           
       2、持久连接
              persistent connection:tcp连接建立后,资源获取完成不会断开连接,而是继续等待请求其它资源;
                     如何断开?
                            数量限制
                            时间限制
                           
                     相关指令:
                            KeepAlive On|Off              是否开启持久链接功能 默认off
                            MaxKeepAliveRequests 100              一次链接最多能请求多少个资源
                            KeepAliveTimeout 15                     一次联建最多存活多少秒
                                 
              请求测试:
                     ]$ telnet SERVER_IP PORT              root无法用terlnet
                     GET /test1.html HTTP/1.1            请求资源方法 资源url  及指定协议版本 http
                     Host: SERVER_IP                            主机ip地址
              相应报文首部:      
                     HTTP/1.1 200 OK                            相应码 200
                     Date: Tue, 14 Jun 2016 06:04:36 GMT       时间
                     Server: Apache/2.2.15 (CentOS)              服务器端程序
                     Last-Modified: Tue, 14 Jun 2016 03:34:43 GMT 标记请求资源最后修改的时间
                     ETag: "60102-10-53534af955806"      
                     Accept-Ranges: bytes
                     Content-Length: 16              响应报文长度
                     Connection: close            
                     Content-Type: text/html; charset=UTF-8              资源类型和字符集
                           
                            test1.html page                     (相应body)
                            Connection closed by foreign host.       (非持久链接 相应后既关闭连接)
                           
       3、MPM 定义httpd进程基于哪种某型相应用户请求
              multipath processing module:多路处理模块;
                    
                     httpd-2.2的MPM机制不支持DSO机制,event为测试;
                            httpd:prefork
                            httpd.worker: worker
                            httpd.event: event
                     修改启动的模块:       restart生效
                            /etc/sysconfig/httpd
                            HTTPD=/usr/sbin/httpd|httpd.worker|httpd.event
                                 
                     查看httpd程序的模块列表:
                            查看静态编译的模块:
                                   httpd -l
                            查看编译的所有模块:
                                   httpd -M
                                          *****************************************
当使用profork模型时,主进程会预先生成几个空闲的子进程等待相应用户请求
                            MPM配置:
                                   prefork的配置            
                                          
                                          StartServers       8       预先生成的子进程数量
                                          MinSpareServers    5       最小空闲子进程
                                          MaxSpareServers   20       最大空闲子进程
                                          ServerLimit      256       相应用户请求的最大服务器进程数量
                                          MaxClients       256       最大客户端数量
                                          MaxRequestsPerChild  4000            
                                                      
                           
                                   worker的配置: 三级结构
                                          
                                          StartServers         4              启动子进程数量
                                          MaxClients         300       最大并发连接数(线程)
                                          MinSpareThreads     25       最少空闲线程数
                                          MaxSpareThreads     75       最大空闲线程数
                                          ThreadsPerChild     25  每一个子进程最大启动多少个线程
                                          MaxRequestsPerChild  0每一个字进程最多能接受多少个请求(基于线程模型无法控制)
                                                                                    80, 500ms, 256
                            512*86400/80=55W PV       每个相应在500ms内完成 最大并发为256 一秒钟能相应512个 平均每天86400 除以每个页面的资源数量 80 得每天能相应的页面数量 (不代表高峰数据且不考虑带宽 实际意义不大)
                                   Page View
                            UV: User View 有效用户
                                   *****************************************
       4、DSO 动态模块装载
              LoadModule指令
                     LoadModule  Mod_Name  modules/Module_File.so
                           
              相对路径,是相对于ServerRoot指令所定义的路径而言;
                    
       5、       ‘Main' Server 主web服务配置段
      通常来讲,这两个配置段没有的指令会从主配置段继承配置,主服务器配置和虚拟服务器配置不可同时生效:
    (1)'Main'Server配置段(在单台服务器上存在单个站点提供服务)
        定义服务器和主机必不可少的:
          ServerName FQDN:PORT   主服务器在主配置段里定义也可以(试验中在本机定义后,还要编辑/etc/hosts添加ip地址和FQDN对应关系才能在本机浏览器打开)
           DocumentRoot (路径映射)

6.站点资源访问控制 (可以在主配置文件或虚拟主机中生效)
    (1)基于文件系统 (2.2默认都可以访问 2.4默认不能访问)
     (针对文件夹做操作,配置内容只对该文件夹有效)
    ...
   
     ...              (针对文件,只对容器内生效)
      ...              (针对被正则匹配的文件)
    (2)基于url路径              
     ...(对url访问控制)
     ... (url的正则表达式)   
   目录中的常用选项:
        
      [1] Options:用于定义资源的展示方式;后跟以空白字符分隔的“选项”列表;
       Indexes Includes FollowSymLinks SymLinksifOwnerMatch ExecCGI MultiViews None All
        Indexes:允许索引;
        FollowSymLinks:允许跟踪符号链接; (允许指定的文件或路径是以软连接的形式存在,风险很大)
        SymLinksifOwnerMatch          (原理同上,但文件或目录属主(运行httpd的用户)必须是符合要求,相比followsyslinks风险较小)
       ExecCGI:允许执行CGI脚本;      (早期CGI可以有超级superID权限,除非网页用到此功能,否则尽量不开启)
       Includes:包含            略
        如果一个站点没有主页又没有允许Indexes则显示403,但如果有其他url还是可以访问的.
   
      [2] AllowOverride [none|all|Fileinfo|authconfig|limit](用来控制哪些指令可以放在.htaccess中)
         httpd允许在网页文档的各目录下使用.htaccess文件实现单目录资源的访问控制;表示哪此指令可以存放于.htaccess文件中;
         比如/data/web/目录下有.htaccess则编辑此文件则可实现访问控制,如果使用服务器性能急剧下降(必须搜索到此文件.当前目录没有则搜索上级目录)
   
      [3]order和llow/deny from (控制谁能在当前服务器获得资源)
           基于IP地址的访问控制;
            order 用于定义allow和deny的生效次序;
            allow from all/IP/NETWORK/FQDN
            deny from  all/IP/NETWORK/FQDN
             来源地址格式:
             IP
             NetAddr:格式;
                    172.16;
                    172.16.0.0;
                    172.16.0.0/16;
                    172.16.0.0/255.255.0.0;
             FQDN
              DAMAIN
    order * , *(谁在后谁是默认法则)
        order deny,allow;deny是默认法则,没有说明allow的都是不允许的(安全)
        order allow, deny (如果没有deny的,都是allow(默认))-->>来源请求遵循最佳匹配法则机制;
[table]
1

2

3

        oeder allow,deny          #deny为默认法则
        deny from 172.16.100.67       #不允许这个地址
        allow from 172.16         #允许这个网段
    deny和allow的次序是没有区别的(非order第一行),最优匹配法则:当一个主机访问时,看哪一条能最小匹配,哪一个就优先生效(172.16.100.67最小匹配deny,所以deny生效)

1

2

3

4

        oeder allow,deny          #deny为默认法则
        deny from 172.16.100.67      #不允许这个地址
        allow from 172.16         #允许这个网段
        deny from all                      #172.16.1.1最小匹配allow from 172.16s所以可以访问
  7.定义站点主页面
     DirectoryIndex index.html index.html.var
        可以多个值 自作而有搜索,如果没有查看是否options indexes返回索引列表,如果没有则返回403
8.定义路径别名:
      Alias  /URL/  "/PATH/TO/SOME_DIR/" (URL只是个定义.并不一定非要是目录)
     例:  DocumentRoot "/data/web"
     当访问http://www.zxtest.com/images/logo.jpg

运维网声明 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-636918-1-1.html 上篇帖子: web服务_apache基础 下篇帖子: web服务_apache配置(3)v1.0
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

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

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

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

扫描微信二维码查看详情

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


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


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


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



合作伙伴: 青云cloud

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