写这一篇文章之前,一直很头疼一件事。就是nginx需要配置哪些东西,哪些东西需要注意什么。还有就是有关http下面的location块中都有哪些参数可以设置,设置完都能有什么样的效果。这些细节的东西很难用脑袋记住,也并不需要用记住。只需要有一个大体的印象就Ok了,当要用的时候直接查阅就可以。此篇文章就是为了给需要的人查阅,有什么解释不对的地方可以留言沟通。
location / {
proxy_pass http://itunic;
#用来定义故障转移策略,当后端服务节点返回 500、 502、 503、504 和执行超时等错误时,自动将请求转发到upstream负载均衡组中的另一台服务器,实现故障转移。
proxy_next_upstream http_500 http_502 http_503 error timeout invalid_header;
#禁止重定向
proxy_redirect off;
#proxy_set_header设置由后端的服务器获取用户的主机名或真实IP地址,以及代理者的真实IP地址。
proxy_set_header Host $host:$proxy_port;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
# 用于指定客户端请求主体缓冲区大小,可以理解为先保存到本地再传给用户。
client_body_buffer_size 128k;
#表示与后端服务器连接的超时时间,即发起握手等候响应的超时时间。一般建议不要超过75s,默认时间60s。
proxy_connect_timeout 90;
#表示后端服务器的数据回传时间,即在规定时间之内后端服务器必须传完所有的数据,否则,Nginx将断开这个连接。默认时间60s。
proxy_send_timeout 90;
#设置Nginx从代理的后端服务器获取信息的时间,表示连接建立成功后,Nginx等待后端服务器的响应时间,其实是Nginx已经进入后端的排队之中等候处理的时间。默认时间60s。
proxy_read_timeout 90;
#设置缓冲区大小,默认该缓冲区大小等于指令proxy_buffers设置的大小。
proxy_buffer_size 4k;
#设置缓冲区的数量和大小。Nginx从代理的后端服务器获取的响应信息,会放置到缓冲区。
proxy_buffers 4 32k;
#用于设置系统很忙时可以使用的 proxy_buffers 大小, 官方推荐的大小为 proxy_buffers*2。
proxy_busy_buffers_size 64k;
#指定 proxy 缓存临时文件的大小。
proxy_temp_file_write_size 64k;
}
proxy_pass 指令用来指定代理的后端服务器地址和端口, 地址可以是主机名或者 IP 地址, 也可以是通过 upstream 指令设定的负载均衡组名称。
proxy_next_upstream 用来定义故障转移策略, 当后端服务节点返回 500、 502、 503、 504 和执行超时等错误时, 自动将请求转发到 upstream 负载均衡组中的另一台服务器, 实现 故障转移。