apache日志文件太大按日期/指定生成日志文件

指定apache日志每天生成一个文件

Linux系统配置方法

在apache的配置文件httpd.conf中找到

代码如下
1 ErrorLog logs/error_log

CustomLog logs/access_log common
2 将其改为
3 ErrorLog “| /usr/local/apache/bin/rotatelogs /home/logs/www/%Y_%m_%d_error_log 86400 480”

CustomLog “| /usr/local/apache/bin/rotatelogs /home/logs/www/%Y_%m_%d_access_log 86400 480” common
Windows系统下配置方法:

在apache的配置文件httpd.conf中找到

代码如下
1 ErrorLog logs/error_log

CustomLog logs/access_log common
2 将其改为
3 ErrorLog “|c:/apache/bin/rotatelogs.exe c:/apache/logs/error_%Y_%m_%d.log 86400 480”

CustomLog “|c:/apache/bin/rotatelogs.exe c:/apache/logs/access_%Y_%m_%d.log 86400 480” common
其中c:/apache/是你安装apache的路径

指定apache日志生成大小

代码如下
1 # 限制错误日志文件为 1M

ErrorLog “|bin/rotatelogs.exe -l logs/error-%Y-%m-%d.log 1M”

# 每天生成一个错误日志文件

#ErrorLog “|bin/rotatelogs.exe -l logs/error-%Y-%m-%d.log 86400″

# 限制访问日志文件为 1M

CustomLog “|bin/rotatelogs.exe -l logs/access-%Y-%m-%d.log 1M” common

# 每天生成一个访问日志文件

#CustomLog “|bin/rotatelogs.exe -l logs/access-%Y-%m-%d.log 86400″ common

补充:apache日志记录格式的设置

定制日志文件的格式涉及到两个指令,即LogFormat指令和CustomLog指令,默认httpd.conf文件提供了关于这两个指令的几个示例。
LogFormat指令定义格式并为格式指定一个名字,以后我们就可以直接引用这个名字。CustomLog指令设置日志文件,并指明日志文件所用的格式(通常通过格式的名字)。
LogFormat指令的功能是定义日志格式并为它指定一个名字。例如,在默认的httpd.conf文件中,我们可以找到下面这行代码:

代码如下
1 LogFormat “%h %l %u %t “%r” %>s %b” common

该指令创建了一种名为“common”的日志格式,日志的格式在双引号包围的内容中指定。格式字符串中的每一个变量代表着一项特定的信息,这些信息按照格式串规定的次序写入到日志文件。
Apache文档已经给出了所有可用于格式串的变量及其含义,下面是其译文:
%…a: 远程IP地址
%…A: 本地IP地址
%…B: 已发送的字节数,不包含HTTP头
%…b: CLF格式的已发送字节数量,不包含HTTP头。例如当没有发送数据时,写入‘-’而不是0。
%…{FOOBAR}e: 环境变量FOOBAR的内容
%…f: 文件名字
%…h: 远程主机
%…H 请求的协议
%…{Foobar}i: Foobar的内容,发送给服务器的请求的标头行。
%…l: 远程登录名字(来自identd,如提供的话)
%…m 请求的方法
%…{Foobar}n: 来自另外一个模块的注解“Foobar”的内容
%…{Foobar}o: Foobar的内容,应答的标头行
%…p: 服务器响应请求时使用的端口
%…P: 响应请求的子进程ID。
%…q 查询字符串(如果存在查询字符串,则包含“?”后面的部分;否则,它是一个空字符串。)
%…r: 请求的第一行
%…s: 状态。对于进行内部重定向的请求,这是指*原来*请求 的状态。如果用%…>s,则是指后来的请求。
%…t: 以公共日志时间格式表示的时间(或称为标准英文格式)
%…{format}t: 以指定格式format表示的时间
%…T: 为响应请求而耗费的时间,以秒计
%…u: 远程用户(来自auth;如果返回状态(%s)是401则可能是伪造的)
%…U: 用户所请求的URL路径
%…v: 响应请求的服务器的ServerName
%…V: 依照UseCanonicalName设置得到的服务器名字

好了到了这里我们的就介绍完了关于日志按日期与文件指定大小生成文件了,算是非常的完美了希望对各位有帮助,同时小编建义直接给每个站点生成一个日志而不要在conf文件中指定所有网站都生成在一个目录了,因为分开来好分析日志哦。

Apache HTTP Server 2.2.34 最终维护版

The Apache HTTP Server Project announces the release of version 2.2.34, the final release of the Apache httpd 2.2 series. This version will be the last release of the 2.2 legacy branch. (Version number 2.2.33 was not released.)

The Apache HTTP Server Project has long committed to providing maintenance releases of the 2.2.x flavor through June of 2017, and may continue to publish some security source code patches beyond this date through December of 2017. No further maintenance patches nor releases of 2.2.x are anticipated. Any final security patches will be published to www.apache.org/dist/httpd/patches/apply_to_2.2.34/

Download

Apache2配置FastCGI(mod-fcgid)

Debian下为Apache2配置FastCGI(mod-fcgid),PHP5,Perl,Python,ROR
本文主要介绍在Debian/Etch版本下将Apache对PHP/Perl/Python/Ruby On Rails的支持,由单独的apache模块统一改为FastCGI支持,对全新安装Apache也可作参考

注意:如果升级到Apache2.2,注意apache2.2与2.0的一些区别,尤其是授权认证部分,分成了几个module,所以可能需要自己enable,如果您直接装apache2.2,无须担心.

mod_imap 被更名为 mod_imagemap
mod_auth 被拆分为 mod_auth_basic、mod_authn_file、mod_authz_user、mod_authz_groupfile
mod_access 被更名为 mod_authz_host
mod_auth_ldap 被更名为 mod_authnz_ldap

FastCGI的好处
1)可以支持在一个系统上支持同一种脚本不同版本的解释器,如PHP4, PHP5
2)只要安装一个apache 的module后,就可同时支持PHP, Python, Perl等,没有必要为它们安装各自的module
3)获得更好的权限控制,比PHP运行在安全模式更安全,国外大的虚拟主机供应商如DreamHost,BlueHost, Godaddy等都是采用
mod-fcgid或者mod_fastcgi来实现对PHP的支持

0.这里用的mod-fcgid,符合GPL条款的,而不是那个mod_fastcgi(它在debian的non-free) 并且mod-fcgid与apache2配合得更好

1.如果你用fastCGI 来统一支持这些脚本的话,先将
libapache2-mod-php5,
libapache2-mod-perl2,
libapache2-mod-python2.4
等模块去掉,当然你也可以按照你的需要保留部分模块

apt-get remove libapache2-mod-php5 libapache2-mod-perl2 libapache2-mod-python2.4 2.安装mod-fcgid
apt-get install libapach2-mod-fcgid
3.检查PHP是否支持FastCGI
一般而言,如果你以前安装了mod_php,那么php5-cgi应该已经装上了

ls /usr/bin/php5-cgi
或者

/usr/bin/phpt-cgi -v
相信会有
(cgi-fcgi)
的字样

如果没有装上,则先装上php5-cgi

apt-get install php5-cgi4.检查fcgid的配置
/etc/apache2/mods-enabled/fcgid.conf (这是个到mods-availabe目录的符号连接)
应该有一个标准配置
<IfModule mod_fcgid.c>
  AddHandler fcgid-script .fcgi
  SocketPath /var/lib/apache2/fcgid/sock
  IPCConnectTimeout 20
</IfModule>

宜将/etc/apache2/mods-enabled/fcgid.conf改为

<IfModule mod_fcgid.c>  AddHandler fcgid-script .php .py .pl .fcgi  SocketPath /var/lib/apache2/fcgid/sock  IPCConnectTimeout 20</IfModule>  
以增加对php py pl等扩展名的支持

当然还可以添加其他配置指令(当然这些不是必要的,默认的配置基本上就可以了)来修改默认的一些配置,如
IdleTimeout 600
ProcessLifeTime 3600
MaxProcessCount 8
DefaultMinClassProcessCount 3
DefaultMaxClassProcessCount 3
IPCConnectTimeout 8
IPCCommTimeout 48
 具体的配置指令在后面列出
5.检查模块的载入
/etc/apache2/mods-enabled/fcgid.load
应该有
LoadModule fcgid_module /usr/lib/apache2/modules/mod_fcgid.so

6.修改Apache的主机配置,增加对PHP的支持
/etc/apache2/sites-enabled/000-default中添加一句
FCGIWrapper /usr/bin/php5-cgi .php
以增加对php的支持
变成类似于

<Directory /var/www/>        FCGIWrapper /usr/bin/php5-cgi .php        Options ExecCGI SymLinksIfOwnerMatch</Directory>
当然,如果你没有 移除 mod_php的话,就是说你还想用默认的(标准的)的PHP支持,FCGIWrapper就没有必要加上了。但如果你使用FCGI的话,注意Option ExeCGI必须添加上,否则给出403错误,报告没有权限访问 .php等文件

你还可同时增加 对PHP4 PHP5的支持(你必须Php4,php5都装上)
FCGIWrapper /usr/bin/php4-cgi .php4 .php
FCGIWrapper /usr/bin/php5-cgi .php5
7.增加对Python的支持 在000-default里或者其他虚拟主机配置文件的段里加上
ScriptAlias /python /var/www/python/index.py

这样,访问  你的主机 http://localhost/python就会 将请求转给 /var/www/python/index.py

注意,你的 index.py必要引用 python的fastcgi接口,建议你使用这个(Trac系统也是使用这个fastcgi接口)fcgi.py
这里给出我的index.py作为参考
#!/usr/bin/pythontry:    from fcgi import WSGIServer    def myapp(environ, start_response):        start_response(‘200 OK’, [(‘Content-Type’, ‘text/plain’)])        return [‘Hello World!\n’]    WSGIServer(myapp).run()except Exception, e:    print ‘Content-Type: text/plain\r\n\r\n’,    print ‘Oops…’    print    print ‘Trac detected an internal error:’    print    print e    print    (注意,必须将fcgi.py放到index.py同一目录,否则import找不到模块)

如果上面的index.py能正常 打印 Hello World!就说明基本上配置好了

注意,
1)fcgi.py必须放到 index.py可以找到的地方,比如index.py同一目录下 或者 site-package 目录
2)index.py必须有可执行的属性,否则 会 抛出 内部服务器错误(Internal Server Error)

如果你需要配置某个目录下.py都可执行,可用这段配置文件
        ScriptAlias /python/ /home/gavin/py/
        <Directory “/home/gavin/py”>
                DirectoryIndex index.html index.py index.pl index.php
                AllowOverride None
                Options ExecCGI -MultiViews +SymLinksIfOwnerMatch
                Order allow,deny
                Allow from all
        </Directory>

这样,/python/下的任何一个.py文件都会执行,比如,将下面这段代码保存为hello.py
#!/usr/bin/python
from fcgi import WSGIServer

def myapp(environ, start_response):
    start_response(‘200 OK’, [(‘Content-Type’, ‘text/plain’)])
    return [‘upsdn.net:Hello World!\n’]

WSGIServer(myapp).run()
放到 /home/gavin/py/目录
访问/python/hello.py就可看到hello world
8.配置Ruby On Rails

主要就是利用rewrite将请求分发给rails脚本
RewriteEngine On
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^(.*)$ dispatch.fcgi [QSA,L] 其他与标准FastCGI配置类似
下面这个是Typo的一个示范配置

<VirtualHost *:80>ServerName foo.example.com<Location /journal>    RewriteEngine On    # Let apache handle purely static files like images by itself.    RewriteCond %{REQUEST_FILENAME} !-f    # Send Everything else to Typo    RewriteRule ^(.*)$ dispatch.fcgi [QSA,L] </Location><Directory /sites/foo.example.com/public_html/journal>    # ExecCGI is required for mod_fcgid to work.    Options Indexes FollowSymLinks ExecCGI    # Disable .htaccess files.    AllowOverride None    Order allow,deny    Allow from all    # This tells mod_fcgid to run the dispatch.fcgi script as a FastCGI    # AddHandler fcgid-script .fcgi</Directory>当然你也可以安装通用的fastcgi ruby库
ap-get install libfcgi-ruby
或者你需要设置

DefaultInitEnv RAILS_ENV production更详细的东西请参考ROR相关文章
9.配置perl
  首先安装perl的FastCGI模块,Debian当然用apt-get来安装了

apt-get install libfcgi-perl(将安装FCGI.pm,    CGI::Fast 依赖于这个模块)

你也可利用CPAN来安装

# perl -MCPAN -e shell 直接回车,都用默认配置就行了
cpan  install FCGIcpan  install CGI::Fastcpan  quit 
安装后验证一下这个hello.pl脚本(用FCGI模块, 只需要FCGI.pm即可)
#!/usr/bin/perluse FCGI;my $request = FCGI::Request();while($request->Accept() >= 0){  print “Content-type: text/html\n\n”;  print “<H1><b>Hello World!</b></H1>”;}exit 0;或者试一下这个counter.cgi,   用CGI:Fast模块(需要FCGI.pm和CGI.pm)
#!/usr/bin/perl -wuse strict;use CGI::Fast qw(:standard);my $counter = 0;my $title = “Fast CGI counter”;while (new CGI::Fast) {  print header;  print start_html $title;  print h1 $title;  print “Invocation number: “, b($counter++), “, PID: “, b($$), “.”, hr;  print end_html;}  10.好了,现在你的系统应该配置好了mod_fcgid了,并且支持Perl,PHP,Python,Ruby on Rails
提示:发现500 内部服务器错误时,先检查脚本权限,然后在CLI环境运行是否正常,最后再在CGI环境下验证

apache configure选项

`configure’ configures this package to adapt to many kinds of systems.

Usage: ./configure [OPTION]… [VAR=VALUE]…

To assign environment variables (e.g., CC, CFLAGS…), specify them as
VAR=VALUE.  See below for descriptions of some of the useful variables.

Defaults for the options are specified in brackets.

Configuration:
  -h, –help              display this help and exit
      –help=short        display options specific to this package
      –help=recursive    display the short help of all the included packages
  -V, –version           display version information and exit
  -q, –quiet, –silent   do not print `checking…’ messages
      –cache-file=FILE   cache test results in FILE [disabled]
  -C, –config-cache      alias for `–cache-file=config.cache’
  -n, –no-create         do not create output files
      –srcdir=DIR        find the sources in DIR [configure dir or `..’]

Installation directories:
  –prefix=PREFIX         install architecture-independent files in PREFIX
                          [/usr/local/apache2]
  –exec-prefix=EPREFIX   install architecture-dependent files in EPREFIX
                          [PREFIX]

By default, `make install’ will install all the files in
`/usr/local/apache2/bin’, `/usr/local/apache2/lib’ etc.  You can specify
an installation prefix other than `/usr/local/apache2′ using `–prefix’,
for instance `–prefix=$HOME’.

For better control, use the options below.

Fine tuning of the installation directories:
  –bindir=DIR            user executables [EPREFIX/bin]
  –sbindir=DIR           system admin executables [EPREFIX/sbin]
  –libexecdir=DIR        program executables [EPREFIX/libexec]
  –sysconfdir=DIR        read-only single-machine data [PREFIX/etc]
  –sharedstatedir=DIR    modifiable architecture-independent data [PREFIX/com]
  –localstatedir=DIR     modifiable single-machine data [PREFIX/var]
  –libdir=DIR            object code libraries [EPREFIX/lib]
  –includedir=DIR        C header files [PREFIX/include]
  –oldincludedir=DIR     C header files for non-gcc [/usr/include]
  –datarootdir=DIR       read-only arch.-independent data root [PREFIX/share]
  –datadir=DIR           read-only architecture-independent data [DATAROOTDIR]
  –infodir=DIR           info documentation [DATAROOTDIR/info]
  –localedir=DIR         locale-dependent data [DATAROOTDIR/locale]
  –mandir=DIR            man documentation [DATAROOTDIR/man]
  –docdir=DIR            documentation root [DATAROOTDIR/doc/PACKAGE]
  –htmldir=DIR           html documentation [DOCDIR]
  –dvidir=DIR            dvi documentation [DOCDIR]
  –pdfdir=DIR            pdf documentation [DOCDIR]
  –psdir=DIR             ps documentation [DOCDIR]

System types:
  –build=BUILD     configure for building on BUILD [guessed]
  –host=HOST       cross-compile to build programs to run on HOST [BUILD]
  –target=TARGET   configure for building compilers for TARGET [HOST]

Optional Features:
  –disable-option-checking  ignore unrecognized –enable/–with options
  –disable-FEATURE       do not include FEATURE (same as –enable-FEATURE=no)
  –enable-FEATURE[=ARG]  include FEATURE [ARG=yes]
  –enable-layout=LAYOUT
  –enable-v4-mapped      Allow IPv6 sockets to handle IPv4 connections
  –enable-exception-hook Enable fatal exception hook
  –enable-maintainer-mode
                          Turn on debugging and compile time warnings
  –enable-pie            Build httpd as a Position Independent Executable
  –enable-modules=MODULE-LIST
                          Space-separated list of modules to enable | “all” |
                          “most”
  –enable-mods-shared=MODULE-LIST
                          Space-separated list of shared modules to enable |
                          “all” | “most”
  –disable-authn-file    file-based authentication control
  –enable-authn-dbm      DBM-based authentication control
  –enable-authn-anon     anonymous user authentication control
  –enable-authn-dbd      SQL-based authentication control
  –disable-authn-default authentication backstopper
  –enable-authn-alias    auth provider alias
  –disable-authz-host    host-based authorization control
  –disable-authz-groupfile
                          ‘require group’ authorization control
  –disable-authz-user    ‘require user’ authorization control
  –enable-authz-dbm      DBM-based authorization control
  –enable-authz-owner    ‘require file-owner’ authorization control
  –enable-authnz-ldap    LDAP based authentication
  –disable-authz-default authorization control backstopper
  –disable-auth-basic    basic authentication
  –enable-auth-digest    RFC2617 Digest authentication
  –enable-isapi          isapi extension support
  –enable-file-cache     File cache
  –enable-cache          dynamic file caching
  –enable-disk-cache     disk caching module
  –enable-mem-cache      memory caching module
  –enable-dbd            Apache DBD Framework
  –enable-bucketeer      buckets manipulation filter
  –enable-dumpio         I/O dump filter
  –enable-echo           ECHO server
  –enable-example        example and demo module
  –enable-case-filter    example uppercase conversion filter
  –enable-case-filter-in example uppercase conversion input filter
  –enable-reqtimeout     Limit time waiting for request from client
  –enable-ext-filter     external filter module
  –disable-include       Server Side Includes
  –disable-filter        Smart Filtering
  –enable-substitute     response content rewrite-like filtering
  –disable-charset-lite  character set translation
  –enable-charset-lite   character set translation
  –enable-deflate        Deflate transfer encoding support
  –enable-ldap           LDAP caching and connection pooling services
  –disable-log-config    logging configuration
  –enable-log-forensic   forensic logging
  –enable-logio          input and output logging
  –disable-env           clearing/setting of ENV vars
  –enable-mime-magic     automagically determining MIME type
  –enable-cern-meta      CERN-type meta files
  –enable-expires        Expires header control
  –enable-headers        HTTP header control
  –enable-ident          RFC 1413 identity check
  –enable-usertrack      user-session tracking
  –enable-unique-id      per-request unique ids
  –disable-setenvif      basing ENV vars on headers
  –disable-version       determining httpd version in config files
  –enable-proxy          Apache proxy module
  –enable-proxy-connect  Apache proxy CONNECT module
  –enable-proxy-ftp      Apache proxy FTP module
  –enable-proxy-http     Apache proxy HTTP module
  –enable-proxy-scgi     Apache proxy SCGI module
  –enable-proxy-ajp      Apache proxy AJP module
  –enable-proxy-balancer Apache proxy BALANCER module
  –enable-ssl            SSL/TLS support (mod_ssl)
  –enable-distcache      Select distcache support in mod_ssl
  –enable-optional-hook-export
                          example optional hook exporter
  –enable-optional-hook-import
                          example optional hook importer
  –enable-optional-fn-import
                          example optional function importer
  –enable-optional-fn-export
                          example optional function exporter
  –enable-static-support Build a statically linked version of the support
                          binaries
  –enable-static-htpasswd
                          Build a statically linked version of htpasswd
  –enable-static-htdigest
                          Build a statically linked version of htdigest
  –enable-static-rotatelogs
                          Build a statically linked version of rotatelogs
  –enable-static-logresolve
                          Build a statically linked version of logresolve
  –enable-static-htdbm   Build a statically linked version of htdbm
  –enable-static-ab      Build a statically linked version of ab
  –enable-static-checkgid
                          Build a statically linked version of checkgid
  –enable-static-htcacheclean
                          Build a statically linked version of htcacheclean
  –enable-static-httxt2dbm
                          Build a statically linked version of httxt2dbm
  –enable-http           HTTP protocol handling
  –disable-mime          mapping of file-extension to MIME
  –enable-dav            WebDAV protocol handling
  –disable-status        process/thread monitoring
  –disable-autoindex     directory listing
  –disable-asis          as-is filetypes
  –enable-info           server information
  –enable-suexec         set uid and gid for spawned processes
  –disable-cgid          CGI scripts
  –enable-cgi            CGI scripts
  –disable-cgi           CGI scripts
  –enable-cgid           CGI scripts
  –enable-dav-fs         DAV provider for the filesystem
  –enable-dav-lock       DAV provider for generic locking
  –enable-vhost-alias    mass virtual hosting module
  –disable-negotiation   content negotiation
  –disable-dir           directory request handling
  –enable-imagemap       server-side imagemaps
  –disable-actions       Action triggering on requests
  –enable-speling        correct common URL misspellings
  –disable-userdir       mapping of requests to user-specific directories
  –disable-alias         mapping of requests to different filesystem parts
  –enable-rewrite        rule based URL manipulation
  –enable-so             DSO capability

Optional Packages:
  –with-PACKAGE[=ARG]    use PACKAGE [ARG=yes]
  –without-PACKAGE       do not use PACKAGE (same as –with-PACKAGE=no)
  –with-included-apr     Use bundled copies of APR/APR-Util
  –with-apr=PATH         prefix for installed APR or the full path to
                             apr-config
  –with-apr-util=PATH    prefix for installed APU or the full path to
                             apu-config
  –with-pcre=PATH        Use external PCRE library
  –with-port=PORT        Port on which to listen (default is 80)
  –with-sslport=SSLPORT  Port on which to securelisten (default is 443)
  –with-z=DIR            use a specific zlib library
  –with-sslc=DIR         RSA SSL-C SSL/TLS toolkit
  –with-ssl=DIR          OpenSSL SSL/TLS toolkit
  –with-mpm=MPM          Choose the process model for Apache to use.
                          MPM={beos|event|worker|prefork|mpmt_os2}
  –with-module=module-type:module-file
                          Enable module-file in the modules/<module-type>
                          directory.
  –with-program-name     alternate executable name
  –with-suexec-bin       Path to suexec binary
  –with-suexec-caller    User allowed to call SuExec
  –with-suexec-userdir   User subdirectory
  –with-suexec-docroot   SuExec root directory
  –with-suexec-uidmin    Minimal allowed UID
  –with-suexec-gidmin    Minimal allowed GID
  –with-suexec-logfile   Set the logfile
  –with-suexec-safepath  Set the safepath
  –with-suexec-umask     umask for suexec’d process

Some influential environment variables:
  CC          C compiler command
  CFLAGS      C compiler flags
  LDFLAGS     linker flags, e.g. -L<lib dir> if you have libraries in a
              nonstandard directory <lib dir>
  LIBS        libraries to pass to the linker, e.g. -l<library>
  CPPFLAGS    C/C++/Objective C preprocessor flags, e.g. -I<include dir> if
              you have headers in a nonstandard directory <include dir>
  CPP         C preprocessor

Use these variables to override the choices made by `configure’ or to help
it to find libraries and programs with nonstandard names/locations.

继续阅读

修改Apache的返回头部信息

方法:
代码:
修改几个Apache的几个源代码文件,然后自己编译
操作:
一、文件操作
file:srcdir/include/ap_release.h

代码:
#define AP_SERVER_BASEVENDOR;这里填写开发组织名,例如:Microsoft Corp.;
#defineAP_SERVER_BASEPRODUCT;这里填写服务器软件名,例如:Microsoft-IIS;
#defineAP_SERVER_MAJORVERSION ;主版本,例如:5;
#defineAP_SERVER_MINORVERSION ;次版本,例如:0;
#defineAP_SERVER_PATCHLEVEL ;修正版本,例如:1;

file:srcdir/include/os.h
代码:
#definePLATFORM ;这里填写操作系统的名称,例如:Win32;

file:srcdir/os/PLATFORM/os.h
代码:
#definePLATFORM ;这里填写操作系统的名称,例如:Win32;

file:srcdir/modules/generators/mod_info.c
代码:
Search ;Apache Server Information; replace with;这里填写在查看server-info现实的页面标题,例如:Microsoft-IISInformation;
file:srcdir/modules/generators/mod_status.c
代码:
Search ;Apache Server Status; replace with;这里填写在查看server-status现实的页面标题,例如:Microsoft-IISStatus;
说明:
代码:
file:path/to/filename 表示要对这个文件进行操作
Search;A; replace with ;B;表示在文件之中搜索A,然后使用B替换
二、编译操作
代码:
按照一般正常步骤编译安装
结果:
/server-info:
代码:
Microsoft-IIS Information

Server Version:Microsoft-IIS/5.0/5.0.1 (Win32)

/server-status:
代码:
Apache Server Status for 127.0.0.1
Server Version:Microsoft-IIS/5.0/5.0.1 (Win32)
Server Built: Apr 3 2004 18:20:54
页面底部显示:(例如在以上两个测试和indexes情况之下)
代码:
Microsoft-IIS/5.0/5.0.1 (Win32) Server at 127.0.0.1 Port80

2010年Web服务器排名

在分析各个Web服务器之前,我们先来看看2010年Web的变化,下面是来自Netcraft的几个关键的调查数据:

截止2010年底,互联网上有2.55亿站点;
对比2009年,增长了9%,增加了2140万个站点。
Web持续的快速增长,这将可能是个超过3000万或是更高的数字,如果不是去年的统计数据里面包括的QQ的博客。

2010年Web服务器增长
Web服务器的使用率的变化,如下:

Apache 2009年托管1.09亿个站点,而2010年数字变成了1.52亿。
Net result: 2010年,增加大约4300万新的Apache网站。
Microsoft IIS 2009年托管4900万个站点,2010年是5700万。
Net result: 2010年,大约新增800万个IIS网站。
Nginx 没有2009年风光了,从1620万,增加到2010年的1690万。
Google’s web server (最初服务博客) 从1410万,增加到2010年的1490万。
Lighttpd 从84万,增加到130万。

2010年市场变化
根据上述数据,下面是2010年的市场份额变化:

Apache 从46.6%到59.4%,收获12.8%。
Microsoft IIS 从21.0%到22.2%,收获1.2%。
Nginx 从6.6%到7.0%。
Google’s web server 从6.0%到5.9%。
Lighttpd 从0.4%到0.5%。

Apache配置详解

Apache的配置由httpd.conf文件配置,因此下面的配置指令都是在httpd.conf文件中修改。
主站点的配置(基本配置)

(1) 基本配置:
ServerRoot “/mnt/software/apache2” #你的apache软件安装的位置。其它指定的目录如果没有指定绝对路径,则目录是相对于该目录。

PidFile logs/httpd.pid #第一个httpd进程(所有其他进程的父进程)的进程号文件位置。

Listen 80 #服务器监听的端口号。

ServerName www.clusting.com:80 #主站点名称(网站的主机名)。

ServerAdmin admin@clusting.com #管理员的邮件地址。

DocumentRoot “/mnt/web/clusting” #主站点的网页存储位置。

以下是对主站点的目录进行访问控制:
Options FollowSymLinks
AllowOverride None
Order allow,deny
Allow from all

在上面这段目录属性配置中,主要有下面的选项:

Options:配置在特定目录使用哪些特性,常用的值和基本含义如下:

ExecCGI: 在该目录下允许执行CGI脚本。

FollowSymLinks: 在该目录下允许文件系统使用符号连接。

Indexes: 当用户访问该目录时,如果用户找不到DirectoryIndex指定的主页文件(例如index.html),则返回该目录下的文件列表给用户。

SymLinksIfOwnerMatch: 当使用符号连接时,只有当符号连接的文件拥有者与实际文件的拥有者相同时才可以访问。

其它可用值和含义请参阅:http://www.clusting.com/Apache/ApacheManual/mod/core.html#options

AllowOverride:允许存在于.htaccess文件中的指令类型(.htaccess文件名是可以改变的,其文件名由AccessFileName指令决定):
None: 当AllowOverride被设置为None时。不搜索该目录下的.htaccess文件(可以减小服务器开销)。 继续阅读

在Debian上安装Apache Mysql PHP

安装Apache Mysql PHP
安装之前,保证你的版本是最新的。使用命令:(“#”表示你应该以root的身份来运行)。

 # aptitude update && aptitude upgrade
mysql
使用下面的命令来安装mysql:

 # aptitude install mysql-server mysql-client
安装完mysql server后,你应该修改下root的密码。*此步骤对debian Lenny版本无效,因为在安装的时候你将会被要求输入mysql root用户的密码。

# /usr/bin/mysqladmin -u root password ‘enter-your-good-new-password-here’
为了安全起见,你应该不使用root账户来运行数据库,而是新建一个账户来从一个PHP脚本来连接你的mysql数据库。

apache2
 # aptitude install apache2 apache2-doc
PHP
# aptitude install php5 php5-mysql libapache2-mod-php5
配置Apache Mysql PHP
Apache2 配置文件: /etc/apache2/apache2.conf

当需要的时候,你可以编辑此配置文件。

测试PHP
为了测试php接口, 编辑文件 /var/www/apache2-default/test.php:

# nano /var/www/apache2-default/test.php
插入下面代码

<?php phpinfo(); ?>
最后,使用浏览器访问 http://SERVERIP/apache2-default/test.php 来检测下.