Nginx配置⽂件
Nginx主配置⽂件 /etc/nginx/nginx.conf 是⼀个纯文本类型的⽂件,整个配置文件是以区块的形式组织的。⼀般,每个区块以⼀对⼤括号 {} 来表示开始与结束。
1.Main位于nginx.conf配置⽂件的最⾼层
2.Main层下可以有Event、HTTP层
3.HTTP层下⾯有允许有多个Server层, ⽤于对不同的⽹站做不同的配置
4.Server层也允许有多个Location, ⽤于对不同的路径进⾏不同模块的配置
//nginx默认配置语法
user //设置nginx服务的系统使⽤⽤户
worker_processes //⼯作进程, 配置和CPU个数保持⼀致
error_log //错误⽇志, 后⾯接⼊的是路径
pid //Nginx服务启动时的pid
//events事件模块
events { //事件模块
worker_connections //每个worker进程⽀持的最⼤连接数
use //内核模型,select,poll,epoll
}
//非虚拟主机的配置或公共配置定义在http{}段内, server{}段外
http {
...
//必须使⽤虚拟机配置站点, 每个虚拟机使⽤⼀个server{}段
'server' {
listen 80; //监听端⼝, 默认80
server_name localhost; //提供服务的域名或主机名
//控制⽹站访问路径
'location' / {
root /usr/share/nginx/html; //存放⽹站路径
index index.html index.htm; //默认访问⾸⻚⽂件
}
//指定错误代码, 统⼀定义错误⻚⾯, 错误代码重定向到新的Locaiton
error_page 500 502 503 504 /50x.html;
'location' = /50x.html {
root html;
}
}
...
//第⼆个虚拟主机配置
'server' {
...
}
}
Nginx⽇志配置
在学习⽇志之前, 先了解下HTTP请求和返回
curl -v http://www.baidu.com
* About to connect() to www.baidu.com port 80 (#0)
* Trying 61.135.169.125...
* Connected to www.baidu.com (61.135.169.125) port 80 (#0)
> GET / HTTP/1.1
> User-Agent: curl/7.29.0 //请求方式
> Host: www.baidu.com
> Accept: */*
>
< HTTP/1.1 200 OK //返回状态码
< Accept-Ranges: bytes
< Cache-Control: private, no-cache, no-store, proxy-revalidate, no-transform
< Connection: Keep-Alive
< Content-Length: 2381
< Content-Type: text/html
< Date: Sun, 13 Oct 2019 03:00:08 GMT
< Etag: "588604c4-94d"
< Last-Modified: Mon, 23 Jan 2017 13:27:32 GMT
< Pragma: no-cache
< Server: bfe/1.0.8.18
< Set-Cookie: BDORZ=27315; max-age=86400; domain=.baidu.com; path=/
<
百度网页具体内容
image.png
Nginx⽇志配置规范
//配置语法: 包括: error.log access.log
Syntax: log_format name [escape=default|json] string ...;
Default: log_format combined "...";
Context: http
//Nginx默认配置
log_format main '$remote_addr - $remote_user [$time_local] "$request" '
'$status $body_bytes_sent "$http_referer" '
'"$http_user_agent" "$http_x_forwarded_for"';
//Nginx⽇志变量
$remote_addr //客户端地址
$remote_user //http客户端请求nginx认证⽤户名
$time_local //Nginx的时间
$request //Request请求⾏,GET等⽅法、http协议版本
$status //respoence返回状态码
$body_bytes_sent //从服务端响应给客户端body信息⼤⼩
$http_referer //http上⼀级⻚⾯,防盗链、⽤户⾏为分析
$http_user_agent //http头部信息, 客户端访问设备
$http_x_forwarded_for //http请求携带的http信息
网友评论