nginx日志配置
日志格式通过 log_format命令来定义:
格式定义如下: '"remote_addr" "request" "request_time" '
日志格式允许包含的变量解释如下:
$remote_addr, $http_x_forwarded_for (反向) 记录客户端IP地址
$remote_user 记录客户端用户名称
$request 记录请求的URL和HTTP协议
$status 记录请求状态
$body_bytes_sent 发送给客户端的字节数,不包括响应头大小
$byte_sent 发送给客户端的总字节数
$http_referer 记录从哪个页面链接访问过来的
$http_user_agent 记录客户端浏览器相关信息
$request_length 请求的长度
$request_time 请求的处理时间
$time_local 通用日志格式下的本地时间
一般的nginx日志有两个:
在server端 : 配置access_log命令,用来指定日志文件的存放路径、格式和缓存大小
还有个error.log ,日志级别有: debug info notice warn error crit 默认为crit ,最好改为error或者warn级别
负载均衡
upstream是Nginx的HTTP Upstream模块,这个模块通过一个简单的调度算法来实现客户端IP到后台服务器的负载均衡。目前支持4种调度算法:
1. 轮询(默认)
2. ip_hash 。 每个请求按访问IP的hash结果分配
3. fair。 这是比上面两个更加智能的负载均衡算法
4. url_hash。 此方法按访问url的hash结果来分配请求,使每个url定向到同一个后端服务器。
upstream 支持的状态参数
down, 表示当前的server暂时不参与负载均衡
backup, 预留的备份机器
max_fails, 允许请求失败的次数,默认为1.
fail_timeout 在经历了max_fails 次失败后,暂停服务的时间。 max_fails 可以和 fail_timeout一起使用
网友评论