Nginx

16张图入门Nginx——(前端够用,运维入门)

小林经过层层面试,终于进入一家一线互联网公司。有一天,她的mentor给她布置了一个任务,让她配置一下nginx,小林是一脸懵逼,您说啥?nginx是啥?心里一万只草泥马呼啸而过,但是坚强的小林没有放弃,准备系统的了解一下nginx,然后开启了打怪升级的道路。

对于Nginx的学习,小林主要从六部分进行:基础、原理、常用命令、配置文件、用途及相关计算,由浅入深,层层递进,最终达到前端够用、运维入门的效果。希望通过本博文帮助不懂Nginx的同学快速学习Nginx。

NGINX 的速率限制

NGINX最有用但经常被误解和配置错误的功能之一是速率限制。它允许您限制用户在给定时间内可以发出的HTTP请求数量。请求可以像GET对网站首页的POST请求或登录表单上的请求一样简单。

速率限制可用于安全目的,例如,减慢暴力密码猜测攻击的速度。通过将传入请求速率限制为实际用户的典型值,并(使用日志记录)标识目标URL,它可以帮助防御DDoS攻击。更一般而言,它用于防止上游应用程序服务器同时被太多用户请求所淹没。

在此博客中,我们将介绍NGINX的速率限制基础以及更高级的配置。速率限制在NGINX Plus中的工作方式相同。…

Nginx Unit 初探及其性能对比分析

1. Nginx Unit 初探

Nginx Unit 是一个开源的,以 Nginx 为基础、支持多语言的 Web 服务器,它支持 Python,PHP,Go 等多语言应用程序,可以在不中断服务的情况下完成部署配置更改,以多种语言运行代码。而它运行多种语言的能力是基于内部路由器进程之间的隔离,路由器进程可终止传入的 HTTP 请求,以及应用程序进程的分组,路由器进程是持久的,不重新启动。

它具有以下特征:

使用 RESTful JSON API 进行动态重配置服务器;

同时支持多语言,多版本应用;

即将支持的特性有:

动态语言的进程管理功能;

TLS 支持;

TCP,HTTP,HTTPS,HTTP/2 路由和代理。…

                

最新配置Nginx实现图片防盗链并排除对搜索引擎的屏蔽教程

配置Nginx实现图片防盗链并排除对搜索引擎的屏蔽

有时候我们不希望自己网站的图片被别的网站调用,因为这会消耗我们服务器大量的带宽,把服务器拖慢,我们可以用图片防盗链技术来达到我们的目的。

于对nginx服务器,我们使用ngx_http_referer_module模块来实现上述需求。

nginx referer指令简介

nginx模块ngx_http_referer_module通常用于阻止对“Referer”(来源)头字段中具有无效值的请求访问站点.我们应该牢记,有些合法的请求是不会带referer来源头部的,所以有时候不要拒绝来源头部(referer)为空的请求.…

    

Nginx 学习笔记 介绍HTTP / 2服务器推送(Server Push)(译)

原文地址:https://www.nginx.com/blog/nginx-1-13-9-http2-server-push/

我们很高兴地宣布,2018年2月20日发布的NGINX 1.13.9支持HTTP / 2服务器推送。对于NGINX Plus用户,即将发布的NGINX Plus R15版本将包含HTTP / 2服务器推送支持,计划于2018年4月发布。

HTTP / 2规范中定义的服务器推送允许服务器抢先将资源推送到远程客户端,预计客户端可能很快会请求这些资源。通过这样做,您可以在页面加载操作中将RTT(往返时间 - 请求和响应所需的时间)减少一个RTT或更多,从而为用户提供更快的响应。

服务器推送可用于为客户提供样式表,图像以及呈现网页所需的其他资源。您应该注意只推送所需的资源; 不要推送客户端可能已经缓存的资源。

在这篇博文中,我描述了:

配置HTTP /

                    

使用HTTP/2服务端推送(Server Push),大幅提升网页脚本图片加载速度

使用HTTP/2服务端推送(Server Push),大幅提升网页脚本图片加载速度

内容概览

NGINX从1.13.9版本开始支持HTTP/2服务端推送, 使用此特性,能大幅提升前端页面加载速度,如,js.css,image等的加载速度大幅提升。经测试js.css的加载时间,从平均几百毫秒到几秒提升到几毫秒到十几毫秒(1M带宽测试)。

升级工作主要包括:

  1. 升级NGINX
  2. 修改NGINX配置
  3. 修改PHP程序
                        

网页的图片,js ,css ,视频 都加 http accept-ranges头,以提高性能

网页的图片,js ,css ,视频 都加 http accept-ranges头,以支持多线程加载,断点续传,提高性能!目前各大网站都在使用此方式!

nginx 设置为:

server {
  listen 80;
  server_name p2hp.com;
  location ~ ^/(img/|js/|css/|upload/|font/|fonts/|res/|video) {
    add_header Access-Control-Allow-Origin *;
    add_header Accept-Ranges bytes;
    root /var/www/...;
    access_log off;
    expires 30d;
  }
  ...
}