使用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

WordPress Multi User(WPMU) 404页面跳转BUG修复

在不接受注册的WordPress Multi User(WPMU)中在wp-config.php设置NOBLOGREDIRECT开启访问不存在的BLOG地址的时候进行跳转.   当开启NOBLOGREDIRECT之后WPMU会出现所有站点的BLOG的404页面条船出错(跳转到NOBLOGREDIRECT置顶的地址) 根据官方给出的文档,修复的方法是,在WPMU的wp-content目录下创建mu-plugins文件夹[Muse Use Plugins(强制使用的插件)] 在mu-plugins内创建一个custom.php文件,内容如下 强制WPMU加载这一段代码,刷新页面之后WPM Continue Reading

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

在Nginx下有许多让带www域名跳转到不带www的根域名上或者让不带www跳转到www的域名上的方法 下面说一下我正在用的方法,希望对各位能有所帮助.   重定向非www域名到www上 单域名 全部域名   重定向www域名到根域名上 单域名 全部域名   我们创建单独的 Server{} 块是Nginx官方推荐的最佳方法来实现跳转. 虽然WordPress下也有插件能在PHP级别上做到跳转,但是出于性能考虑,总是让Nginx来做Nginx可以做到的事.

使用Munin来监控Nginx

前言: Munin是一款很高效的监控工具,拥有大量的插件. 对于Nginx来言,监控需要一点点的设置. 这一篇小轿车的目的就是手把手的来教你使用Munin来监控nginx请求数和状态. 本文中所有的操作都在Centos 7.1下完成, 理论上其他的发行版本也可以套用(或许需要一点点的修改)   正文: 首先,确定你的Nginx有http_stub_status_module模块. 执行nginx -V 如果你在输出中没有找到–with-http_stub_status_module那你或许需要重新编译你的Nginx,或者安装Epel源中的版本   现在,增加ng Continue Reading

Nginx报错sched_setaffinity() failed

最近升级了VPS, 在启动Nginx之后发现nginx_error.log不为空出现sched_setaffinity() 的错误: Google之后发现,是worker_cpu_affinity指令设置错误导致的问题. worker_cpu_affinity命令是设置Nginx进程与CPU进行绑定的.可以充分的利用多核/线程的性能 双核机器根据互联网上的说明设置如下,   根据测试,worker_cpu_affinity设置为01 10会出现报错. 正确设置   修改nginx.conf之后重启nginx就没有报错了.

WP-Rocket + Vanrish 4 使用的自定义PURGE规则 (一)

最近把Blog的前端放到了阿里云香港B,为了更好的缓存和试验新的架构选用了很出名的Varnish来替换掉Nginx作为前端缓存服务器使用. 因为使用的是自定义的一个VCL文件,导致PURGE规则和Blog正在使用的缓存插件WP-Rocket不兼容,使用WP-Rocket插件内部自带的Varnish模块不能清理文章,清理缓存只对首页有效. 在查看了Varnish的日志之后发现,WP-Rocket发送的全局清理的参数类似于 http://example.com/*. 或者 http://example.com/page/.* 但是我的Varnish并没有配置支持Ban方法和支持正则表达式.为了能够 Continue Reading