1、介绍
/conf/nginx.conf文件是一个纯文本文件,是nginx应用的主要配置文件。
2、整体布局
整体布局对应的是文本本身,其下可以直接包括:全局配置、events配置块、http配置块。
(1)全局配置允许生成的work进程个数
worker_precesses 4; # 允许生成的worker进程个数
(2)全局配置错误日志的保存路径和类型
#error_log logs/error.log;
#error_log logs/error.log notice;
#error_log logs/error.log info;
(3)进程pid存放路径
#pid logs/nginx.pid;
3、events配置块
events {
...
}
(1)配置同时的最大连接数
worker_connections 1024;
4、http配置块
http{
...
}
- 其中可以直接包含一些配置,还可以包含server配置块
(1)日志格式
#log_format main '$remote_addr - $remote_user [$time_local] "$request" '
# '$status $body_bytes_sent "$http_referer" '
# '"$http_user_agent" "$http_x_forwarded_for"';
- 指的是成功访问的日志格式
(2)成功日志路径
access_log /var/log/nginx/access.log main; #访问日志
(3)优化静态资源
sendfile on;
(4)缓存设置
#tcp_nopush on;
nginx不要缓存数据,而是一段一段发送
(5)超时时间
keepalive_timeout 65;
给客户端分配连接超时时间,服务器会在这个时间过后关闭连接。
5、server配置块
server{
...
}
- 其中可以直接包含一些配置,还可以包含location配置块
(1)监听端口
listen 80;
(2)监听主机
server_name localhost;
#提供服务的域名或主机名
(3)定义异常状态码和响应页面
#error_page 404 /404.html; #错误页面
error_page 500 502 503 504 /50x.html; #定义请求错误,指定错误代码
6、location配置块
干货 | 一文彻底读懂nginx中的location指令 - 知乎 (zhihu.com)
location 模式 值{
...
}
6.1 模式
(1)=
精确匹配
(2)~
正则匹配,区分大小写
(3)~*
正则匹配,忽略大小写
(4)^~
表示普通字符串匹配上以后不再进行正则匹配。
(5)默认
不加任何规则时,默认是大小写敏感,前缀匹配,相当于加了~与^~
(6)@
nginx内部跳转
6.2 块内配置
location配重块内一般只有两项配置,root和index
# location / {
# root html;
# index index.html index.htm;
# }
- 当请求url的路径前缀与location匹配时,会映射到root指向的目录。(相对路径或根路径)
- 如果url的路径除了匹配部分还有剩余值,则在映射路径下寻找匹配的文件或接口
- 反之,则默认访问映射目录下的index页面,依次匹配设置的index.html,index.htm。也可以设置为a.html或者index.php等