淘宝Web服务器Tengine在CentOS下的安装教程
注:服务器环境为centos
一、简介
tengine是由淘宝网发起的web服务器项目。它在nginx的基础上,针对大访问量网站的需求,添加了很多高级功能和特性。tengine的性能和稳定性已经在大型的网站如淘宝网,天猫商城等得到了很好的检验。它的最终目标是打造一个高效、稳定、安全、易用的web平台。
从2011年12月开始,tengine成为一个开源项目,tengine团队在积极地开发和维护着它。tengine团队的核心成员来自于淘宝、搜狗等互联网企业。tengine是社区合作的成果,我们欢迎大家参与其中,贡献自己的力量。
二、特性
继承nginx-1.2.9的所有特性,100%兼容nginx的配置;
动态模块加载(dso)支持。加入一个模块不再需要重新编译整个tengine;
输入过滤器机制支持。通过使用这种机制web应用防火墙的编写更为方便;
动态脚本语言lua支持。扩展功能非常高效简单;
支持管道(pipe)和syslog(本地和远端)形式的日志以及日志抽样;
组合多个css、javascript文件的访问请求变成一个请求;
更加强大的负载均衡能力,包括一致性hash模块、会话保持模块,还可以对后端的服务器进行主动健康检查,根据服务器状态自动上线下线;
自动根据cpu数目设置进程个数和绑定cpu亲缘性;
监控系统的负载和资源占用从而对系统进行保护;
显示对运维人员更友好的出错信息,便于定位出错机器;
更强大的防攻击(访问速度限制)模块;
更方便的命令行参数,如列出编译的模块列表、支持的指令等;
可以根据访问文件类型设置过期时间;
三、安装
1.yum安装
yum安装比较简单,配置好源以后直接yum install即可。
①配置第三方yum源(centos的默认源里是没有nginx软件包的)
wget http://www.atomicorp.com/installers/atomic #下载atomic yum源
sh ./atomic #安装
yum check-update #更新yum软件包
②安装配置
service nginx start #启动
chkconfig nginx on #设为开机启动
/etc/init.d/nginx restart #重启
rm -rf /usr/share/nginx/html/* #删除ngin默认测试页
2.源码编译安装
源码安装稍微复杂一点,有一些相关的依赖包需要单独编译
源码安装既可以选择原版的nginx也可以使用淘宝修改过的tengine,这里推荐使用tengin,tengine完全兼容nginx并且加入了许多的新特性,适合日益复杂的业务扩展。
tengine官网:http://tengine.taobao.org/
①先安装pcre,用于支持nginx的伪静态
# cd /usr/local/src
# wget ftp://ftp.csx.cam.ac.uk/pub/software/programming/pcre/pcre-8.21.tar.gz
# tar zxvf pcre-8.21.tar.gz
# mkdir /usr/local/pcre #创建安装目录
# cd pcre-8.21
# ./configure --prefix=/usr/local/pcre #配置
# make
# make install
②安装tengine
# cd /usr/local/src
# wget http://tengine.taobao.org/download/tengine-1.4.2.tar.gz
# tar zxvf tengine-1.4.2.tar.gz
# cd tengine
# ./configure --prefix=/usr/local/nginx --with-http_stub_status_module --with-pcre=/usr/local/src/pcre-8.21
# make
# make install
# /usr/local/nginx/sbin/nginx #启动nginx
# chown nobody.nobody -r /usr/local/nginx/html
# chmod 700 -r /usr/local/nginx/html
注意:--with-pcre=/usr/local/src/pcre-8.21指向的是源码包解压的路径,而不是安装的路径,否则会报错。
③设置tengine开机启动
#!/bin/bash
# tengine startup script# processname: nginx
# pidfile: /var/run/nginx.pid
# config: /usr/local/nginx/conf/nginx.conf
nginxd=/usr/local/nginx/sbin/nginx
nginx_config=/usr/local/nginx/conf/nginx.conf
nginx_pid=/usr/local/nginx/logs/nginx.pid
retval=0
prog="nginx"
# source function library.
. /etc/rc.d/init.d/functions
# source networking configuration.
. /etc/sysconfig/network
# check that networking is up.
[ ${networking} = "no" ] && exit 0
[ -x $nginxd ] || exit 0
# start nginx daemons functions.
start() {
if [ -e $nginx_pid ];then
echo "tengine already running...."
exit 1
fi
echo -n $"starting $prog: "
daemon $nginxd -c ${nginx_config}
retval=$?
echo
[ $retval = 0 ] && touch /var/lock/subsys/nginx
return $retval
}
# stop nginx daemons functions.
stop() {
echo -n $"stopping $prog: "
killproc $nginxd
retval=$?
echo
[ $retval = 0 ] && rm -f /var/lock/subsys/nginx /usr/local/nginx/logs/nginx.pid
}
reload() {
echo -n $"reloading $prog: "
#kill -hup `cat ${nginx_pid}`
killproc $nginxd -hup
retval=$?
echo
}
# see how we were called.
case "$1" in
start)
start
;;
stop)
stop
;;
reload)
reload
;;
restart)
stop
start
;;
status)
status $prog
retval=$?
;;
*)
echo $"usage: $prog {start|stop|restart|reload|status|help}"
exit 1
esac
exit $retval
保存退出
# chmod 775 /etc/rc.d/init.d/nginx #赋予文件执行权限
# chkconfig nginx on #设置开机启动
# /etc/rc.d/init.d/nginx restart
至此,nginx安装结束。这里再说一下为什么要使用淘宝的tengine:
1.继承nginx的所有特性,100%兼容nginx的配置;
2.动态模块加载(dso)支持。加入一个模块不再需要重新编译整个tengine;
3.输入过滤器机制支持。通过使用这种机制web应用防火墙的编写更为方便;
4.动态脚本语言lua支持。扩展功能非常高效简单;
5.支持管道(pipe)和syslog(本地和远端)形式的日志以及日志抽样;
6.组合多个css、javascript文件的访问请求变成一个请求;
四、成功页面
安装并启动tengine后,浏览器输入ip地址,看到下图则说明安装成功。
五、注意事项
1. –with-openssl=/usr/local/src/openssl-1.0.1e 这步可能会出错,注意:–with-openssl=/usr/local/src/openssl-1.0.1e 指向的是源码包解压的路径,而不是安装的路径,否则会报错,下载,解压源码包,如下:
cd /usr/local/src
wget http://www.openssl.org/source/openssl-1.0.1e.tar.gz
tar zxvf openssl-1.0.1e
然后再重新执行 tengine 安装即可。
2. –with-pcre=/usr/local/src/pcre-8.33 指向的是源码包解压的路径,而不是安装的路径,否则会报错。
推荐阅读
-
淘宝Web服务器Tengine在CentOS下的安装教程
-
在CentOS 7.2下安装Mono 5.0的方法教程
-
使用YUM在Linux(CentOS 7)下安装mysql 5.7.18的教程详解
-
在 Ubuntu 15.04/CentOS 7 中安装 Lighttpd Web 服务器的方法
-
CentOS 7下安装配置proftpd搭建ftp服务器的详细教程
-
在CentOS 7系统下安装Maven以及设置国内镜像地址的教程
-
淘宝Web服务器Tengine在CentOS下的安装教程
-
php5.6在centos7下编译安装的图文教程
-
在CentOS 7.2下安装Mono 5.0的方法教程
-
python3.6.1在centos6.4下的安装图文教程