hand
_1_14_124
4
返回栏目
1k
2k
0.4k
0.6k
0.9k
0.7k
3k
2k
0.1k
1k
0k
1k
0k
0.4k
0.3k
0.1k
0.6k
0k
1k
3k
2k
0k
0k
0.4k
2k
1k
0k
6k
0.8k
1k
0.5k
2k
0k
0k
0k
2k
0k
4k
2k
1k
1k
2k
0k
0.5k
0k
1k
0.2k
0.3k
0.1k
0k
0k
0.8k
1k
0.6k
0k
0k
2k
0.6k
1k
2k
2k
0.6k
0.6k
0.5k
1k
2k
0.5k
0.1k
0.2k
4k
0k
0.1k
0.8k
1k
0.3k
0k
0.3k
0.1k
1k
8k
0.1k
0.7k
0.1k
0.3k
0.9k
0.2k
4k
0.2k
6k
3k
3k
1k
3k
0.1k
1k
0.2k
0k
0.7k
0.4k
2k
2k
0.5k
0.8k
5k
0.1k
0.3k
0.3k
0.5k
0.1k
1k
0k
0.7k
0.2k
2k
2k
1k
6k
3k
1k
2k
1k
2k
2k
1k
0k
0k
1k
0k
0k
0.3k
0.3k
0.2k
0k
0.3k
0k
1k
0.1k
0.6k
0k
0k
0k
0k
0k
0.1k
0k
0k
0k
0.2k
0k
0.2k
0k
0k
0k
0k
0k
0k
0k
0.9k
1k
2k
0.8k
0.4k
0k
0k
0k
0.5k
0k
0k
0k
0k
0.4k
0k
0k
0.1k
返回服务器栏目
作者:
贺及楼
成为作者
更新日期:2024-05-14 20:35:08
http {
...
... # 各server的公共配置
server {
...
} # 每个server用于定义一个虚拟主机
server {
...
listen # 监听地址和端口
server_name # 主机名
root # 站点根目录(document_root)
alias # 路径别名
location [OPERATOR] URL { # 针对于一些URL的条件
...
if CONDITION {
...
}
}
}
}
包括:
中文 | 英文包名 | 配置项 | 中文名 | 例子 |
---|---|---|---|---|
日志 | ||||
内存 | ||||
缓冲区 | proxy_buffering | proxy_buffering | 缓冲功能开关 | proxy_buffering on |
缓冲区 | proxy_buffering | proxy_buffers | 缓冲文件数量、大小 | proxy_buffers 8 4k |
缓冲区 | proxy_buffering | proxy_buffer_size | 缓冲文件大小 | proxy_buffer_size 4k |
缓冲区 | proxy_buffering | proxy_busy_buffers_size | 缓冲 | |
数据大小 |
http
{
include mime.types
# 设定mime类型,类型由mime.type文件定义
default_type application/octet-stream;
log_format main '$remote_addr - $remote_user [$time_local] "$request" '
'$status $body_bytes_sent "$http_referer" '
'"$http_user_agent" "$http_x_forwarded_for"';
log_format log404 '$status [$time_local] $remote_addr $host$request_uri $sent_http_location';
# 日志格式设置。
# $remote_addr与$http_x_forwarded_for用以记录客户端的ip地址;
# $remote_user:用来记录客户端用户名称;
# $time_local: 用来记录访问时间与时区;
# $request: 用来记录请求的url与http协议;
# $status: 用来记录请求状态;成功是200,
# $body_bytes_sent :记录发送给客户端文件主体内容大小;
# $http_referer:用来记录从那个页面链接访问过来的;
# $http_user_agent:记录客户浏览器的相关信息;
# 通常web服务器放在反向代理的后面,这样就不能获取到客户的IP地址了,通过$remote_add拿到的IP地址是反向代理服务器的iP地址。
# 反向代理服务器在转发请求的http头信息中,可以增加x_forwarded_for信息,用以记录原有客户端的IP地址和原来客户端的请求的服务器地址。
access_log logs/host.access.log main;
access_log logs/host.access.404.log log404;
# 用了log_format指令设置了日志格式之后,需要用access_log指令指定日志文件的存放路径;
server_names_hash_bucket_size 128
# 保存服务器名字的hash表是由指令server_names_hash_max_size 和server_names_hash_bucket_size所控制的。
# 参数hash bucket size总是等于hash表的大小,并且是一路处理器缓存大小的倍数。
# 在减少了在内存中的存取次数后,使在处理器中加速查找hash表键值成为可能。
# 如果hash bucket size等于一路处理器缓存的大小,那么在查找键的时候,最坏的情况下在内存中查找的次数为2。
# 第一次是确定存储单元的地址,第二次是在存储单元中查找键 值。
# 因此,如果Nginx给出需要增大hash max size 或 hash bucket size的提示,那么首要的是增大前一个参数的大小.
open_file_cache max=102400 inactive=20s
# 这个指令指定缓存是否启用。
# 例:
# open_file_cache max=1000 inactive=20s;
# open_file_cache_valid 30s;
# open_file_cache_min_uses 2;
# open_file_cache_errors on;
open_file_cache_errors
# 语法:open_file_cache_errors on | off
# 默认值:open_file_cache_errors off
# 这个指令指定是否在搜索一个文件是记录cache错误.
# 使用字段:http, server, location
open_file_cache_min_uses
# 语法:open_file_cache_min_uses number
# 默认值:open_file_cache_min_uses 1
# 使用字段:http, server, location
# 这个指令指定了在open_file_cache指令无效的参数中一定的时间范围内可以使用的最小文件数
# 如果使用更大的值,文件描述符在cache中总是打开状态.
open_file_cache_valid
# 语法:open_file_cache_valid time
# 默认值:open_file_cache_valid 60
# 使用字段:http, server, location
# 这个指令指定了何时需要检查open_file_cache中缓存项目的有效信息.
sendfile on;
# sendfile指令指定 nginx 是否调用sendfile 函数(zero copy 方式)来输出文件,对于普通应用,必须设为on。
# 如果用来进行下载等应用磁盘IO重负载应用,可设置为off,以平衡磁盘与网络IO处理速度,降低系统uptime。
tcp_nopush on;
# 此选项允许或禁止使用socke的TCP_CORK的选项,此选项仅在使用sendfile的时候使用
proxy_temp_file_write_size 256k;
# 设置在写入proxy_temp_path时数据的大小,预防一个工作进程在传递文件时阻塞太长
proxy_temp_path /data0/proxy_temp_dir;
# proxy_temp_path和proxy_cache_path指定的路径必须在同一分区
proxy_cache_path /data0/proxy_cache_dir levels=1:2 keys_zone=cache_one:200m inactive=1d max_size=30g;
# 设置内存缓存空间大小为200MB,1天没有被访问的内容自动清除,硬盘缓存空间大小为30GB。
tcp_nodelay on;
proxy_intercept_errors on;
# 表示使nginx阻止HTTP应答代码为400或者更高的应答。
}
####################
######超时时间######
####################
proxy_connect_timeout 60;
# 默认60秒
# 后端服务器连接的超时时间
# 发起握手等候响应超时时间
proxy_read_timeout 60;
# 默认60秒
# 连接成功后,等候后端服务器响应时间
# 其实已经进入后端的排队之中等候处理
# (也可以说是后端服务器处理请求的时间)
proxy_send_timeout 60;
# 默认60秒
# 后端服务器数据回传时间
# 就是在规定时间之内后端服务器必须传完所有的数据
client_body_timeout 10;
# 表示读取请求body的超时时间
# 如果连接超过这个时间而客户端没有任何响应
# Nginx将返回"Request time out" (408)错误
client_header_timeout 10;
# 表示读取客户端请求头的超时时间
# 如果连接超过这个时间而客户端没有任何响应
# Nginx将返回"Request time out" (408)错误
# keepalive_timeout 5 5;
# keepalive_timeout 120
# 参数的第一个值表示客户端与服务器长连接的超时时间
# 超过这个时间,服务器将关闭连接
# 可选的第二个参数参数表示Response头中Keep-Alive: timeout=time的time值
# 这个值可以使一些浏览器知道什么时候关闭连接,以便服务器不用重复关闭
# 如果不指定这个参数,nginx不会在应Response头中发送Keep-Alive信息
send_timeout 10;
# 表示发送给客户端应答后的超时时间
# Timeout是指没有进入完整established状态,只完成了两次握手
# 如果超过这个时间客户端没有任何响应,nginx将关闭连接
##############################
#######请求 缓冲区buffer#######
#############################
client_header_buffer_size 4k
# 客户端请求头部的缓冲区大小
# 这个可以根据你的系统分页大小来设置
# 一般一个请求的头部大小不会超过1k,不过由于一般系统分页都要大于1k,所以这里设置为分页大小。
# 不过如果有来自于wap客户端的较大的cookie它可能会大于 1k
# 分页大小可以用命令getconf PAGESIZE取得。
# nginx默认会用client_header_buffer_size这个buffer来读取header值
# 如果header过大,它会使用large_client_header_buffers来读取。
client_body_buffer_size 512k;
# 默认8k或16k
# 客户端请求body的缓冲区大小
# 如果把它设置为比较大的数值
# 例如256k,那么,无论使用firefox还是IE浏览器,来提交任意小于256k的图片,都很正常
# 如果注释该指令,使用默认的client_body_buffer_size设置,也就是操作系统页面大小的两倍,8k或者16k,问题就出现了。
# 无论使用firefox4.0还是IE8.0,提交一个比较大,200k左右的图片,都返回500 Internal Server Error错误
large_client_header_buffers 8 128k
# 表示一些比较大的请求头使用的缓冲区数量和大小
# 默认一个缓冲区大小为操作系统中分页文件大小,通常是4k或8k
# 请求字段不能大于一个缓冲区大小,如果客户端发送一个比较大的头,nginx将返回"Request URI too large" (414)
# 请求的头部最长字段不能大于一个缓冲区,否则服务器将返回"Bad request" (400)
# nginx默认会用client_header_buffer_size这个buffer来读取header值
# 如果header过大,它会使用large_client_header_buffers来读取。
client_max_body_size 300m
# 设定通过nginx上传文件的大小
# 表示客户端请求的最大可接受body大小
# 它出现在请求头部的Content-Length字段
# 如果请求大于指定的值,客户端将收到一个"Request Entity Too Large" (413)错误,通常在上传文件到服务器时会受到限制
proxy_buffering on
# 这里缓冲区的目标文件是 /usr/local/nginx/proxy_temp
proxy_buffer_size 256k;
# 设置从被代理服务器读取的第一部分应答的缓冲区大小,通常情况下这部分应答中包含一个小的应答头
# 默认情况下这个值的大小为指令proxy_buffers中指定的一个缓冲区的大小,不过可以将其设置为更小
# 4k大小就是4096kb
proxy_buffers 4 256k;
# 设置用于读取应答(来自被代理服务器)的缓冲区数目和大小
# 默认情况也为分页大小,根据操作系统的不同可能是4k或者8k
proxy_busy_buffers_size 256k;
server{
listen 80 # 配置监听端口
server_name image.***.com # 配置访问域名
}
server_name 域名
location / {
root html;
proxy_pass 127.0.0.1:8080 # 设置被代理服务器的端口或套接字,以及URL
index index.html index.htm;
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
# 以上三行,目的是将代理服务器收到的用户的信息传到真实服务器上
}
/意思是全部路径到proxy_pass
proxy_pass 转发的方向
proxy_pass 127.0.0.1:8080;
https://blog.csdn.net/weixin_36511527/article/details/91356811
服务器
整章节共174节
快分享给你的小伙伴吧 ~