系统越来越大,代码越来越多
陷入恐慌,速度越来越慢,不满越来越多,
话说tengine狠牛逼,高并发,jscss合并等特点,也为学习新东西故 今天试试。
taobao的tengine上没有安装文档,因为基于nginx所以估计可以按照nginx的安装方式安装吧。
高手都喜欢编译安装,我懒人低手喜欢类似yum的安装方法,这样有更新时比较方便。
tengine没有yum源所以只能手动安装了。
借鉴:http://www.linuxde.net/2011/12/4279.html文章
在centos6.2
安装 pcre,这是perl库,兼容perl5的正则表达规则,说是为了使tengine支持伪静态,想想也是,要通过正则来url重写嘛
下载 wget ftp://ftp.csx.cam.ac.uk/pub/software/programming/pcre/pcre-8.31.zip
建安装目录 mkdir pcre831 防止以后升级带个版本号吧,狗屎想法
指定安装路径将下载的包解压,进入,然后配置./configure --prefix=/opt/sws/program/pcre831
编译:make, 提示错误libtool参数错误,先安装之 yum -y install libtool
谔谔 好像进行不下去了
试试这篇的办法:http://my.oschina.net/itbeihe/blog/73304,不用apt-get 用yum命令爽多了
下载tengine的包,并解压
wget http://tengine.taobao.org/download/tengine-1.4.1.tar.gz
tar zxvf tengine-1.4.1.tar.gz
进入解压目录,配置
./configure --prefix=/opt/sws/program/tengine --with-http_concat_module --with-http_sysguard_module --with-http_stub_status_module
通不过,说PCRE木有
就: yum -y install pcre #说已经安装了最新的,
只好:yum -y install pcre-devel # 再配置 即可成功
make #貌似ok
make install #超级快我以为出错了,暂时不管,先跑起来再说
修改配置文件
vi /opt/sws/program/tengine/conf/nginx.conf
以下引用:
修改对应的location配置:
location / {
root /home/beihe/work8 concat on; #开启合并功能
autoindex on; #允许列出整个目录,nginx默认不列出文件列表
autoindex_exact_size off; #显示出文件的大概大小,单位是kB或者MB或者GB,如果是on,单位是bytes autoindex_localtime on; #显示的文件时间为GMT时间
}
5.tengine基本命令
/usr/local/nginx/sbin/nginx 启动
/usr/local/nginx/sbin/nginx -s reload 重启
/usr/local/nginx/sbin/nginx -s stop 关闭
启动nginx的用户可能没有nginx,logs目录访问权限,可能会有下面提示错误:
could not open error log file: open() "/usr/local/nginx/logs/error.log" failed (13: Permission denied)2011/03/21 06:09:33 [emerg] 24855#0: mkdir() "/usr/local/nginx/client_body_temp" failed (13: Permission denied)
解决办法:
sudo chmod a+rwx -R logs
sudo chmod a+rwx -R /usr/local/nginx
6.启动tengine,体验concat合并功能。
concat功能可以在服务器端合并多个文件,
比如你要下面三个js文件
http://a.tbcdn.cn/p/fp/2012/fp/layout.css
http://a.tbcdn.cn/p/fp/2012/fp/dpl/dpl.css
http://a.tbcdn.cn/p/fp/2012/fp/sitenav/sitenav.css
只需要通过下面一个链接,就可以获得上面3个css文件,并且合并过后的文件gzip压缩的。 http://a.tbcdn.cn/p/fp/2012/fp/??layout.css,dpl/dpl.css,sitenav/sitenav.css,logo/logo.css?t=2012080220120724.css
要想合并css和js的话得按照以上链接拼装了
前端显示时的链接拼接后台代码要整理成通用的函数或接口,组装成上面这种链接形式
差不多类似:
function getCssjs($files){
if(is_array($files)){
//todo:
}else{
//todo
}
};