首页 > 学院 > 网络通信 > 正文

AdministeringApache读书笔记

2019-11-04 20:51:15
字体:
来源:转载
供稿:网友

  modules -> Functions
  安装与配置apache
  ###########################################################################################
  获取apache
  
  从http://www.apache.org获取apache 2.0.44
  
  安装apache
  ------------------------------
  使用APACI配置apache的安装:
  ./configura
  常用选项:
  --help #可以查看所有的可用选项
  --prefix=<PATH> #指定安装目录
  --enable-module = <xxxallmost> #xxx为名字为mod_xxx.c的模块
  --disable-module = xxx #xxx为名字为mod_xxx.c的模块
  --enable-shared = <xxxmax> #起用DSO(Dynamic Share Object),需要mod_so.c的支持
  
  开始安装
  -------------------------------------------------------------------
  make
  make install
  oks
  
  与php 4.3.1 的集成
  -------------------------------------------------------------------
  ---/configure --with-apxs2=/usr/local/apache2/bin/apxs <假如想安装mysql的话 --with-mysql=/usr/local/mysql >
  make
  make install
  
  配置apache
  -------------------------------------------------------------------
  apache的主要配置文件:
  httpd.conf
  srm.conf
  access.conf
  mime.types
  magic
  
  编辑httpd.conf
  基本指令:
  ServerType #为standalone或者是inetd
  ServerRoot #apache的安装目录,默认为/usr/local/apache
  LockFile #服务器串行模式的加锁文件位置,一般不需要改动
  PidFile #记录服务器运行时的pid的文件路径
  ResourceConfig #资源文件所在,让srm.conf为空,则httpd.conf的相关值生效
  AccessConfig #访问权限文件的所在路径
  LoadModule #加载模块
  AddModule #加载模块的顺序
  Port #监听端口,默认为80
  ServerAdmin #治理员信箱
  ServerName #服务器名称
  DocumentRoot #站点文件所在路径
  
  测试配置是否正确
  -------------------------------------------------------------------
  apachectl configtest
  
  启动apache
  -------------------------------------------------------------------
  apachectl start 或者 httpd -k start
  
  重起apache
  -------------------------------------------------------------------
  apachectl graceful 或者 httpd -k graceful
  
  停止apache
  -------------------------------------------------------------------
  apachectl stop 或者 httpd -k stop
  
  创建web site
  ###########################################################################################
  
  apache默认的用户和组为为apache
  将站点的目录和文件的权限赋予apache
  find /usr/local/apache/ -exec chown apache {}find /usr/local/apache/ chgrp apache {}find /usr/local/apache/ -type -d chmod 755 {}find /usr/local/apache/ -type -f chmod 640 {} 给适当的文件适当的权限是一个治理员的责任所在。
  
  内容处理
  ###########################################################################################
  
  目录内容处理
  -------------------------------------------------------------------
  DirectoryIndex index.htm index.Html #默认文挡
  当默认文档不存在,且<Directory>Options中Indexes生效时:
  HeaderName #页面题头文件
  ReadmeName #页面页尾文件
  IndexIgnore #隐藏文件规则
  IndexOptions #控制目录列表的外观
  
  目录其他
  -------------------------------------------------------------------
  Alias /path/ "/<path>/" #别名定义
  
  配置MIME(multipropuse internet mail extend PRotocol)
  -------------------------------------------------------------------
  因为不常会修改,只做浏览
  AddHandler
  SetHandler send-as-is # 按原状发送
  
  配置CGI(comment gateway interface)
  -------------------------------------------------------------------
  <Directory>Options +ExecCGI #以答应使用CGI
  
  SetHandler cgi-script #设定CGI脚本类型
  
  配置SSI
  -------------------------------------------------------------------
  因为apache方面的性能专家Dean Gaudet不鼓励使用SSI,所以我只是浏览了一下,没有具体地记录下来
  
  使用日志
  ###########################################################################################
  -------------------------------------------------------------------
  LogLevel <emergalertcritwarnnoticeinfodebug> 简略-->具体 严重-->稍微
  ErrorLog <pathpipesyslog>
  日志发送到文件:ErrorLog /var/www/log
  日志发送到syslog:ErrorLog syslog:local <1-7> 默认为local 7
  日志发送给管道:ErrorLog "/usr/local/apache/bin/errordb insert"
  
  日志传输
  -------------------------------------------------------------------
  文档传送日志告诉你服务器在与谁交互,交互什么,是什么时候交互,同哪里交互TransferLog用法类似ErrorLog
  
  自定义日志格式
  -------------------------------------------------------------------
  LogFormat
  %a client ip
  %A server ip
  %b 响应http标头以外的字节数
  %{eviron}e 以eviron命名的变量的值
  %f 被请求文件的路径
  %h client hostname
  %{reqheader}i 名字为reheader的标头的值
  %l client的系统环境,IdentifyCheck为On且内容协商成功
  %{modnote}n 名字为 modnote的短信的值
  %p server port
  %P server PID
  %r 请求的第一行,包括URLmodth
  %s 原始响应信息
  %>s 返回浏览器的响应状态
  %t 请求的发生时间[18/Nov?1999:13:02:58-0600]
  %{timefmt}t 定义时间的显示格式,因为基本不需要修改,所以省略了...
  %T 处理请求的秒数
  %u 请求用户的登陆名
  %U 被请求的URL,不包括参数
  %v server name
  %V 根据UseCanonicalName得到服务器名称
  
  通用日志的默认格式等价于
  LogFormat "%h %l %u %t /" %r /" %>s %b"
  
  LogFormat "%401u" #记录未认证的用户名
  
  apache 预先定义了四种日志的格式:<combinedcommonrefereragent>
  
  CustomLog
  -------------------------------------------------------------------
  CoustomLog "/var/logs/httpd/access_logs" env = myCheck #否定为 env =! myCheck
  
  SetEnvIf <Remote_AddrRemote_hostRemote_userRequest_MethodRequest_protocolRequest_URL> "condition" VarName
  
  只要检查属性中符合Condition,就定义名字为VarName的变量
  
  condition为unix中的正则表达式(Regular EXPression),可以查看man regex获取具体资料
  
  LogFormat CustomLog 由mod_log_config.c提供<默认>
  
  SentEnvIf mod_setenvif.c提供<默认>
  
  CookieTracking CookieName CookieExpires
  -------------------------------------------------------------------
  由mod_usertrack.c提供<非默认>
  <IfModule mod_usertrack>
  CookieTracking <onoff>
  CookieName myCookie
  </IfModule>
  CookieExpires 600 #也可以用 CookieExpires "3 weeks 2 days 4 hours 22 seconds"
  注重CookieExpires不可以在<Directory>中,该选项为全局
  
  AllowOverride
  -------------------------------------------------------------------
  All 答应.htaccess覆盖httpd.conf中的所有目录设置
  Authconfig 答应覆盖认证指令AuthName AuthType AuthUserFile AuthGroupFile 等
  FileInfo 答应覆盖目录存取文件设置AddEncodeing AddLanguage AddType CookieTracking CookieName等
  Indexes 答应覆盖目录索引设置
  Limit 答应覆盖allow deny order require
  None 不答应覆盖httpd.conf中的所有目录设置
  Options 答应覆盖Options的设置
  
  例子:用户单击流事件,引用记录,代理记录
  
  虚拟主机
  ###########################################################################################
  
  基于IP的虚拟主机
  -------------------------------------------------------------------
  <VirtualHost 202.119.219.28>
  ServerName www.njfu.edu.cn
  ServerAdmin nico@njfu.edu.cn
  DocumentRoot /var/www/
  ServerAlias njfu.edu.cn
  </VirtualHost>
  
  基于域名的


发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表