apache note 日志 及详细设置
引:http://blog.csdn.net/btbtd/archive/2005/02/15/288027.aspx # apache note | Apache 学习笔记(心得) by Emerald 绿色学院 - Green Institute # 分类: # 01.常规设置 # 02.虚拟主机 # 03. + Alias # 04..htaccess # 05.Log # 06.URL Rewrite # 07.其他 ########01.常规设置 # Listen # 监听端口, 例: Listen 80 # ServerRoot # Apache 所在目录, 例: ServerRoot "C:/Program Files/Apache Group/Apache2" (WINDOWS) # ServerAdmin # 错误报告邮箱, 例: ServerAdmin btbtd@yahoo.com.cn # DocumentRoot # 站点根目录, 例: DocumentRoot "I:/gi-2288" # DirectoryIndex # 配置目录索引文件, # 例: DirectoryIndex index.php index.php3 index.html index.htm # ServerName # 服务器域名/IP地址, 例: ServerName gi.2288.org # DefaultLanguage # 为所有指令作用域范围内的文件设定某一特定的缺省语言 # 语法: DefaultLanguage MIME-lang, 例: DefaultLanguage zh-CN # AddDefaultCharset # 在没有进行指定字符集的情况下向回应中加入的默认字符集, 默认值: AddDefaultCharset Off # 例: AddDefaultCharset utf-8, 语法: 语法: AddDefaultCharset On|Off|字符集 # AddHandler # 在文件扩展名与特定的处理器间建立映射, 例: AddHandler cgi-script .cgi .pl # 语法: AddHandler handler-name extension # AccessFileName # 定义配置文件, 例: AccessFileName .htaccess # 当向客户端返回文档时,如果设置了此目录的发布配置文件功能。 # 服务器将在这个文档的各个路径中从名字列表中查找第一个存在的配置文件。 # Timeout # 超时时间, 例: Timeout 300 # TypesConfig # 指定mime.types文件的位置, 默认: TypesConfig conf/mime.types # DefaultType # DefaultType MIME类型, # 有时会发生这样的事:服务器会被要求提供一个文档,而这个文档的类型无法由它的MIME类型映射所决定。 # 服务器必须通知客户端其文档的内容类型。 # 所以当一个未知类型出现时,将会使用DefaultType。 # 例: DefaultType image/gif # HostnameLookups # 启用对客户端IP的DNS查找, 语法: HostnameLookups on|off|double # ErrorLog # 定位服务器存放错误日志的位置, 例: ErrorLog "G:/Apache/dummy-gi.2288.org.80-error_log" # LogLevel # 控制错误日志的级别, 默认值: LogLevel warn # emerg 紧急 - 系统无法使用。 # alert 必须立即采取措施。 # crit 致命情况。 # error 错误情况。 # warn 警告情况。 # notice 一般重要情况。 # info 普通信息。 # debug 出错级别信息 # CustomLog # 设定日志的文件名和格式, 默认: CustomLog logs/access.log common # ServerTokens # 配置服务器HTTP回应头, 默认: ServerTokens Full # ServerTokens Prod[uctOnly], 服务器会发送(比如说):Server:Apache # ServerTokens Major, 服务器会发送(比如说):Server:Apache/2 # ServerTokens Minor, 服务器会发送(比如说):Server:Apache/2.0 # ServerTokens Min[imal], 服务器会发送(比如说):Server:Apache/2.0.41 # ServerTokens OS, 服务器会发送(比如说):Server: Apache/2.0.41 (Unix) # ServerTokens Full (or not specified), # 服务器会发送(比如说):Server: Apache/2.0.41 (Unix) PHP/4.2.2 MyMod/1.2 # MaxSpareServers # 设置apache的最大空闲进程数 # 语法: MaxSpareServers number # 默认: MaxSpareServers 100 # 例: MaxSpareServers 1000 # MaxKeepAliveRequests # 设置每个连接的最大请求数 # 语法: MaxKeepAliveRequests number # 默认值: MaxKeepAliveRequests 100 # ServerSignature # 配置服务器生成页面的页脚, 默认值: ServerSignature Off # 语法: ServerSignature On|Off|EMail # 应用: # Listen 80 # ServerRoot "C:/Program Files/Apache Group/Apache2" # ServerAdmin btbtd@yahoo.com.cn # DocumentRoot "I:/gi-2288" # DirectoryIndex index.php index.php3 index.html index.htm # ServerName gi.2288.org # DefaultLanguage zh-CN # AddDefaultCharset utf-8 # AddDefaultCharset Off # AddHandler cgi-script .cgi .pl # AccessFileName .htaccess # Timeout 300 # TypesConfig conf/mime.types # ErrorLog "G:/Apache/dummy-gi.2288.org.80-error_log" # LogLevel warn # CustomLog logs/access.log common # ServerTokens Prod[uctOnly] # ServerSignature Off ########02. 虚拟主机 # Listen 80 # 设定监听端口 # NameVirtualHost 192.168.1.2:80 # 名字/端口型 虚拟主机 # # # 虚拟主机段 # ServerAdmin btbtd@yahoo.com.cn # 联系管理会用的信箱 # DocumentRoot "I:/gi-2288" # 站点根目录 # ServerName gi.2288.org # 域名 # ErrorLog "G:/Apache/dummy-gi.2288.org.80-error_log" # 错误日志 # 日志记录是好东西,注意查看日志记录 # ------------以上是虚拟主机内容 # 完整应用: # Listen 80 # NameVirtualHost 192.168.1.2:80 # # ServerAdmin btbtd@yahoo.com.cn # DocumentRoot "I:/gi-2288" # ServerName gi.2288.org # ########03. + Alias # 语法: ... # 封装一组指令,使之仅对具有某个名字的文件系统目录及其子目录起作用。 # 不允许目录浏览, 例: # Alias /document "J:/Document/" # # Options FollowSymLinks # AllowOverride none # Order allow,deny # Allow from all # # 允许目录浏览, 例: # Alias /document "J:/Document/" # # Options Indexes # AllowOverride none # Order allow,deny # Allow from all # # Allow & Deny # Allow和Deny指令可以允许或拒绝来自特定主机名或主机地址的访问, # 同时,Order指令告诉Apache处理这两个指令的顺序, 以改变过滤器。 # Allow # 允许所有地址的访问, 例: Allow from all # 只允许特定IP地址访问目录, 例: Allow from 205.252.46.165 # 只允许特定域名地址访问目录, 例: Allow from www.google.com # 只允许特定IP 段访问, 例: Allow from 10.10.10.0/255.255.0.0 # Deny # 拒绝所有地址访问目录, 例: Deny from all # 拒绝特定域名访问目录, 例: Deny from www.google.com # 拒绝特定IP访问目录, 例: Deny from 218.15.84.152 # 拒绝某个IP段访问目录, 例: Deny from 10.10.10.0/255.255.0.0 # Allow & Deny 混合使用 # 拒绝所有地址的访问, 但接受 Google 的访问, 例: # # Options FollowSymLinks # Order Deny, Allow # Deny from all # Allow from www.google.com # # 接受所有地址的访问, 但拒绝 Google 的访问, 例: # # Options FollowSymLinks # Order Deny, Allow # Deny from www.google.com # Allow from all # # Options # 语法: Options [+|-]可选项 [[+|-]可选项] ... # 配置在特定目录使用哪些特性, # Options指令控制了在特定目录中将使用哪些服务器特性。 # 可选项能设置为None,在这种情况下,将不启用任何额外特性。 # 或设置为以下选项中的一个或多个: # All, 除MultiViews之外的所有特性。这是默认设置。 # ExecCGI, 允许执行CGI脚本. # FollowSymLinks, 服务器会在此目录中使用符号连接。 # 注意:即便服务器会使用符号连接,但它不会改变用于匹配配置段的路径名。 # 注意:如果此配置位于配置段中,则此设置会被忽略。 # Includes, 允许服务器端包含。 # IncludesNOEXEC,允许服务器端包含,但禁用#exec命令和#exec CGI。 # 但仍可以从ScriptAliase目录使用#include 虚拟CGI脚本。 # Indexes, 如果一个映射到目录的URL被请求, # 而此目录中又没有DirectoryIndex(例如:index.html.zh-cn.gb2312), # 那么服务器会返回一个格式化后的目录列表。 # MultiViews,允许内容协商的多重视图。 # SymLinksIfOwnerMatch, 服务器仅在符号连接与其目的目录或文件拥有者具有同样的用户id时才使用它。 # 注意:如果此配置出现在配置段中,此选项将被忽略。 # AllowOverride # 语法: AllowOverride All|None|指令类型 [指令类型] ... # 说明: 允许存在于.htaccess文件中的指令类型 # 当服务器发现了一个.htaccess文件(由AccessFileName指定)时, # 它需要知道在这个文件中声明的哪些指令能覆盖在此之前指定的访问信息。 # AllowOverride仅在小节中才是有效的。在或小节中都是无效的。 # 如果此指令设置为None,那么.htaccess文件将被完全忽略。 # 在这种情况下,服务器甚至都不会试着从文件系统读取.htaccess文件。 # 当此指令设置为All时,所有具有.htaccess 上下文的指令都允许出现在.htaccess文件中。 ########4. .htaccess # 提示:允许使用 .htaccess 文件将会导致服务器性能的下降。 # 另外,每次请求一个页面时,都需要读取.htaccess文件。 # 开启 .htaccess 支持必须 这样设置 AllowOverride all, 例: # Alias /v "J:/pwd/" # # Options Indexes # AllowOverride all # Order allow,deny # Allow from all # # 如果网络站点上有些敏感信息或只希望为一个小群体所访问, # 这里介绍几个方法确保使用户只能访问允许被访问的资源。 # 通常在 段或针对单个目录的配置文件(.htaccess files)。 # 如果希望使用 .htaccess 文件, 则必须设置服务器以允许在这些文件中使用认证指令, # 即,用 AllowOverride 指令 指定哪些指令在针对单个目录的配置文件中有效。 # 用密码来保护服务器上的目录, 首先需要建立一个密码文件。 # 这个文件可以放在不能被网络访问的位置,以避免被下载, # 例如: G:\Apache 以外的空间不能被网络访问, # 那么可以考虑把密码文件放在 G:\Apached 目录中。 # Apache在其安装目录的 bin 子目录中提供了叫 htpasswd 的工具, # 以建立密码文件,可以这样使用: # (先切换到Apache 安装目录, 例: C:\Program Files\Apache Group\Apache2\bin) # 在命令行输入: htpasswd -c G:/Apache/passwords E # (这样就建立了一个用户 E, 具体按自己需要设置用户和密码) # 接着会要求你输入密码, 然后再输入一次,检验密码. # 这样在 G:\Apache\ 就多了一个 passwords 文件(没有后缀名) # Windows 下的话会用 MD5 加密密码. # 然后在要 设置权限的目录里建立一个 .htaccess 文件, # .htaccess 文件的内容是: # AuthType Basic # AuthName "Restricted Files" # AuthUserFile G:/Apache/passwords # Require user E # 演示页面: http://gi.2288.org:88/v # 用户: E 密码:testhtpasswd # 注: 目录必须允许 AllowOverride all ,这样 .htaccess 文件才能生效. ########5. Log # Apache 的日志文件可以提供非常多的信息, 很有必要了解这些日志 # C:\Program Files\Apache Group\Apache2\logs (Windows 中的日志文件存放处) # access.log(访问日志,了解客户端所访问的内容) & error.log(错误日志) # 自定义日志格式 # mod_log_config # 状态: Base # 说明: 将对服务器发起的请求记录到日志 # 默认: CustomLog logs/access.log common # 推荐设置: # CustomLog logs/access_log "%h %l %u %t "%r" %s %b "%{Referer}i" "%{User-Agent}i"" # LogFormat # 默认值: LogFormat "%h %l %u %t \"%r\" %>s %b" # 语法: LogFormat format|nickname [nickname] # 说明: 定义日志文件里的记录格式 # 例: LogFormat "%v %h %l %u %t \"%r\" %>s %b" vhost_common # CustomLog # 状态: Base # 语法: CustomLog file|pipe format|nickname [env=[!]environment-variable] # 说明: 设定日志的文件名和格式 # 例: CustomLog logs/access_log "%h %l %u %t \"%r\" %>s %b" # ErrorLog # 语法: ErrorLog 文件路径|syslog[:facility] # 默认值: ErrorLog logs/error_log (Unix) ErrorLog logs/error.log (Windows and OS/2) # 说明: 定位服务器存放错误日志的位置 # 例: ErrorLog "G:/Apache/dummy-gi.2288.org.88-error_log" # CookieLog # 语法: CookieLog filename # 说明: 设定针对cookies的日志文件名 # 模块: mod_log_config # RewriteLog # 语法: RewriteLog file-path # 说明: 设置重写引擎日志的文件名 # 模块: mod_rewrite # 例: RewriteLog "/usr/local/var/apache/logs/rewrite.log" (Unix/Linux) # RewriteLog "G:/Apache/rewrite.log" (Windows) # 一些常见的格式串如下所示: # 能用日志格式(CLF): "%h %l %u %t \"%r\" %>s %b" # 带虚拟主机的通用日志格式: "%v %h %l %u %t \"%r\" %>s %b" # NCSA扩展/组合日志格式: "%h %l %u %t \"%r\" %>s %b \"%{Referer}i\" \"%{User-agent}i\"" # Referer日志格式: "%{Referer}i -> %U" # Agent (Browser)日志格式: "%{User-agent}i" ########6.URL Rewrite # 注意:根据你的服务器配置,可能有必要对例子作些微修改, # 比如,新启用 mod_alias 和 mod_userdir 时要增加[PT]标志, # 或者重写 .htaccess 而不是单个服务器中的规则集。 # 对一个特定的规则集应该首先去理解而后再去用以避免出问题。 # 重写语法 # RewriteEngine on # RewriteRule ^/$ /www/ [R] # 一般重写方法 # 重写页面:http://gi.2288.org:88/modules/news/index.php # RewriteRule /modules/news/index.htm$ /modules/news/index.php # 完成页面: http://gi.2288.org:88/modules/news/index.htm # 重写页面: http://gi.2288.org:88/modules/news/index.php?storytopic=2 # RewriteRule /modules/news/topic_(.*)\.htm$ /modules/news/index.php?storytopic=$1 # 完成页面: http://gi.2288.org:88/modules/news/topic_2.htm # 重写页面:http://gi.2288.org:88/index.php?storytopic=2start=10 # RewriteRule /topic(.*)-(.*)\.htm$ /index.php?storytopic=$1&start=$2 # 完成页面: http://gi.2288.org:88/topic2-2.htm # 注: 每增加一个重写ID,必须累加$1 # 比如页面: http://gi.2288.org:88/ct=2x=10y=20 # 可以这样重写: # RewriteRule /ct(.*)-(.*)-(.*)\.htm$ /ct=$1x=$2y=$3 # 效果: http://gi.2288.org:88/ct2-10-20.htm # 移动宿主目录到不同的网站服务器 # 说明: # 通常,许多网管在建立一个新的网站服务器时,都会有这样的要求: # 重定向一个网站服务器上的所有宿主目录到另一个网站服务器 # 方案: # 很简单,用mod_rewrite。在老的网站服务器上重定向所有的URL # /~user/anypath到http://newserver/~user/anypath。 # RewriteEngine on # RewriteRule ^/~(.+) http://newserver/~$1 [R,L] # 依赖于浏览器的内容 # 说明: # 至少对重要的顶级页面,有时候有必要提供依赖于浏览器的最佳的内容, # 即对最新的Netscape提供最大化的版本,对Lynx提供最小化的版本, # 而对其他的浏览器则提供一个功能一般的版本。 # 方案: # 对此,内容协商无能为力,因为浏览器不提供其那种形式的类型, # 所以只能在HTTP头"User-Agent"上想办法。 # 以下规则集可以完成这个操作: # 如果HTTP头"User-Agent"以"Mozilla/3"开头, # 则页面foo.html 被重写为foo.NS.html ,而后重写操作终止; # 如果是"Lynx"或者版本号为1和2的"Mozilla",则重写为foo.20.html ; # 而其他所有的浏览器收到的页面则是foo.32.html : # RewriteCond %{HTTP_USER_AGENT} ^Mozilla/3.* # RewriteRule ^foo\.html$ foo.NS [L] # RewriteCond %{HTTP_USER_AGENT} ^Lynx/.* [OR] # RewriteCond %{HTTP_USER_AGENT} ^Mozilla/[12].* # RewriteRule ^foo\ $ foo.20 [L] # RewriteRule ^foo\ $ foo.32 [L] # 阻止Robots # 说明: # 如何阻止一个完全匿名的robot取得特定网络区域的页面? # 一个/robots.txt文件可以包含若干"Robot Exclusion Protocol(robot排除协议)"的行, # 但不足以阻止此类robot。 # 方案: # 可以用一个规则集以拒绝对网络区域/~quux/foo/arc/ # (对一个很深的目录区域进行列表可能会使服务器产生很大的负载)的访问。 # 还必须确保仅阻止特定的robot,就是说,仅仅阻止robot访问主机是不够的, # 这样会同时也阻止了用户访问该主机。为此,就需要对HTTP头的User-Agent信息作匹配。 # RewriteCond %{HTTP_USER_AGENT} ^NameOfBadRobot.* # RewriteCond %{REMOTE_ADDR} ^123\.45\.67\.[8-9]$ # RewriteRule ^/~quux/foo/arc/.+ - [F] # 防止盗链图片 # 说明: # 假设,http://gi.2288.org:88/myalbum/有一些内嵌图片的页面, # 这些图片很好,所以就有人用超链连到他们自己的页面中了。 # 由于这样徒然增加了我们的服务器的流量,因此,我们不愿意这种事情发生。 # 方案: # 虽然,我们不能100%地保护这些图片不被写入别人的页面, # 但至少可以对发出HTTP Referer头的浏览器加以限制。 # RewriteCond %{HTTP_REFERER} !^$ # RewriteCond %{HTTP_REFERER} !^http://gi.2288.org:88/myalbum/.*$ [NC] # RewriteRule .*\.gif$ - [F] # RewriteCond %{HTTP_REFERER} !^$ # RewriteCond %{HTTP_REFERER} !.*/foo-with-gif\.html$ # RewriteRule ^inlined-in-foo\.gif$ - [F] ########7.其他 # 禁止盗链 # SetEnvIfNoCase Referer "^http://gi.2288.org:88/" local_ref=1 # # Order Allow,Deny # Allow from env=local_ref # # 加载 PHP 5 # LoadModule php5_module c:\php\php5apache2.dll # #AddModule mod_php4.c # AddType application/x-httpd-php .php # ScriptAlias /php/ "c:/php/" # AddType application/x-httpd-php .php # Action application/x-httpd-php "/php/php-cgi.exe" # 以服务方式运行Apache for Windows # 你可以像下面这样将Apache安装为Windows NT服务:apache -i -n "服务名" # 要安装一个使用特定配置的服务,安装时指定配置文件: # apache -i -n "服务名" -f "\my server\conf\my.conf" # 要移除一个Apache服务,使用: apache -u -n "服务名" # 注: 如果没有指定服务名,缺省地,将使用"Apache"。 # 一旦服务被安装,你可以使用-n选项和其他选项一起访问该服务的配置文件。 # 例如:测试一个服务的配置文件:apache -n "服务名" -t # 启动一个使用某服务配置文件的控制台Apache:apache -n "服务名" # 控制服务方式的Apache # 启动、重启及关闭/停止Apache服务: # apache -n "服务名" -k start # apache -n "服务名" -k restart # apache -n "服务名" -k shutdown # apache -n "服务名" -k stop # 或使用NT本机命令NET来启动和停止Apache服务,像这样: # NET START "服务名" # NET STOP "服务名"
相关推荐
这个函数用于向Apache服务器的日志文件记录错误信息。在调试和排查问题时,这是必不可少的工具。 6. `ap_create_request()` `ap_create_request()` 用于创建一个新的HTTP请求结构,这对于模拟请求或进行中间件操作...
6. `apache_note`:获取或设置Apache请求日志中的笔记,这对于记录特定请求的自定义信息很有帮助。 7. `apache_request_headers` 和 `getallheaders`:这两个函数用于获取HTTP请求头,可以用来检查客户端浏览器的...
`RELEASE_NOTE.txt` 文件通常记录了软件版本的更新日志,包括新功能、改进和已知问题等,对于开发者来说是了解新版本变化的重要参考资料。 `src` 文件夹包含了 ECharts 的源代码,分为多个模块,如核心图表渲染、...
【标题】"Centos mod_jk.so 文件"指的是在CentOS操作系统中,Apache HTTP服务器用于与Tomcat应用服务器集成的模块——mod_jk.so。...通过详细阅读note.txt并按照指南操作,可以成功地设置一个高效的Web服务环境。
Hadoop是Apache软件基金会的一个开源项目,它提供了一个分布式文件系统(HDFS)和一个并行计算框架(MapReduce),为大数据处理提供了强大的支持。这个名为“hadoop_note.zip”的压缩包,很可能是包含了一份关于...
- `apache_note`:读取或设置Apache请求日志记录。 - `apache_request_headers` 和 `getallheaders`:获取HTTP请求头信息。 - `apache_response_headers`:获取HTTP响应头信息。 - `apache_reset_timeout`:重置...
面向切面编程则允许开发者将关注点分离,如日志、事务管理等,使得代码更加整洁,主业务逻辑更清晰。 Struts是SSH中的MVC(Model-View-Controller)框架,主要负责处理Web请求和控制应用流程。它将用户界面、业务...
2. **AOP(面向切面编程)**:Spring 3支持基于代理的AOP和基于注解的AOP,允许开发者定义横切关注点,如日志、事务管理等,实现代码的模块化。 3. **注解驱动开发**:Spring 3大大扩展了注解的应用,例如`@...
下面将详细讲解这些操作的具体步骤和相关知识点。 1. **增加操作(Insert)** 在代码中,`insert`方法实现了向数据库中插入新的记录。首先,创建了一个SQL语句,使用了`PreparedStatement`来防止SQL注入,并设置...
Apache Flume 是一个分布式、可靠且可用于有效收集、聚合和移动大量日志数据的系统。在这个资源包"logs_flume.rar"中,包含了与使用 Flume 进行日志收集相关的配置文件和代码,配合 ...
在这个例子中,虽然具体许可证类型未明确提及,但通常开源Jenkins插件遵循Apache 2.0、MIT或GPL等许可,这允许自由使用、修改和分发源代码。 **Java开发背景** 由于标签标注为"Java",我们可以推断这个插件是用...
侵略者脚本用于 3.0+ 的 Aggressor 脚本apache-style-weblog-output.cna - 将博客点击输出到 Cobalt Strike 工作目录中名为 weblog.log 的类似 Apache 的访问日志文件beacon_to_empire.cna - 利用RESTful API 从 ...
一个基于Spring依赖注入特性的二级插件的模型,里面主要封装了如下特性:数据库连接池(常用的4-5个)、分页查询(oracle,mysql,sql... Note:如果要改成Oracle的话需要去Apache官方下载一个叫Common-DBUtil.jar的包
具体更新内容需要查看官方发布的 changelog 或 release note 来获取详细信息。 总的来说,Kafka Manager 1.3.3.13 是一款强大的 Kafka 集群管理工具,它简化了日常运维工作,提升了 Kafka 环境的稳定性和效率。通过...
- **`apache_note()`**:向Apache的日志中添加一个注释条目。这在调试代码或记录重要的运行时间信息时非常有用。 - **`apache_request_headers()`**:返回一个关联数组,包含了客户端发送到服务器的所有请求头。这...
- `apache_note`:获取或设置Apache服务器请求日志的条目。 - `getallheaders`:获取所有HTTP头部的值。 - `virtual`:执行Apache服务器的子请求(sub-request)。 这些函数专门针对Apache服务器,如果Web...
以下是对文档内容的详细解析: 1. **系统安装**: - 系统平台:CentOS 7.5 - 系统版本:CentOS 1805 - 语言选择:简体中文 - 软件选择:选择带GUI的服务器,并确保安装了系统管理工具 2. **前期准备**: - ...
此外,压缩包中包含的note.txt文件可能包含了关于此版本的重要注释、更新日志或者开发者需要注意的事项。这些信息对于理解apr-util-1.6.1版本的新特性、修复的bug或潜在的问题至关重要。 在实际应用中,apr-util库...
11. **单元测试和持续集成**:使用PHPUnit进行单元测试,以及设置持续集成(CI/CD)流程,确保代码质量和稳定性。 12. **项目部署和优化**:Nginx或Apache的配置,PHP-FPM的使用,以及如何优化服务器性能,如缓存...