使用Nginx来让Varnish支持HTTP/2

越来越多的公司开始使用HTTP/2来提高他们网站的性能以及用户体验. 开启HTTP/2的方法很简单,但是如何开启在HTTP/2与SSL 当你使用Varnish? 正如我们所了解的,Varnish 4.*不支持SSL, 我们需要找到一个方法来让这些组件协同工作. HTTP/2 正如你所设想的, 互联网进步我们终于有了新版本的HTTP协议, 它主要的有点是: -流与复用: 一个HTTP/2连接可以包含多个同时打开的流。请求的多路是由具有用它自己的流相关联的每个HTTP请求/响应交换实现的。流基本上是相互独立的,因此阻塞或失速请求或响应不会阻止上其他流的进展。 -报头压缩: 在HTTP / 1.1中 Continue Reading

Nginx让带www的域名跳转到根域名上和让不带www的根域名跳转到带www的域名上

在Nginx下有许多让带www域名跳转到不带www的根域名上或者让不带www跳转到www的域名上的方法 下面说一下我正在用的方法,希望对各位能有所帮助.   重定向非www域名到www上 单域名 server { server_name example.com; return 301 $scheme://www.example.com$request_uri; } 全部域名 server { server_name “~^(?!www\.).*” ; return 301 $scheme://www.$host$request_uri; }   重定向www域名到根域名上 Continue Reading

使用Munin来监控Nginx

前言: Munin是一款很高效的监控工具,拥有大量的插件. 对于Nginx来言,监控需要一点点的设置. 这一篇小轿车的目的就是手把手的来教你使用Munin来监控nginx请求数和状态. 本文中所有的操作都在Centos 7.1下完成, 理论上其他的发行版本也可以套用(或许需要一点点的修改)   正文: 首先,确定你的Nginx有http_stub_status_module模块. 执行nginx -V [root@jp02 ~]# nginx -V nginx version: nginx/1.11.3 built by gcc 4.8.5 20150623 (Red Hat 4.8 Continue Reading

Nginx报错sched_setaffinity() failed

最近升级了VPS, 在启动Nginx之后发现nginx_error.log不为空出现sched_setaffinity() 的错误: 2016/08/14 15:47:39 [alert] 9443#0: sched_setaffinity() failed (22: Invalid argument) Google之后发现,是worker_cpu_affinity指令设置错误导致的问题. worker_cpu_affinity命令是设置Nginx进程与CPU进行绑定的.可以充分的利用多核/线程的性能 双核机器根据互联网上的说明设置如下, worker_processes 2; worker_ Continue Reading

Nginx全局变量释义

$args 此变量与请求行中的参数相等 $content_length 等于请求行的“Content_Length”的值。 $content_type 等同与请求头部的”Content_Type”的值 $document_root 等同于当前请求的root指令指定的值 $document_uri 与$uri一样 $host 与请求头部中“Host”行指定的值或是request到达的server的名字(没有Host行)一样 $limit_rate 允许限制的连接速率 $request_method 等同于request的method,通常是“GET”或“POST” $remote_addr 客户 Continue Reading

NGINX自动切割日志的脚本

#! /bin/bash nginx=/usr/local/nginx/sbin/nginx #NGINX的位置 Date=$(date -d -1day +”%Y%m%d”) #获取昨天日期 logs_dir=/var/logs/ #log目录 bak_dir=/var/logs/$Date #log备份目录 #创建今日备份目录 mkdir $bak_dir #先把现有的log文件挪到备份目录临时存放 cd $logs_dir echo “moving logs” /bin/mv *.log $bak_dir sleep 3 #重建nginx log echo “rebuild logs” Continue Reading

Nginx+iptables屏蔽访问Web页面过于频繁的IP(防DDOS,恶意访问,采集器)

通过分析nginx的日志来过滤出访问过于频繁的IP地址,然后添加到nginx的blockip.conf,并重启nginx 脚本如下: #!/bin/sh nginx_home = /Data/app_1/nginx log_path = /Data/logs /usr/bin/tail -n50000 $log_path/access.log \ |awk ‘$8 ~/aspx/{print $2,$13}’ \ |grep -i -v -E “google|yahoo|baidu|msnbot|FeedSky|sogou” \ |awk ‘{print $1}’|sort|uniq -c | Continue Reading