Nginx

作者: 忧忧草_a195 | 来源:发表于2018-11-15 21:45 被阅读11次

    Nginx专为性能优化而开发,代码质量非常高,代码很规范,手法成熟,模块扩展也很容易.

    主配置文件主要有以下几大块:

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

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

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

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

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

    nginx代理服务器的类型:

    1、正向代理服务器(标准代理服务器)

    目的:内网的服务器通过代理服务器,然后能够访问外网的服务器

    原理:内网用户将请求发给代理服务器,代理服务器根据用户需求,向真正的web服务器发出请求,然后获取到网页内容之后,在本地缓存然后发给用户。

    缺点:需要用户对浏览器进行设置

    2、透明代理服务器

    目的和原理与正向代理服务器一致,但一般布署在网关上,用户不需要再对浏览器进行设置

    需要结合iptables

    3、反向代理服务器(反向加速服务器)

    目的:外网客户端通过代理服务器,能够访问内网服务器的资源

    原理:外网客户端访问正常的域名或者IP,其实访问的是代理服务器,代理服务器帮助客户端请求页面,在代理服务器上缓存,然后再发送给客户端。

    负载均衡调度策略:

    轮循:后端每台服务器的权重相同

    加权轮循:在每台服务器上加入权值,权值越高的服务器分配到的请求越多

    ip_hash:  把同一客户端的请求调度到同一台真实服务器上

    nginx 如何配置能够获取用户的真实ip?

    nginx+(apache|nginx) ,web服务器获取客户端真实IP

    代理服务器:

    location / {

               #root  html;

               #index  index.html index.htm;

               proxy_pass http://webs;

               proxy_set_header X-Real-ip $remote_addr;

    }

    WEB服务器:

    apache:

    LogFormat "%{X-Real-ip}i%l %u %t \"%r\" %>s %b \"%{Referer}i\"  \"%{User-Agent}i\"" combined

    nginx:

    安装real-ip模块

    location / {

              root  html;

              index  index.html index.htm;

              set_real_ip_from 10.10.10.11;

               real_ip_header X-Real-ip;

    }

    防盗链

    盗链:如果该服务器上只包含了网页的文本内容,而没有存储相关的图片资源,而是将图片资源链接到了其他站点的服务器上去了,这就形成了盗链问题

    防盗链:我们通过检测Referer头域中的值判定是不是自己站点内的URL,是的话就采取阻止措施,实现防盗链。

    配置防盗链:Nginx的ngx_http_referer_module模块中提供了一个指令valid_referers,用来获取Referer头域中的值并根据该值的情况给Nginx全局变量$invalid_referer赋值。 如果Referer头域中没有符合valid_referers指令配置的值,$invalid_referer 变量将会被赋值为1。

    Nginx平滑升级:

    1. 编译新版:解压,进入目录下,预编译和编译

    2. 用新编译的命令替换原来的命令(最好先备份)

    3. 启用新的,关闭旧的

    相关文章

      网友评论

          本文标题:Nginx

          本文链接:https://www.haomeiwen.com/subject/houufqtx.html