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

[经验分享] apache httpd的安装和配置文件和其说明

[复制链接]

尚未签到

发表于 2018-11-21 06:38:43 | 显示全部楼层 |阅读模式
  A Patchy Server = apache 美国武装直升机

  ASF:阿帕奇软件基金会
  Tomcat   

  Hadoop :可以将数千台电脑组合起来完成一个任务

  www.apache.org
  apache是由httpd优化而来
  httpd:
  Web Server, 开源
  版本:2.2 ,2.4,2.0,1.3
  apache特性:
  事先创建进程
  按需维护创建适当的进程
  模块化设计,核心比较小,各种功能都模块添加(包括PHP)
  支持运行配置,支持单独编译模块
  支持多种方式的虚拟主机配置
  虚拟主机:
  物理服务器只有一个
  Web程序也只有一个
  却可以服务多个不同的站点
  虚拟主机:
  基于IP的虚拟主机
  基于端口的虚拟主机

  基于域名的虚拟主机
  #############################
  支持https协议
  支持用户认证
  支持基于IP或主机名的ACL
  支持每目录的访问控制
  支持URL重写
  ##############################
  安装: 源码编译安装必须掌握
     rpm包
     源码编译
  1、httpd:SELinux(事先让其让其处于permssive,disabled)
  方法:getenforce 看返回值  如果是inforcing

  执行setenforce 0 进行暂时关闭
  或:
  执行vim /etc/sysconfig/selinux =disabled永久关闭
  2、只需要装httpd
  进程在:
  /usr/sbin/httpd(MPM:prefork)
  服务脚本:
  /etc/rc.d/init.d/httpd
  port:(80/tcp),(ssl:443/tcp)
  工作根目录:相当于程序安装目录
  /etc/httpd
  主配置文件:
  /etc/httpd/conf/httpd.conf
  /etc/http/conf.d/*.conf
  模块目录:
  /etc/httpd/modules
  日志目录:
  /etc/httpd/logs ---> /var/log/httpd
  日志文件有两类,访问日志access_log,错误日志:err_log
  响应用户访问的页面储存在::
  /var/www/
  html:静态页面
  cgi-bin:动态页面
  cgi:能够让web服务器在必要的时候,启动另外一个应用程序去处理动态内容
  客户端 --> httpd (index.cgi) --> 发起一个跟cgi程序语言相关的进程处理index.cgi --> httpd --> 客户端
  

           客户端向服务器请求一个动态内容的时候,httpd发起一个跟cgi程序语言相关的进程处理index.cgi;然后再发给httpd ,httpd形成报文再发给客户端
  

     但是如何解决高并发多个用户去访问多个动态页面:
           让web服务器和动态应用程序服务器进程结合;他俩都创建很多空闲子进程;当有人发起动态请求的时候,web服务器只需要将请求交给一个空闲子进程去执行。这种机制叫fastcgi,这个进程再也不需要web服务器去启动和销毁了。它工作在套接字上。这样web服务器和动态服务器进程可以放在不同的主机上

         用户请求的是静态内容 web服务器直接返回。如果是动态页面,web通过tcp/IP发给另一台主机上的动态服务器进程。
  #################################################################
  动态服务器进程 和数据库 都是CPU密集型
  程序=指令+数据
  数据:数据库服务器
  用过数据很少,在本地创建一个文件就可以。如果很多就再专门准备一台数据库服务器。

  数据库层|应用程序层|web服务器层
  |        |          |
     MySQL      PHP        Apache

  \        |          /
               LAMP
      放在同一台服务器上也可以
                  |

  Hadoop 几千台机器协同工作,实现效率最大化
                  |

  如何让计算能力更高效,一定要榨干榨尽自己的CPU
  ################################################
  安装httpd
  1、yum -y install httpd
  2、rpm -ql httpd 看看安装了哪些
       /etc/httpd/conf/httpd.conf主配置文件
       /etc/httpd/conf/magic 定义如何解析非纯文本文档

       /etc/rc.d/init.d/httpd 服务脚本
                      /etc/rc.d/init.d/httpd 服务脚本的配置文件

       /usr/bin/ab 服务器压力性能测试
       /var/www 网页文件的存放路径
  3、service httpd start 启动
  4、nststat -tnlp | grep :80
  5、ps -aux | grep httpd 发现已经有很多空闲进程
  6、在网页上搜索自己虚拟机的IP会看到redhat设置的欢迎页面
  7、欢迎页面的配置文件在/etc/httpd/conf.d/welcome.conf
  8、默认网页路径在/var/www/html 路径下
  9、在8目录下创建a.html
  10、
          Hello world

           haha

            Welcome to our website
     
  11、不需要重启
  12、咱们去看看httpd的配置文件,首先复制一份,防止改错
  13、cp /etc/httpd/conf/httpd.conf  httpd.conf.bak
  14、这个配置文件分为三个段:
  Section 1 :全局环境

  Section 2 :主服务器配置

  Section 3 :虚拟主机
  第二和第三不能同时生效。默认2
  警号后面的都是注释信息,警号后面没有加空格的都是可以启用的选项
  指令不区分大小写,参数和路径严格区分大小写

  15、这个文件中的ServiceTokens OS 用于管理:当搜索不存在的页面,返回主机的信息等相关信息
  16、我们要将OS改为ServiceTokens Major
  17、安装httpd-manual这个包会自动生成一个配置文件
  /etc/httpd/conf.d/menu.conf

  重启服务

  18、搜索192.168.9.247/manual/即可查看帮助信息
  19、继续看配置文件:ServiceRoot服务器的根目录
  20、PidFile run/httpd.pid pid号的存放路径
  21、TimeOut 超时时间 根TCP相关
  22、KeepAlive 是否使用长链接 如果访问量不是特别大,就打开。不用每个链接都三次握手
  23、MaxKeepAliveRequests 长链接没有超时,但是限制你请求100个超过100个重新排队。

  24、KeepAliveTimeout 15 不做其他请求15秒自动断开,对于繁忙的服务器可以改低一点儿
  25、LoadRunner这个工具可以真是测试服务器运行情况

  26、继续:MPM 多道处理模块;定义apache在相应多个用户请求时候所工作的模型
  常见:
                    mpm_vinnt(window专业)
                      worker(一个进程下使用多个线程来响应用户请求)2.2资源消耗量非常的多,而且会有大量的进程切换;

  event (一个进程直接处理多个用户请求)2.4版本以后支持,这是最强大的
  prefork(Linux上预先建立进程):让进程直接去处理用户请求                  
         面试问:web服务器集中模型的区别                    
  27、httpd -l   列出当前服务器支持的模型
  28、显示没有装worker模型但是rpm -ql httpd | grep bin 可以看到/usr/sbin/httpd.worker有
  29、如果我们要使用worker这个模型要vim /etc/sysconfig/httpd  把路径改一改
  30、2.4版本再用event模型
  31、继续配置文件:
              
                StartServers   8 服务器一启动就要启动多少个空闲进程

                MinSpareServers 5 最少空闲5个进程
                MaxSpareServers 20 最大空闲进程

                ServerLimit    256 为MaxClients指定一个上限值 (前提把服务器关掉)
                MaxClients     256 最大客户端数;最多允许多少个用户同时连进来
                MaxRequestsPerChild 4000 每一个子进程最多响应多少次的用户请求

              

        ########################################

              

                 StartServers    2  默认启动多少个进程

                 MaxClients     150 最多允许多少个用户请求连进来

                 MinSpareThreads 25  最小空闲线程

                 MaxSpareThreads 75  最大空闲线程
                 ThreadsPerChild 25  一个进程最多生成多少个线程
                 MaxRequestsPerChild 0 每一个进程最多响应多少个请求   
  哪一个数值最适合你的模型需要测试
  Listen 80监听
  32、LoadModule :哪个模块不需要就注释掉
  33、Include conf.d/*.conf    conf.d下所有的文件都是主配置文件的组成部分
         再往下讲主服务段,和虚拟主机段      




运维网声明 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-637488-1-1.html 上篇帖子: Apache模块 mod_expires 下篇帖子: apache搭建完成测试PHP页面
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

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

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

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

扫描微信二维码查看详情

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


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


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


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



合作伙伴: 青云cloud

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