bgey 发表于 2016-12-26 12:10:49

apache和nginx的一些配置资料

  最近在做的是web server从apache到nginx的转换,
  主要的工作就是日志格式还有rewrite以及虚拟主机的转换。
  以下是我查阅到的比较有用的配置资料和一些总结:
  1、apache的LogFormat选项(配置参数/内置变量):
  (来自:http://httpd.apache.org/docs/2.2/mod/mod_log_config.html#formats)
        The characteristics of the request itself are logged by placing "%" directives in the format string, which are replaced in the log file by the values as follows:



Format String
Description


%%
The percent sign


%a
Remote IP-address


%A
Local IP-address


%B
Size of response in bytes, excluding HTTP headers.


%b
Size of response in bytes, excluding HTTP headers. In CLF format, i.e. a '-' rather than a 0 when no bytes are sent.


%{Foobar}C
The contents of cookie Foobar in the request sent to the server. Only version 0 cookies are fully supported.


%D
The time taken to serve the request, in microseconds.


%{FOOBAR}e
The contents of the environment variable FOOBAR



%f
Filename


%h
Remote host


%H
The request protocol


%{Foobar}i
The contents of Foobar: header line(s) in the request sent to the server. Changes made by other modules (e.g. mod_headers) affect this. If you're interested in what the request header was prior to when most modules would have modified it, use mod_setenvif to copy the header into an internal environment variable and log that value with the %{VARNAME}e described above.


%k
Number of keepalive requests handled on this connection. Interesting if KeepAlive is being used, so that, for example, a '1' means the first keepalive request after the initial one, '2' the second, etc...; otherwise this is always 0 (indicating the initial request). Available in versions 2.2.11 and later.


%l
Remote logname (from identd, if supplied). This will return a dash unless mod_ident is present and IdentityCheck is set On.


%m
The request method


%{Foobar}n
The contents of note Foobar from another module.


%{Foobar}o
The contents of Foobar: header line(s) in the reply.


%p
The canonical port of the server serving the request


%{format}p
The canonical port of the server serving the request or the server's actual port or the client's actual port. Valid formats are canonical, local, orremote.


%P
The process ID of the child that serviced the request.


%{format}P
The process ID or thread id of the child that serviced the request. Valid formats are pid, tid, and hextid. hextid requires APR 1.2.0 or higher.


%q
The query string (prepended with a ? if a query string exists, otherwise an empty string)


%r
First line of request


%R
The handler generating the response (if any).


%s
Status. For requests that got internally redirected, this is the status of the *original* request --- %>s for the last.


%t
Time the request was received (standard english format)


%{format}t
The time, in the form given by format, which should be in strftime(3) format. (potentially localized)


%T
The time taken to serve the request, in seconds.


%u
Remote user (from auth; may be bogus if return status (%s) is 401)


%U
The URL path requested, not including any query string.


%v
The canonical ServerName of the server serving the request.


%V
The server name according to the UseCanonicalName setting.


%X
Connection status when response is completed:



X =
connection aborted before the response completed.



+ =
connection may be kept alive after the response is sent.



- =
connection will be closed after the response is sent.


(This directive was %c in late versions of Apache 1.3, but this conflicted with the historical ssl %{var}c syntax.)




%I
Bytes received, including request and headers, cannot be zero. You need to enable mod_logio to use this.


%O
Bytes sent, including headers, cannot be zero. You need to enable mod_logio to use this.

  2、nginx的log_format配置参数(内置变量):
  (来自:http://nginx.org/en/docs/http/ngx_http_log_module.html#log_format)
        The log format can contain common variables, and variables that exist only at the time of a log write:

$body_bytes_sent
the number of bytes sent to a client not counting the response header; this variable is compatible with the “%B” parameter of the mod_log_config Apache module
$bytes_sent
the number of bytes sent to a client
$connection
connection serial number
$connection_requests (nginx 1.1.18版本及以后版本才有这个变量)
the current number of requests made through a connection
$msec
time in seconds with a milliseconds resolution at the time of log write
$pipe
“p” if request was pipelined, “.” otherwise
$request_length
request length (including request line, header, and request body)
$request_time
request processing time in seconds with a milliseconds resolution; time elapsed between the first bytes were read from the client and the log write after the last bytes were sent to the client
$status
response status
$time_iso8601
local time in the ISO 8601 standard format
$time_local
local time in the Common Log Format
 
Header lines sent to a client have the prefix “sent_http_”,
         for example, $sent_http_content_range.
        The configuration always includes the predefined format “combined”:

log_format combined '$remote_addr - $remote_user [$time_local] '
'"$request" $status $body_bytes_sent '
'"$http_referer" "$http_user_agent"';
页: [1]
查看完整版本: apache和nginx的一些配置资料