Nginx基础(一)

230 阅读3分钟

一、序言

Nginx是一款轻量级的Web 服务器/反向代理服务器及电子邮件(IMAP/POP3)代理服务器,在BSD-like 协议下发行。其特点是占有内存少,并发能力强。

二、Nginx常用功能

1, nginx可以作为http代理,也可以做反向代理,其中反向代理更是作为web服务器的常用功能之一。

nginx提供了稳定的性能,并且提供了配置灵活的转发功能, 根据不同的正则,来确定相应的转发策略,比如以图片文件结尾的转发到相应的图片服务器上,如果被转发的服务器出现异常,会将请求发送到另一台服务器上。

2, Nginx的负载均衡

nginx的负载均衡主要提供了俩种方式:内置策略和扩展策略

内置策略包括:轮询,权重轮询,以及IPHash

轮询:将请求平均分配到每台服务器上。

加权轮询:根据服务器的权重值得不同,将请求分发到服务器上,权重值越大的服务器,分发的请求就越多

IPHash:对客户端请求的IP进行Hash算法处理,然后根据返回的hash值,将同一个客户端的IP请求,分发到同一台服务器上。

3, web缓存

nginx可以对不同的文件做出不同的缓存处理,配置灵活,可以对URL缓存内容进行增删改管理

4, nginx相关地址

源码:trac.nginx.org/nginx/brows…

官网:www.nginx.org/

Nginx的配置文件结构

nginx的基本配置文件信息存放在nginx.conf文件中

nginx文件结构

1、全局块:配置影响nginx全局的指令。一般有运行nginx服务器的用户组,nginx进程pid存放路径,日志存放路径,配置文件引入,允许生成worker process数等。

2、events块:配置影响nginx服务器或与用户的网络连接。有每个进程的最大连接数,选取哪种事件驱动模型处理连接请求,是否允许同时接受多个网路连接,开启多个网络连接序列化等。

3、http块:可以嵌套多个server,配置代理,缓存,日志定义等绝大多数功能和第三方模块的配置。如文件引入,mime-type定义,日志自定义,是否使用sendfile传输文件,连接超时时间,单连接请求数等。

4、server块:配置虚拟主机的相关参数,一个http中可以有多个server。

5、location块:配置请求的路由,以及各种页面的处理情况。

需要注意的几点:

1.remote_http_x_forwarded_for 用以记录客户端的ip地址;

2.$remote_user :用来记录客户端用户名称;

3.$time_local : 用来记录访问时间与时区;

4.$request : 用来记录请求的url与http协议;

5.$status : 用来记录请求状态;成功是200,

6.$body_bytes_s ent :记录发送给客户端文件主体内容大小;

7.$http_referer :用来记录从那个页面链接访问过来的;

8.$http_user_agent :记录客户端浏览器的相关信息;

2、惊群现象:一个网路连接到来,多个睡眠的进程被同时唤醒,但只有一个进程能获得链接,这样会影响系统性能。

3、每个指令必须有分号结束。

总结

以上就是nginx的基本介绍和基本配置信息啦