简要介绍nginx的使用

一.简介

Nginx已经成为主流的静态web容器、转发器、cache。

在web容器上完全超越apache、在转发上代替传统硬件设备、在cache已经可以媲美squid。加之大量的开源社区不断地贡献,使nginx功能不断完善和强大,已经有逐步成为统一平台的趋势。

二.nginx的配置文件

nginx配置的核心:server模块

解释各个参数:

1.server {} 虚机模块,一个server代表一个站点,或者说一个虚机。

server_name a.test.com;  机器名称,或者说是站点名称,该名称建议为实际的域名。配置后该域名可以用来直接访问站点。此处也可以配置多个域名用以访问,以空格分隔。

2/listen 80; 监听端口,默认使用80。

3.access_log 访问日志

4.error_log 错误日志

三.nginx反向代理

反向代理服务,可将客户端的请求转发给后端特定服务器,拿到请求结果后,再返回给客户端。

使用一个域名代理后端多个站点内容;

隐藏后端服务器;

增加缓存;

为后端服务器做七层负载均衡。

例如:nginx的配置文件如下

 

www.test.com站点,该站点模拟对外公布的唯一地址。

向外提供服务,向内做负载均衡。该站点不需要使用root参数,但是需要增加location参数。

 

location在nginx中匹配uri中的某个部分,匹配后做出{}中规定的动作。这些动作有可能包括proxy_pass转发,有可能包括rewrite,也会包括一切功能参数。

这里的含义是,匹配uri中含有“/a”的访问,反向代理给a.test.com;匹配uri中含有“/b”的访问,反向代理给b.test.com。

四.相对转发和绝对转发

绝对路径: http://other.test.com/

有这个符号的情况下,匹配的内容 不带到后端服务器。www.test.com会到other.test.com目录下查找/other后面的内容。也就是不会将/other代理走。

进行相对转发

相对路径:http://other.test.com

这种情况下,匹配的内容 一起带到后端服务器 ,www.test.com直接到other.test.com目录下查找uri中的内容。

这种情况下,代理域名和实际域名后面的uri是一致的,对于排查问题和故障都有一定帮助,更加明晰。

进行绝对转发

五.负载均衡

负载均衡配置:

Upstream中配置后端参与轮询的服务。

下面的location中直接使用全转发,通常会是这样的配置,并且使用upstream名称代替实际的域名。

在做负载均衡时,通常要加入以下参数:

   client_max_body_size 50m; #缓冲区代理缓冲用户端请求的最大字节数,可以理解为保存到本地再传给用户

    client_body_buffer_size 256k;

    client_header_timeout 3m;

    client_body_timeout 3m;

    send_timeout 3m;

    proxy_connect_timeout 300s; #nginx跟后端服务器连接超时时间(代理连接超时)

    proxy_read_timeout 300s; #连接成功后,后端服务器响应时间(代理接收超时)

    proxy_send_timeout 300s;

    proxy_buffer_size 64k; #设置代理服务器(nginx)保存用户头信息的缓冲区大小

    proxy_buffers 4 32k; #proxy_buffers缓冲区,网页平均在32k以下的话,这样设置

    proxy_busy_buffers_size 64k; #高负荷下缓冲大小(proxy_buffers*2)

    proxy_temp_file_write_size 64k; #设定缓存文件夹大小,大于这个值,将从upstream服务器传递请求,而不缓冲到磁盘

proxy_ignore_client_abort on; #不允许代理端主动关闭连接

 

    proxy_redirect off; #重要,可以使host中请求的域名保持传递给后端

    proxy_set_header Host $host;

    proxy_set_header X-Real-IP $remote_addr;

    proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;

 

 

 

 

 

 

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值