bingtuag 发表于 2018-11-18 13:31:42

apache基础

  一、apache配置
  ServerRoot "/etc/httpd"
  #你的apache软件安装的位置。其它指定的目录如果没有指定绝对路径,则目录是相对于该目录
  Listen 80
  #服务器监听的端口号
  Include conf.modules.d/*.conf
  #apache模块存放的路径
  User apache
  Group apache
  #apache默认执行用户及用户组
  ServerAdmin root@localhost
  #管理员的电子邮件,在错误页面会展示给用户
  ServerName 192.168.2.77:80
  #默认是不需要指定的,服务器通过名字解析过程来获得自己的名字。
  #可以把www.example.com:80修改为自己的域名或者直接修改为 localhost,也可以指定IP 地址,
  DocumentRoot "/var/www/html"
  #网页的目录
  

  

    DirectoryIndex index.html

#fModuole标签其作用是先检查当前模块是否已经加载,若已经加载,则标签中的配置有效,若没有加载,则标签中的配置无效。
#默认索引页面是index.html
  
AddDefaultCharset UTF-8
#设置编码类型
  

    MIMEMagicFile conf/magic

#通过读取部分文件内容自动猜测文件的MIME类型
#它被作为当mod_mime无法解析时,用来处理的"第二道防线"
#如果它被使用,会显著影响服务器的性能
EnableSendfile on
#使用操作系统内核的sendfile支持来将文件发送到客户端,
IncludeOptional conf.d/*.conf
  

  二、Directory标签配置介绍
  
      Options Indexes FollowSymLinks
      AllowOverride None
      Require all granted
  Order allow, deny
  
  使用和这对语句为主目录或虚拟目录设置权限,它们是一对容器语句,必须成对出现,它们之间封装的是具体 的设置目录权限语句,这些语句仅对被设置目录及其子目录起作用
  (1)Options
  Options选项用于定义目录使用哪些特性,包括Indexes、MultiViews和ExecCGI等
  Indexes 允许目录浏览,Apache以超文本形式返回目录中的文件和子目录列表
  MultiViews 允许内容协商的多重视图MultiViews其实是Apache的一个智能特性。当客户访问目录 中一个不存在的对象时,如访问“http://192.168.16.177/icons/a”,则Apache会查找这个目录下所有a.*文件。由于 icons目录下存在a.gif文件,因此Apache会将a.gif文件返回给客户,而不是返回出错信息
  All All包含了除MultiViews之外的所有特性,如果没有Options语句,默认为All
  ExecCGI 允许在该目录下执行CGI脚本
  FollowSymLinks 可以在该目录中使用符号连接(软连接)
  Includes 允许服务器端包含功能,准许SSI
  IncludesNoExec允许服务器端包含功能,但禁用执行CGI脚本
  SymLinksIfOwnerMatch    在该目录中仅仅跟踪本站点内的链接
  

  (2)AllowOverride None
  AllowOverride选项用于定义位于每个目录下.htaccess(访问控制)文件中的指令类型。基于安全和效率的原因,虽然可以通 过.htaccess来设置目录的访问权限,但应尽可能地避免使用.htaccess文件,所以一般将AllowOverride设置为”None”,即 禁止使用.htaccess文件,而将目录权限的设置放在主配置文件httpd.conf的
  (3)设置缺省的访问权限与Allow和Deny语句的处理顺序
  Order deny ,allow 先执行deny后执行allow,除了deny禁止,其他都可以访问
  例1:由于Allow语句覆盖了Deny语句,因此这3条语句是允许所有客户的访问
  Order deny ,allow
  Allow from 192.168.16.0/24
  Deny from 192.168.16.111
  例2:仅允许来自网络192.168.16.0/24客户机的访问,但IP地址为192.168.16.111的客户机除外
  Order allow,deny
  Allow from 192.168.16.0/24
  Deny from 192.168.16.111
  

  三、Files标签
  指令提供了基于文件名的访问控制,类似于和指令
  
      Require all denied
  
  

四、Location网络空间容器
下例中的配置会拒绝对任何以"/private"开头的URL路径的访问

Order Allow,Deny
Deny from all

当指令应该作用于文件系统时,总是用或;而当指令作用于不存在于文件系统的对象时,就用
  

  五、日志格式
  ErrorLog "logs/error_log"
  #错误日志存放路径
  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 "%h %l %u %t \"%r\" %>s %b \"%{Referer}i\" \"%{User-Agent}i\" %I %O" combinedio
     
      CustomLog "logs/access_log" combined
  
  #定义日志格式
  

  六、Alias,ScriptAlias映射
  
      ScriptAlias /cgi-bin/ "/var/www/cgi-bin/"
  
  #任何以/cgi-bin/开头的资源都将映射到/var/www/cgi-bin/目录中,且视之为CGI程序
  
      AllowOverride None
      Options None
      Require all granted
  
  #ScriptAlias和Alias都是映射,只是ScriptAlias映射的文件视为CGI程序
  

  七、MIME类型
  
      TypesConfig /etc/mime.types   #指定MIME类型映射文件
      AddType application/x-compress .Z
      AddType application/x-gzip .gz .tgz#增加.Z .tgz等类型映射
      AddType text/html .shtml
      AddOutputFilter INCLUDES .shtml
  
  #如果访问.mp4文件,apache将无法处理。 添加AddType video/mp4 mp4重启后就能够播放
  

  八、虚拟主机
  基于域名的虚拟主机
  NameVirtualHost *:80
  
  ServerName www.domain.tld
  ServerAlias domain.tld *.domain.tld
  DocumentRoot /www/domain
  
  基于IP的虚拟主机
  
    ServerName www.test1.com
    DocumentRoot /www/test1/
    
       Options Indexes FollowSymLinks
       AllowOverride None
       Order allow,deny
       Allow From All
    
  
  

  基于端口的虚拟主机
  Listen 8080
  
      DocumentRoot /var/www/test2
      ServerName www.test2.com
  
  

  九、代理服务器
  反向代理
  
  ServerAdmin test@test.com
  ServerName www.test.com
  ProxyRequests Off
  
  Order deny,allow
  Allow from all
  
  ProxyPass / http://192.168.2.2:8000/
  ProxyPa***everse / http://192.168.2.3:8000/
  
  

  正向代理
  
  ProxyRequests On
  
     Order deny,allow
     Deny from all
     Allow from all
  
  
   其中192.168.2.4:80 为代理服务器的ip地址和端口
  




页: [1]
查看完整版本: apache基础