1.把yaf-2.3.3.tgz下载到/root
#tar zxvf yaf-2.3.3.tgz
#cd yaf-2.3.3
2.找到phpize到目录
#whereis phpize
phpize: /usr/bin/phpize
3.执行phpize
#/usr/bin/phpize
Configuring for:
PHP Api Version:         20100412
Zend Module Api No:      20100525
Zend Extension Api No:   220100525
4.再执行一下命令
# ./configure – -with-php-config=/usr/local/php/bin/php-config
# make && make install

Read More →

1.确定你安装好lnmp  然后备份一下nginx

cd ~

service nginx stop

mv /usr/local/nginx  /usr/local/nginx18

2.安装Tengine  (备注with前两个-)

cd ~
wget http://tengine.taobao.org/download/tengine-2.0.0.tar.gz
tar zxvf tengine-2.0.0.tar.gz
cd tengine-2.0.0
./configure –with-http_concat_module

make
make install

3.把以前的配置文件拷贝回来

mv /usr/local/nginx/conf/nginx.conf /usr/local/nginx/conf/nginx.confbak

cp /usr/local/nginx18/conf/nginx.conf /usr/local/nginx/conf/nginx.conf

4.编辑/usr/local/nginx/conf/nginx.conf     的对应的Server中添加如下内容

location /static/ {
concat on; #启用concat函数
concat_unique off; #允许返回不同类型的文件内容(js,css同时合并)
concat_delimiter “\n”; #自动在返回每个文件内容的末尾添加换行符
concat_ignore_file_error off; #不要忽略所合并的文件不存在等错误
}

5.重启Tengine

service nginx start

6.测试,你的js和css可以这样写

<link rel="stylesheet" type="text/css" href="/static/css/??style.css,css.css">
<script type="text/javascript" src="/static/js/??jquery.js,slide.js"></script>

上一篇文章介绍了怎么安装Tengine 这一篇就介绍安装concat模块合并网站多个css和js请求

 

Tengine动态加载模块的编译安装方法,参考官方文档 http://tengine.taobao.org/document_cn/dso_cn.html

Tengine所有的HTTP功能模块,都可以在configure的时候,通过 –with-http_xxxx_module=shared 的形式编译为动态加载模块,如果不指定=shared 则会被静态编译到Tengine的核心中;安装动态加载模块用 make dso_install命令;

编译启用动态加载模块: mod_concat

Read More →

大家都很熟悉nginx,是一个高性能的HTTP和反向代理服务器,因它的稳定性、丰富的功能集、示例配置文件和低系统资源的消耗而闻名。而Tengine或许听说过的人不多,但它确实大名鼎鼎的淘宝网使用的HTTP服务器。它是在Nginx的基础上,针对大访问量网站的需求,添加了很多高级功能和特性。

目前Tengine最新的版本是2.0.0 集成nginx1.4.4的所有特性

wget -c http://tengine.taobao.org/download/tengine-2.0.0.tar.gz
tar zxvf tengine-2.0.0.tar.gz
cd tengine-2.0.0
./configure
make
mv /usr/local/nginx/sbin/nginx /usr/local/nginx/sbin/nginx.old
cp -r objs/nginx /usr/local/nginx/sbin/nginx

然后注释掉 /usr/local/nginx/conf/nginx.conf下的一些代码,如下

#location /status {
#    stub_status on;
#    access_log off;
#}

检查是否正常工作

/usr/local/nginx/sbin/nginx  -t

如提示success则表示成功

然后杀掉nginx进程然后重启服务

kill -USR2 `cat /usr/local/nginx/logs/nginx.pid`
kill -QUIT `cat /usr/local/nginx/logs/nginx.pid.oldbin`
/etc/init.d/nginx  stop
/etc/init.d/nginx start

最后查看nginx版本号,正常情况应该提示Tengine/2.0.0

/usr/local/nginx/sbin/nginx -v

最新版本是2.1.0   但是这款只支持css合并,不支持js合并。所以我这里就用2.0.0

昨天,一个程序需要导出500条数据,结果发现到150条是,Nginx报出504 Gateway Timeout错误 有的是502错误

经观察,发现大约30秒时超时,php.ini中执行时间配置已经是300秒:

写个程序测试

echo ‘aaa’;
set_time_limit(0);
sleep(40);
echo ‘aa’;

依然超时,可以确定set_time_limit这个函数没生效。

再查php-fcgi的配置php-fpm.conf,下边这个设置疑似有问题:

<value name=”request_terminate_timeout”>30s</value>

这个值修改到  0秒的是时候 是不限制。这样对服务器性能有损失。我设置的是900秒解决问题

Linux系统下 lnmp的集成环境

把 /usr/local/php/etc/php-fpm.conf  中的 request_terminate_timeout = 900 就可以了