Varnish泛解析域名设置

varnish logo

先说点废话

好久没写点东西了,拖延症最近越来越严重,整整两个星期没写过几行代码,倒是追完了一部写了一年多的小说:(时间浪费的太严重了。

从上周开始其实就在强迫自己打开Sublime Text写一些东西,但每次把项目给拖进去就感觉很难进入状态。拖拖拉拉半周过去了,终于勉强算是写了一个半成品出来。

而且这个半成品还只是把前一阵买过来个一套PHP的代码重写了一下,将只能在SAE运行的代码迁移到了VPS上,并改成了Python平台。

正文

这套代码其实就是博客右侧的一个天猫店铺收集的Python版本而已,部署代码时候用到了泛域名解析的部分,nginx的conf规则如下:

if ($uri ~* "/(.*)/(.*)/(.*)\.html") {

rewrite "^/(.*)/(.*)/(.*)\.html$" /$1/$2/$3.html last;

}

if ($host ~* "(.*)\.94425\.com") {

set $subdomain $1;

rewrite "^/(.*)$" /$subdomain/$1 last;

}

而varnish的规则则更简单:

if (req.http.host ~ ".?94425.com"){

set req.backend = t94425;

}

再来点废话,不想重开一个新帖子

之前手里两台Buyvm的VPS的部署情况是:一台部署memcached和varnish反代另一台。而另一台VPS同时在跑Mysql nginx apache python uwsgi,而且也有一些定时任务在抓取新浪微博的图片,因为俺的Buyvm的VPS都是128保证内存 256突发内存,基本上已经长期占用了突发,且偶尔抓取图片脚本运行时候还会出现内存被吃满的情况。

大概一个月前将两台年付Buyvm的VPS重新部署了一下,将Mysql做了读写分离,然后将varnish部署在了另一家的VPS上,并将大部分的web压力转移到Mysql从库所在的那台VPS。虽然这样做起来只要有一台VPS挂了站点基本也都会同时挂掉,但两台VPS的本身内存压力一下就降了下来。而且即便某一台vps的挂掉了,马上切换掉主从Mysql的配置就可以临时继续扛着,而且即便一台机器的数据丢失了另一台还能马上补上。

添加新评论 »