淘宝Web服务器Tengine在CentOS下的安装教程_nginx

注:服务器环境为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软件包的)

复制代码 代码如下:

yum install wget    #安装下载工具wget      
wget http://www.atomicorp.com/installers/atomic  #下载atomic yum源      
sh ./atomic   #安装      
yum check-update  #更新yum软件包

②安装配置

复制代码 代码如下:

yum install nginx      #安装nginx,根据提示,输入Y安装即可成功安装      
 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开机启动
 

复制代码 代码如下:

# vi /etc/rc.d/init.d/nginx  #编辑启动文件添加下面内容

#!/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 指向的是源码包解压的路径,而不是安装的路径,否则会报错。

时间: 2024-09-20 23:46:07

淘宝Web服务器Tengine在CentOS下的安装教程_nginx的相关文章

【图文】详解淘宝web服务器Tengine动态模块加载的使用方法

Tengine是由淘宝网发起的Web服务器项目.它在Nginx的基础上,针对大访问量网站的需求,添加了很多高级功能和特性.目前已开源.它由Tengine团队开发和维护.Tengine团队的核心成员来自于淘宝.搜狗等互联网企业.Tengine继承Nginx的所有特性,100%兼容Nginx的配置.本文主要介绍它的"动态模块加载(DSO)"的基本使用方法. 什么是"动态模块加载"呢?打个简单的比: 默认Nginx没有echo功能,传统情况下,我们会下载echo模块,然后

淘宝 Web 服务器 Tengine 正式开源

我们很高兴的宣布由淘宝网核心系统部开发的Tengine服务器终于正式开源了. 淘宝网是亚洲最大的电子商务 网站,Alexa全球排名第12位.每天访问淘宝网的PV超过了几十亿.大压力的访问,对淘宝网的Web服务器提出了严苛的要求.经过一系列的对比,我们最终选择了Nginx作为我们的Web服务器,因为它性能高,又非常节省资源(CPU和内存),并且有足够的灵活性. 一开始我们使用Nginx还仅仅用它来处理静态文件.PHP等,接着我们又在Nginx上开发了几十个各种用途的模块.随着对Nginx的 越来越

ftp上传下载,ftp服务器在windows系统下,web服务器在linux系统下

问题描述 ftp上传下载,ftp服务器在windows系统下,web服务器在linux系统下 哪位大神知道: ftp服务器在搭建windows系统下,web服务器在部署linux系统下,现java中使用ftpclient实现上传下载时,下载的文件内容是乱码: 之前web服务器也部署在windows系统下正常的,后来迁移到linux系统下出现乱码了啊,中文文件名编码正常. 查ftpclient的源码发现读取ftp服务器上文件的编码格式固定了,无法在外部修改,有试着将读取出来的文件转码各种编码方式,

50%-60%的订单来自淘宝市场,40%来自线下档口批发

阿里巴巴一份数据显示,自从阿里和淘宝系统打通之后,目前,50%-60%的订单来自淘宝市场,40%来自线下档口批发.按照阿里巴巴今年全年1000亿在线交易额估算,淘宝市场占据500-600亿的批发规模. 虽然没有确切的来自天猫市场的批发数据,但是有不少商户几乎也是采取从阿里巴巴批发进货的方式.可以看到下游b端和c端对上游源头B端依赖程度之高.同时,因为,线上批发市场比之线下批发市场更具价格优势线和产品多样性.因此,线下批发市场直接从线上得到受益. 说到批发卖货,他们是非常活跃的一个群体.或者或者两

web服务器-erlang的WEB服务器yaws在win下的部署

问题描述 erlang的WEB服务器yaws在win下的部署 yaws服务器在win系统下可以部署吗? 能不能给下部署时: 1.yaws配置文件 2.环境变量的配置. 3.目标页面需要放在yaws特定某个目录下吗? 最后希望通过:http://www.IP.8080:index.html访问到 谢谢大神回答 解决方案 参考:http://7301766.blog.163.com/blog/static/144633559201112311523885/

淘宝试水实体店覆盖线下人群

2008年的最后一个月,作为淘宝网的资深卖家,王咏梅开始了一项全新的业务转型--属于自己的第一家线下实体店铺"淘一站"正式开张迎宾. 与淘宝网线上的店铺颇为类似,在王的"淘一站"店内,摆放着各式"物美价廉"的小商品样本.而区别于周围的小百货,"淘一站"中还有一张特别的商品目录单,根据顾客的需要,提供网上的代购服务. "淘一站的实质,就是把网上的虚拟店铺搬到了线下的实体店."王咏梅告诉记者,"以前每

CentOS下MySQL安装后配置和设置

CentOS下MySQL安装后配置和设置: 1:安装完成路径: 1.数据库目录 /var/lib/mysql/ 2.配置文件 /usr/share/mysql(mysql.server命令及配置文件) 3.启动脚本 /etc/rc.d/init.d/(启动脚本文件mysql的目录) 4.相关命令 /usr/bin(mysqladmin mysqldump等命令) 注:1~3安装server安装后存在,4mysqladmin mysqldump在client安装后存在 查看数据库版本: m

Redis 对比 Memcached 并在 CentOS 下进行安装配置详解_Redis

Redis 是一个开源.支持网络.基于内存.键值对的 Key-Value 数据库,本篇文章主要介绍了Redis 对比 Memcached 并在 CentOS 下进行安装配置详解,有兴趣的可以了解一下. 了解一下 Redis Redis 是一个开源.支持网络.基于内存.键值对的 Key-Value 数据库,使用 ANSI C 编写,并提供多种语言的 API ,它几乎没有上手难度,只需要几分钟我们就能完成安装工作,并让它开始与应用程序顺畅协作.换句话来说,只需投入一小部分时间与精力,大家就能获得立竿

CentOS下PHP安装Oracle扩展

这篇文章主要介绍了CentOS下PHP安装Oracle扩展,本文讲解了环境.下载Oracle客户端.更改php.ini.重新启动PHP等内容,需要的朋友可以参考下     环境 System:CentOS 6 PHP: 5.3.28 下载Oracle客户端 32位系统 64位系统   复制代码 代码如下: oracle-instantclient-sqlplus-10.2.0.4-1.x86_64.rpm oracle-instantclient-jdbc-10.2.0.4-1.x86_64.r