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

[经验分享] Apache(HTTP)服务相关知识总结(一)

[复制链接]

尚未签到

发表于 2018-11-22 10:29:24 | 显示全部楼层 |阅读模式
Apache简介:

    Apache是一款著名的web服务器的软件。它是实现HTTP协议 的一个工具,而httpd则是Apache超文本传输协议服务器的主程序。

下面我来说说Apache的配置文件(非常重要)

1, 配置文件总体分为3个部分:

        Section1: Global Environment

            功能: 控制Apache服务器进程的全局操作的

        Section2:  'Main' server configuration

            功能: 提供主服务器(默认为主服务器)的配置

        Section3:  Virtual Hosts

            功能: 提供虚拟服务器配置的

    注意:默认状态下,主服务器启用,主服务器和虚拟服务器不能同时启用,需要启用虚拟服务器则先关闭主服务器。



2,Section1段的主要内容:

    ServerTokens  OS

    功能:显示Apache的版本和操作系统的名称

    serverRoot    "/etc/httpd"

    功能:设置服务器的根目录为/etc/httpd

    PidFile    run/httpd.pid (注意:此处为相对路径,绝对路径前面要加/etc/httpd)

    功能:指定Apache服务器进程的进程号文件存放的位置为:/etc/httpd/run/httpd.pid

    Timeout    300

    功能:    指定连接超时间隔为300s

    Keeplive Off

    功能:    设置是否允许持久连接,Off为不允许持久连接,且默认一次请求只能传输一个文件。

    MaxKeepAliveRequest     100

    功能:    设置一次持久连接最多接受的请求数为100,0则表示无限制

    KeepAliveTimeout    15

    功能:    表示 一次持久连接的超时时间为15s

    (服务器池)


  
  StartServers       8   //服务器开启时,启动的服务器子进程为8个
  MinSpareServers    5    //最小空闲服务器子进程为5个
  MaxSpareServers   20    //最大空闲服务器子进程为20个
  ServerLimit      256    //允许服务器进程数最多为256个
  MaxClients       256    //允许同时相应的客户端数为256个
  MaxRequestsPerChild  4000  //允许一个服务器子进程最多相应的服务请求数为4000个
  
  

  Listen 80    功能: 设置监听端口为80端口,且可以设置如下:IP:80这样的形式,指明那个IP的80端口
  

  3,Section2段的主要内容如下:

   User Apache

          Group AApche

  功能:    提供Apache运行时的身份及所属属组分别为用户:Apache  基本组:Apache

  ServerAdmin  root@localhost
  功能:    设置Apache的服务器管理员的邮箱

  ServerName {IP|域名}:80    // 如果此处为域名则需要DNS服务器的支持

  功能:    设置Apache默认站点的名称和端口号

  UseCanonicalName Off

  功能:    设置是否使用规范名称。当值为Off时,表示使用客户端提供的主机名和端口号

  当值为On时,表示使用ServerName 设置的值

  DocumentRoot "/var/www/html"

  功能:    设置默认web站点的文档根目录,网站上的页面文件都是存放在此根目录下的

  
              Options FollowSymLinks
              AllowOverride None
          
  功能:    根目录的访问控制,表示要对文件系统的目录进行限制
  

  
  Options Indexes FollowSymLinks   //允许跟随符号连接,其中Indexes的含义是,如果要访问的页面文档不存在,则显示文档根目录下的文件目录清单
  AllowOverride None   //不允许覆盖当前配置,也就是不处理.htaccess文件
   Order allow,deny    //访问控制的顺序,先allow后deny
  Allow from all    // 允许所有主机访问
  
  功能:对文档根目录的访问控制      

  

  
              UserDir disabled
           
  功能:默认禁用个人主页,而UserDir disable则是开放个人主页面

  AccessFileName .htaccess

  功能:    指明每个目录中访问控制文件的名称为.htaccess

  HostnameLookups Off

  功能:    设置在日志中记录的是客户的名称还是IP地址,Off则记录IP地址,On则记录名称

   ErrorLog    Logs/error_log

  功能:    指定错误日志的存放位置

  LogLevel    warn

  功能:    指定日志记录的基本为警告

  CustomLog    logs/access_log combined

  功能:    指定访问日志的位置及类型

  日志的格式
  %h: 客户端地址
  %l: 远程登录名,通常为-
  %u: 认证时输入用户名,没有认证时为-
  %t: 服务器收到 用户请求时的时间
  %r:请求报名的起始行
  %>s: 响应状态码
  %b: 响应报文的长度,单位是字节
  %{HEADER_NAME}i: 记录指定首部对应的值
  

  ServerSignature    On

  功能:    在服务器产生的页面中增加一行,显示内容为;服务器的版本和虚拟主机的名称

  Alias /icons/ "/var/www/icons/"
  功能:    定义/icons/  为/var/www/icons的别名,

  ScriptAlias /cgi-bin/ "/var/www/cgi-bin/"
  功能:    定义脚本别名,即将/cgi-bin/ 是 /var/www/cgi-bin/的别名

  IndexOptions FancyIndexing VersionSort NameWidth=* HTMLTable Charset=UTF-8
  功能:    设置自动生成目录列表的显示方式,

  FancyIndexing  // 对每种类型的文件前加一个小图标加以区别
  VersionSort    // 对同一个软件的多个版本进行排序
  NameWidth=*    // 文件名字段自动适应当前目录下的最长文件名
  

   AddDefaultCharset UTF-8
  功能:字符集的设置,默认设置为UTF-8

  

  
  #    SetHandler server-status
  #    Order deny,allow
  #    Deny from all
  #    Allow from .example.com
  #
  功能:    设置Apache可以报告详细的服务器状态信息。

  

  Section3:主要说虚拟机主机的配置:

  主要有3种,基于IP的虚拟主机,基于端口的虚拟主机,基于名字的虚拟主机。

  虚拟主机不能和主服务器同时开启,所有要注释掉虚拟主机
  注释主服务器的站点根路径指定:DocumentRoot
  

   定义虚拟主机
  NameVirtualHost IP:PORT
  
  ServerName      服务名称
  DocumentRoot     根目录
  ServerAlias       服务别名
  ErrorLog        错误日志
  CustomLog        访问日志
  
  大体上,Apache的配置文件就以上这么多啦,当然还有一些没有介绍,相比而言写出来的重要些而已。
  

  基于端口号的虚拟主机
  首先,要先把默认的服务器的DocumentRoot注释掉,且要多指定一个端口例如:8080端口
DSC0000.png

  然后就可以编辑虚拟主机的内容啦:(内容有点简单,日志文件没写而已)
DSC0001.png

  然后测试文件语法 httpd -t  或者 service httpd configtest
  然后service httpd restart (修改端口号要重启服务的)
  测试如下:
DSC0002.png

  

DSC0003.png

  

  再来看看基于IP的虚拟主机的实现:配置文件如下:
DSC0004.png

  我们只需把端口都改为80端口,而IP地址则不能一样
DSC0005.png

  

DSC0006.png

  最后我们常用的是基于主机名称的实现,要想基于主机名,首先我们要能解析出主机的IP地址,要能解析主机名的IP地址,就需要DNS服务,所以配置好DNS服务器是前提,在这里,我们只需在已经配置好的DNS服务器的解析库文件中,/etc/hosts 文件中添加也行,
  配置文件:

DSC0007.png

  测试语法
  重启服务
DSC0008.png

DSC0009.png

  

  以上3种虚拟主机的建立就这样啦,这里顺便说下,我用的虚拟机,做基于主机名称虚拟主机的时候,我改的不是虚拟机的/etc/hosts,我改的是我的window本机的C盘/windows/system32/drivers/etc/hosts文件,在这个文件内添加如下内容即可:
  192.168.0.102  www1.stu14.com

  192.168.0.102  www2,stu14.com
  

  以上就是HTTP服务的配置文件的详解以及如何去创建虚拟主机。
  





运维网声明 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-638117-1-1.html 上篇帖子: apache使用详解 下篇帖子: Apache HTTP Server 2.4版本的源码安装配置及实现
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

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

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

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

扫描微信二维码查看详情

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


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


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


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



合作伙伴: 青云cloud

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