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

 更新时间:2016年1月27日 20:14  点击:1722

注:服务器环境为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 指向的是源码包解压的路径,而不是安装的路径,否则会报错。

[!--infotagslink--]

相关文章

  • Linux CentOS MySQL数据库安装配置教程

    这篇文章主要为大家详细介绍了Linux CentOS MySQL数据库的安装配置教程,具有一定的参考价值,感兴趣的小伙伴们可以参考一下...2017-05-19
  • 使用C++制作简单的web服务器

    本文给大家分享的是使用C++简单实现web服务器的代码,虽然非常的简陋,功能也很少,主要是为了更好的理解WEB服务器的工作原理,推荐给大家,也希望对大家能够有所帮助。...2020-04-25
  • Web服务器的趋势

    (作者:曹文龙、李维森)   目前,Web服务器的发展有三个主要趋势:   1.从HTML到XML(Extensible Markup Language-可扩展标记语言)   HTML被称为“第一代Web语言”,如前面...2016-11-25
  • 单台web服务器如何尽可能的提高网站性能

    一个网站,对于个人或小公司来说,前期直接上集群的开销是比较大的,那么采用单台服务器如何才能尽可能的提高网站效率呢?...2016-01-27
  • android与Web服务器交互时的cookie使用实例

    本文章分享一篇关于android与Web服务器交互时的cookie使用实例有需要的同学可以参考一下。 下面是具体的代码 /** * 向网站发送get请求,url需按照api要求写,返回取...2016-09-20
  • CentOS6.6 安装 Tengine 笔记

    这篇文章主要介绍了CentOS6.6 安装 Tengine 笔记,本文讲解了安装必要的编译环境好、安装需要的组件、安装Tengine等步骤,需要的朋友可以参考下...2016-01-27
  • android通过http上传文件到web服务器端

    本文章介绍了一个关于android通过http来实现文件上传功能,在服务器端我们是用php来实现的,有需要的朋友可以参考一下 代码如下 复制代码 <?...2016-09-20
  • Go语言实现简单的一个静态WEB服务器

    这篇文章主要介绍了Go语言实现简单的一个静态WEB服务器,本文给出了实现代码和运行效果,学习Golang的练手作品,需要的朋友可以参考下...2020-05-01
  • IIS做WEB服务器无法下载某些中文名文件的解决方法

    文件名为2个、4个中文字时无法下载,而1个、3个、5个时没有问题,具体的解决方法如下,感兴趣的朋友可以参考下...2016-01-27
  • Windows Server 2008 架设 Web 服务器教程(图文详解)

    虽然 Windows Server 2008 内置了I IS 7.0,但是默认情况下并没有安装。由于 Windows Server 2008 中安装 IIS 服务和以前操作相比有很大的不同,因此首先要首先需要参照下述步骤安装 IIS 7.0 组件...2016-01-27
  • Go语言实现的一个简单Web服务器

    这篇文章主要介绍了Go语言实现的一个简单Web服务器,本文先是给出一个使用http包建立的Web服务器源码,并对比了其它编程语言,需要的朋友可以参考下...2020-05-01
  • 基于Nginx的衍生版服务器Tengine简介

    这篇文章主要介绍了基于Nginx的衍生版服务器Tengine简介,本文讲解了Nginx的特性、Tengine的特性、架构和扩展性等内容,需要的朋友可以参考下...2016-01-27
  • 来自西部数码的WEB服务器安全设置

    最近从网上看到了西部数据的对于WEB服务器安全设置方法,考虑了一些细节,其实大家可以用青云安全设置器,更全面与方便。...2016-01-27
  • 给web服务器增加其它端口实例[apache+php]

    给web服务器增加其它端口实例[apache+php教程] /* 找到你的apache安装目录,找到httpd.conf文件, 搜索#listen这一句,在下面增加 代码如下 复制代码 ...2016-01-28
  • Windows nginx安装教程及简单实践

    这篇文章主要介绍了Windows nginx安装教程及简单实践的相关资料,需要的朋友可以参考下...2016-11-01
  • 淘宝Web服务器Tengine在CentOS下的安装教程

    这篇文章主要介绍了淘宝Web服务器Tengine在CentOS下的安装教程,本文同时介绍了Tengine是什么,需要的朋友可以参考下...2016-01-27
  • 如何将 Nginx 配置为Web服务器的方法

    本篇文章主要介绍了如何将 Nginx 配置为Web服务器的方法,小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧 ...2017-07-06
  • 使用PHP内置web服务器的教程

    使用PHP内置web服务器第一次听说过了,只听过在windows中内置了php运行环境了,那么使用PHP内置web服务器到底是一个什么东西呢,一起来看看。 PHP 5.4起就在CLI SAPI中...2016-11-25
  • 使用C++制作简单的web服务器(续)

    本文承接上文《使用C++制作简单的web服务器》,把web服务器做的功能稍微强大些,主要增加的功能是从文件中读取网页并返回给客户端,而不是把网页代码写死在代码中,有需要的小伙伴来参考下吧。...2020-04-25
  • 用IIS建立高安全性Web服务器的方法

    因为IIS(即Internet Information Server)的方便性和易用性,使它成为最受欢迎的Web服务器软件之一。但是,IIS的安全性却一直令人担忧。如何利用IIS建立一个安全的Web服务器,是很多人关心的话题。...2016-01-27