您的位置:首页 > 运维架构 > Nginx

nginx淘宝网升级Tengine实现多文件合并加载

2013-03-15 14:31 155 查看
Tengine是由淘宝核心系统部基于Nginx开发的Web服务器,它在Nginx的基础上,针对大访问量网站的需求,添加了很多功能和特性。Tengine的性能和稳定性已经在大型的网站如淘宝网,淘宝商城等得到了很好的验证。它的最终目标是打造一个高效、稳定、安全、易用的 Web 平台。Tengine现已开源。

淘宝网现在已经将其服务器平台软件Tengine 开源,已提供下载。Tengine基于Nginx,针对大流量网站需求增加了很多功能特性和性能优化。以下沿引项目主页上的特性介绍:

继承Nginx-1.0.10的所有特性;
组合多个CSS、JavaScript文件的访问请求变成一个请求;
支持管道和syslog形式的日志和抽样;
自动根据CPU数目设置亲缘性;
监控系统的负载和资源占用从而对系统进行保护;
显示对运维人员更友好的出错信息,便于定位出错机器;
更强大的访问速度限制模块;
backtrace模块,程序崩溃的时候可以显示出错的调用栈
项目主页提供中英文界面,帮助文档仍在完善中。
开源通告:http://tengine.taobao.org/opensource_cn.html
安装编译Tengine:
1、下载软件包:
wget http://tengine.taobao.org/download/tengine-1.2.0.tar.gz
2、安装pcre,如果已经安装yum服务,请直接使用:yum install pcre,
否则请去官方下载安装如下:
cd /usr/local/src
tar zxvf pcre-8.13.tar.gz
mkdir /usr/local/pcre #创建安装目录
cd pcre-8.13
./configure --prefix=/usr/local/pcre #配置
make
make install

3、安装 nginx
cd /usr/local/src
tar zxvf tengine-1.2.0.tar
cd tengine
./configure --prefix=/usr/local/nginx --with-http_stub_status_module --with-http_concat_module --with-openssl=/usr/ --with-pcre=/usr/local/src/pcre-8.13
注意:--with-pcre=/usr/local/src/pcre-8.13指向的是源码包解压的路径,而不是安装的路径,否则会报错
注意:如果要使用css/js等合并请求加载,请务必安装module --with-http_concat_module,其他模块可任意。
make
make install
4、启动nginx
/usr/local/nginx/sbin/nginx
chown nobody.nobody -R /usr/local/nginx/html
chmod 700 -R /usr/local/nginx/html
成功启动后,使用url访问可看到” Welcome to nginx!”,如:http://192.168.2.15/

5、关闭nginx使用kill
使用ps –ef 命令查找nginx的进程id,然后使:
kill 进程ID,即可关闭nginx

6、配置css\js 合并请求加载访问
cd /usr/local/nginx/conf
vi nginx.conf
在server配置中添加以下内容:
location /css/ {
# turn on concatenation # (default: off) concat on;
# max concat file number allowed # (default: 10) # concat_max_files 10;
# only files in the same content types are allowed # (default on) # concat_unique on;
# content types allowed # (default: application/x-javascript, text/css) # concat_types text/html;
}
/css/为需要使用的css/js合并加载目录,打开concat on;其他可不变,根据需要配置。

7、关闭nginx后重新启动nginx,测试合并加载:
url示例:
<link href="http://192.168.2.15/css/??demo1.css,demo2.css" type="text/css" rel="stylesheet" />
如果调用的样式能够显示说明配置成功,js可同样适用。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: