关于Nginx的一些功能和实际运用
Nginx是2004年发布,lgor Sysoev为俄罗斯访问量第二的rambler.ru站点升级开发的,其常用功能有:
1、Http代理,反向代理:作为web服务器最常用的功能之一,尤其是反向代理。
正向代理和反向代理图Nginx在做反向代理时,提供性能稳定,并且能够提供灵活的转发功能。Nginx可以根据不同的正则匹配,采取不同的转发策略,比如图片结尾
的走文件服务器,动态页面走web服务器,正则写的没问题,有对应的服务器解决方案,你就可以随心所欲的操作。并且Nginx对返回结果进行
错误也跳转,异常判断等。如果被分发的服务器存在异常,他可以将请求重新转发给另一台服务器,然后自动去除异常服务器。
2、负载均衡
Nginx提供的负载均衡策略有2种:内置策略和扩展策略。内置策略为轮询,加权轮询,Ip hash。扩展策略,就天马行空,
负载均衡3、web缓存
Nginx可以对不同的文件做不同的缓存处理,配置灵活,并且支持FastCGI_Cache,主要用于对FastCGI的动态程序进行缓存。
配合着第三方的ngx_cache_purge,对制定的URL缓存内容可以进行增删管理。
4、Nginx相关地址
源码:https://trac.nginx.org/nginx/browser
官网:http://www.nginx.org/
Nginx配置文件结构
下载安装好Nginx,打开conf文件夹的nginx.conf文件,Nginx服务器的基础配置存放在此。在nginx.conf的注释符号位#
nginx文件结构 :
nginx文件结构 Nginx配置详解1、全局块:配置影响nginx全局的指令。一般有运行nginx服务器的用户组,nginx进程pid存放路径,配置文件引入,
配置文件引入,允许生成worker process数等。
2、events块:配置影响nginx服务器或用户的网络连接。有每个进程的最大连接数,选取哪种事件驱动模型处理连接请求,
是否允许同时接受多个网络连接,开启多个网络连接序列化
3、http块:可以嵌套多个server,配置代理,缓存,日志定义等绝大多数功能和第三方模块的配置。如文件引入,mime-type
定义,日志自定义,是否使用sendfile传输文件,连接超时时间,单链接请求书等
4、server块:配置虚拟主机的相关参数,一个http总个可以有多个server
5、location块:配置请求的路由,以及各种页面的处理情况。
配置nginx,需要注意的几点:
1、a、$remote_addr 与$http_x_forwarded_for用以记录客户端的ip地址; b.、$remote_user:用来记录客户端用户名称; c、
$time_local:用来记录访问时间与时区;d、$request:用来记录请求的url与http协议 e、$status:用来记录请求状态;成功是200
f、$body_bytes_s ent:记录发送给客户端文件主体内容大小; h、$http_referer:用来记录从那个页面链接访问过来的;i、
$http_user_agent:记录客户端浏览器的相关信息。
2、惊群现象:一个网络连接到来,多个睡眠的进程被同时唤醒,但只有一个进程能获得链接,这样会影响系统性能。
3、每个指令必须有分号结束。