站台日志

升级到 Drupal8

Tony 提交于 周日, 2017-01-29 - 16:46

先按照这几个步骤把 Nginx 的坑填好,Drupal 官方到现在都没有一个开箱即用的 Drupal 8 for nginx.conf ,连最基本的 clean url 和下载远程文件都得按不同的文章这里修修那里补补才能用上。

再按照这几个步骤把 Memcached 的坑填好,有大神说 Drupal 8 使用 Memcached/Redis 没有太多增益,嗨 ,先搭起来,目前没看到有类似X Autoload之类可以很明显增强性能的模块,SupercachePanels 有冲突,先放一边等更新再说。

最后按照官网的升级步骤做就可以了,再进行 Drupal 著名的点点点配置工作,我点了3天才把待完成列表点完,还有不少模块没有 Drupal 8 的版本而要想另外的方法实现或只能等待,1年前接触 Drupal 7,1年后更新 Drupal 8 ,升级到 Drupal 8 的好处都有啥?对个人用户来说还有 BigPipe数据库转换后还能用上 emoji ,总之,好玩! 😁

文章标签

Drupal7在不同环境下的效能

Tony 提交于 周一, 2016-06-13 - 11:11

在升级VPS环境时对比了一下php5,php7和Memcached对Drupal7的效能的影响。

亮点

  • Drupal7对高版本的php有优化,在启用Memcached的情况下,php7比php5减少了15%的查询次数。
  • 启用Memcached就能达到加速200%的效果,实施简单并且非常划算。
  • php7线程占用内存变少,意味着能同时承受更多的访问量。

有图有真相(数值越小越好)

drupal+php7+memcached

测试数据

drupal+php7+memcached

总结

推荐使用php7+apc+apcu+memcached的环境来跑Drupal7,目前还没看到有不兼容的问题出现。

文章标签

AdvAgg + CDN 为 Drupal 加速

Tony 提交于 周六, 2016-05-07 - 13:08

Advanced CSS/JS Aggregation模块能把页面上的CSS和JS数量合并/压缩到指定数量,例如1,来减少HTTP请求数。CDN模块则能把指定格式/指定路径的静态文件改写到指定的域名上(例如改写到一个或多个支持CDN的空间)来进行加速。

效果图,TONYHEAD 通利堂首页的CSS和JS请求数减为1,misc目录下的文件(可以在CDN模块里通过黑白名单设置哪些路径)全部走又拍云上的CDN空间(cdn.tonyhead.com)。

AdvAgg + CDN 为Drupal加速

2016-06-11更新

在另外一个Drupal站实施AdvAgg加速的效果,三个结果分别为:

文章标签

TONYHEAD.COM延展到HTTP/2上并启用 Certificate Transparency 策略

Tony 提交于 周五, 2016-03-18 - 00:02

继上次切换到HTTPS后更进一步延展到HTTP/2以增强性能,并启用 Certificate Transparency 策略以增强防(bi)护(ge)。

TONYHEAD.COM延展到HTTP/2上并启用 Certificate Transparency 策略

TONYHEAD.COM延展到HTTP/2上并启用 Certificate Transparency 策略

TONYHEAD.COM延展到HTTP/2上并启用 Certificate Transparency 策略

在全民从虚拟主机转移到VPS的浪潮中我落后了,CDN我赶上了,HTTPS开始不再落后,HTTP/2和Certificate Transparency应该可以领先一阵子吧。cool

相关链接

文章标签

如何把MovableType导入Drupal

Tony 提交于 周四, 2016-02-04 - 12:22

此文记录了如何把一个MovableType的博客导入Drupal的过程,也可当成是一个WordPress导入Drupal的教程。 大体思路是先把MovalbeType导入WordPress,然后通过Migration from WordPress模块把WordPress导入Drupal。

导入前导入后的文件结构区别,N/A表示在转换过程中会丢失

  • MovableType ---> WordPress ---> Drupal
  • Entry ---> Post ---> Article
  • Page ---> N/A ---> N/A 注:MovableType导出的文件不带Page的部分
  • Category ---> Category ---> Tags(taxonomy)
  • Tags ---> Category ---> Tags(taxonomy) 注:在MovalbeType导入WordPress过程中后会自动截取文章标题转录入Tags,会有大量Tags生成。
  • Custom Fields ---> N/A ---> N/A
  • Comment ---> Comment ---> Comment
  • Trackback ---> Comment ---> Comment

MovalbeType导入WordPress

  1. 在MT 6后台,选 Tools -> Export Entries -> Export Website,可以得到一个TXT文件。
  2. 把这个TXT文件改名为 mt-export.txt ,上传到WordPress的 wp-content 目录下。
  3. 在WP后台,选 工具 -> 导入 -> Movable Type and TypePad (可能会提示需要安装插件) -> 导入 mt-export.txt
  4. 完成。

WordPress导入Drupal所需要的模块

因为Migration from WordPress支持在线导入WordPress站点,不需要任何数据文件,使得两边导入非常便捷,不用担心导入体积较大的网站时会出现脚本超时的状况。导入过程也伴随一个导入向导,你可以在向导中设置各种导入参数,甚至可以在导入结束后把Drupal倒回原来的状态。

TONYHEAD.COM切换到HTTPS上

Tony 提交于 周五, 2014-08-15 - 14:39

TONYHEAD.COM切换到HTTPS上

响应Google号召,使用 HTTPS 为TONYHEAD 通利堂全站护持。

SSL证书是msg7086友情帮忙签的Comodo Positive SSL,再次感谢。

2014-09-14更新

出于速度考量(又拍云的二级域名需要花费5秒在SSL Negotiation上),只对后台启用HTTPS加密,前台使用HTTP。

MovableType配置

修改 mt-config.cgi 里 CGIPath ,如果只是需求单纯Admin后台部分(mt.cgi)启用HTTPS那么就改成 AdminCGIPath ,因为我的计划是前后台(mt-comment.cgi+mt.cgi)都启用HTTPS,所以我设置的是 CGIPath 。

CGIPath https://www.tonyhead.com/cgi-bin/mt/

Nginx配置

在server括号中加入下列,把所有走80端口的流量都重定向到HTTPS下。

if ($server_port ~ "^80$"){ set $rule_0 1$rule_0; } if ($rule_0 = "1"){ rewrite /(.*) https://www.tonyhead.com/ $1 permanent; break; }

页面元素路径配置

把页面元素的引用路径都改成"//domain/flower.jpg"是一个好习惯,浏览器会根据当前页面是HTTP或是HTTPS来自动适配。

其他发现

  1. 在清理页面混合内容的过程中发现新浪云的 .sinaapp.com 和又拍云的 .upaiyun.com 都能支持HTTPS访问,在此大力推荐。
  2. AdminCGIPath 和 CGIPath 的区别
  3. 为了让手机上的浏览器(包括QQ浏览器和Chrome)完美支持加密访问TONYHEAD(不需要在客户端加入额外证书,避免了感叹号提示),需要在服务器端上做好足够的证书链,为什么需要完整的证书链可以参考这里
  4. TONYHEAD.COM的证书链截图。

文章标签

如何通过Nginx+PSGI运行MovableType

Tony 提交于 周一, 2014-08-11 - 12:50

一个游戏在通关前我都说不上喜爱,随后所有的精诚法门敏捷操控总在我知道我能通关为前提下一一展现。例如贪吃蛇,全屏首尾相接是没有悬念的,区别只在后期食物和加分水果距离蛇头的位置,来决定通关后能够获得的差异的分数。这也是我喜欢网页设计的原因,反正最终是可以实(chao)现(xi)这个效果的,只是看要花多少时间走怎(pian)样(men)的路线罢了。

于是我又来折腾了,把TONYHEAD 通利堂从传统的Apache-cgi_module-CGI切换到Nginx-PSGI-CGI上。

先说说为什么要用PSGI来跑MovableType这个Perl应用,用过MT的都知道MT后台的反应是多么的龟速(短板不在硬件上),想达到WordPress后台那种按按按就出结果的节奏是不可能的,但亲测转到PSGI后效果有明显改善。根据测评,PSGI模式的效率是CGI模式的1.9倍,是FastCGI的1.4倍,在另一个测评中,PSGI的效率都在CGI的2倍以上,如图:

CGI vs PSGI

图片来源

总之切换到PSGI后效能的提升是显而易见的,下面开始介绍做法。

系统环境

Starman是一个PSGI网关,在MovableType 5.2开始支持Nginx+PSGI时进入视野,mt-starman-daemon作为守护进程会把 /cgi-bin/mt/ 目录先预读进内存,把该目录下的所有cgi/pl脚本交给Starman处理,Nginx则负责处理前端静态文件和转发Starman。在AWS市场里Nginx+MySQL+Starman是作为MovableType 6的标准配置,可见这一组合和思路是被推崇的。

步骤

OS部分

先安装cpanminus。

curl -L http://cpanmin.us/ | perl - App::cpanminus

安装Plack,XMLRPC和Starman,这一步需时较长,请耐心等待。

cpanm Task::Plack XMLRPC::Transport::HTTP::Plack Starman

下载mt-starman。

wget -P /etc/init.d --no-check-certificate http://raw.github.com/saahov/mt-starman-daemon/master/debian/mt-starman

把mt-starman设置为可执行。

chmod +x /etc/init.d/mt-starman

修改mt-starman中的配置,需要修改 DIR, SCRIPT, USER, GROUP, ERROR_LOG, PIDFILE 这几个地方。

vi /etc/init.d/mt-starman

把mt-starman加入自动启动。

update-rc.d mt-starman defaults

Nginx部分

Nginx安装的具体步骤网上都有,一键安装包LNMPAMH都是不错的选择。配置Starman需要在 /usr/local/nginx/conf/nginx.conf 里 http 括号内加入:

upstream starman {
server 127.0.0.1:50000;
}

搬迁到BuyVM

Tony 提交于 周日, 2012-11-18 - 20:01

BuyVM最近提供了单独的MySQL服务,每月1美金就可以租用高性能的数据库,而且和本家VPS位于同一内网上,速度和安全都有非常有保障。

Offloaded database servers

For an additional $1.00/month, customers may purchase access to an offloaded MySQL server located on the same LAN as your VPS server.

Our SQL servers are backed by RAID 10 + SSD read caching to drastically improve performance.

All access to the SQL servers is available over your private IP address, meaning you pay no additional bandwidth costs for usage.

https://my.frantech.ca/cart.php?gid=19

之前购买了15元年付的128M VPS,受制于内存一直没有好好利用,现在加上数据库服务就可以把这个VPS用上,有种生机焕发的感觉。 :)

VPS环境CentOS 6.0 32bit (minimal),使用的是XAMPP配置Apache+PHP+Perl+ProFTPD (把安装文件的MySQL部分注释掉就可以省略MySQL了),安装完成后只占用60M左右的内存。(phpSysinfo信息)

搬迁到BuyVM的原因是旧空间商Site5准备限制资源了,而我目前的状况是每天都会超资源的,如果不迁出来就要升级方案,大概要额外给多7块钱左右,而BuyVM这边只需要每月1.25元,干脆搬过来VPS上,重建MovableType的时候再也不用担心影响到邻居了。

目前对BuyVM的想法主要分为两个方向:

  1. 优化单台VPS上的服务以达到"好用"的程度。(虚拟主机---》够用---》好用---》Linode)
  2. 利用BuyVM提供内网IP特色构造服务器群,以提高服务器群整体效率。

2013-01-08更新

BuyVM的Offloaded SQL服务,自己用不完,分点出来给同是BuyVM上的朋友。

位于SJ机房(1月18号将会搬迁),通过内网传输数据,可以为你节省一个MySQL服务,在BuyVM流行的128M小型号VPS上非常有意义。

Offloaded SQL - San Jose - Offloaded MySQL Hosting
Unlimited Databases
Unlimited Usernames
Unlimited Traffic
10GB Storage

Offloaded SQL:https://my.frantech.ca/cart.php?gid=19

Offloaded SQL的说明:http://wiki.buyvm.net/doku.php/sharedsql

如果同样为内存资源烦恼又信赖我的话(我不会看/动你的数据)可以联系我,希望你也是同在SJ机房并且知道128MB内存足够跑任何个人网站。 tyf0575@gmail.com

文章标签

升级到Movable Type 5.13

Tony 提交于 周一, 2012-03-05 - 21:32

把TONYHEAD 通利堂的站台从Movable Type 4.38升级到5.13,并把这座“房子”的坑补了一遍。

Movable Type 5

 

因为5.x的feeds-app-lite(版本1.22)抓取中文的rss会乱码,而我非常需要这个功能现实在首页的右侧,这是我停留在4.x的主要原因。直到最近找到了一个del.icio.us的PHP库可以做到一样的功能,于是我把这个坑填上并转移到Movable Type 5之上。

但这个PHP脚本不是生成静态的html,所以每次加载会有一定延迟,于是我用js做了一个延迟显示,这样就算加载不了也不会影响整个页面。

 

Movable Type 5

图:未加载完delicious_content前会显示一个Loading Loading 的图标,不影响显示页面的其他部分,读取完毕会加载入页面。

同时用这个库做了一个美味书签页面,使得风格可以统一起来并且显示在TONYHEAD 通利堂的“领土”之上(如果用阿殷的话说就是“under my custody”)

关于MovableType生成文件的属性,可参考这帖,这在需要生成PHP的环境中会遇到(例如在生成的页面里执行PHP代码,PHP文件需要755的属性来执行),我的配置如下:

HTMLPerms 0755
DBUmask 0022
HTMLUmask 0022
UploadUmask 0022
DirUmask 0022

另外因为服务器安全升级,旧的QRCode生成方式被禁止了,索性去掉,现在的QRCode交给Google Chart Tools生成。

掌上设备阅读

至此把5.x和书签的坑全填上了。

文章标签

CloudFlare统计

Tony 提交于 周三, 2011-11-09 - 20:51

CloudFlare上TONYHEAD.COM 2011-10-09至2011-11-08区间统计。

TONYHEAD.COM使用了CloudFlare服务一段时间,回头看一看使用CloudFlare带来的收益。 TONYHEAD.COM现在有11个A记录,2个CNAME记录由CloudFlare处理,在2011-10-09至2011-11-08期间:

CloudFlare
共产生了56,175个浏览量,其中41,983个系普通流量,5,342个来自搜索引擎,8,850来自风险流量。
CloudFlare
共发生254,038次页面元素请求,其中CloudFlare提供了194,829次响应,即系为TONYHEAD.COM的服务器节省了76%的请求数。
CloudFlare
共产生2.4GB流量,其中CloudFlare提供了其中的1.3GB,即系为TONYHEAD.COM的服务器节省了54%的流量。

以下为后台截图:

TONYHEAD.COM 2011-10-09至2011-11-08区间统计

文章标签