CentOs7配置安装Tengine
Tengine介绍
Tengine是由淘宝网发起的Web服务器项目。它在Nginx的基础上,针对大访问量网站的需求,添加了很多高级功能和特性。Tengine的性能和稳定性已经在大型的网站如淘宝网,天猫商城等得到了很好的检验。它的最终目标是打造一个高效、稳定、安全、易用的Web平台。
Tengine特点
继承Nginx-1.17.3的所有特性,兼容Nginx的配置;
支持HTTP的CONNECT方法,可用于正向代理场景;
支持异步OpenSSL,可使用硬件如:QAT进行HTTPS的加速与卸载;
增强相关运维、监控能力,比如异步打印日志及回滚,本地DNS缓存,内存监控等;
Stream模块支持server_name指令;
更加强大的负载均衡能力,包括一致性hash模块、会话保持模块,还可以对后端的服务器进行主动健康检查,根据服务器状态自动上线下线,以及动态解析upstream中出现的域名;
输入过滤器机制支持。通过使用这种机制Web应用防火墙的编写更为方便;
支持设置proxy、memcached、fastcgi、scgi、uwsgi在后端失败时的重试次数
动态脚本语言Lua支持。扩展功能非常高效简单;
支持按指定关键字(域名,url等)收集Tengine运行状态;
组合多个CSS、JavaScript文件的访问请求变成一个请求;
自动去除空白字符和注释从而减小页面的体积
自动根据CPU数目设置进程个数和绑定CPU亲缘性;
监控系统的负载和资源占用从而对系统进行保护;
显示对运维人员更友好的出错信息,便于定位出错机器;
更强大的防攻击(访问速度限制)模块;
更方便的命令行参数,如列出编译的模块列表、支持的指令等;
可以根据访问文件类型设置过期时间;
…
安装
准备工作
操作系统:Centos7,我是VMware装的Centos7,有关VMware安装Centos7的教程,请移步VMware10安装CentOs7详细教程,tengine-2.3.1.tar.gz(下载)
安装依赖组件:gcc openssl-devel pcre-devel zlib-devel,
命令:yum install gcc openssl-devel pcre-devel zlib-devel -y
安装组件成功大致如下图所示:
Tengine安装
将下载好的tengine安装包上传到指定目录下,一般为/usr/local,可以使用在线导入包插件上传,使用: yum -y install lrzsz命令安装即可,安装完在终端键入:rz,如下所示,上传目录即当前所在目录.
编译
解压上传的tengine安装包,因为nginx是基于C语言开发的,所以首先要将解压后的源码编译,进入到tengine目录,使用./configure –prefix=/安装目录命令编译,如下图显示
安装
使用make && make install命令,对源码进行安装,安装成功如下图所示
配置Tengine服务启动脚本
添加Tengine启动脚本文件nginx到/etc/init.d/这个文件目录下,文件内容如下
#!/bin/sh
#
# nginx – this script starts and stops the nginx daemon
#
# chkconfig: – 85 15
# description: Nginx is an HTTP(S) server, HTTP(S) reverse \
# proxy and IMAP/POP3 proxy server
# processname: nginx
# config: /etc/nginx/nginx.conf
# config: /etc/sysconfig/nginx
# pidfile: /var/run/nginx.pid
# Source function library.
./etc/rc.d/init.d/functions
# Source networking configuration.
./etc/sysconfig/network
# Check that networking is up.
[“$NETWORKING”=”no”]&&exit0
# 注意:这里需要修改为自己的tengine安装牡蛎
nginx=”/usr/local/tengine/sbin/nginx”
prog=$(basename$nginx)
NGINX_CONF_FILE=”/usr/local/tengine/conf/nginx.conf”
[-f /etc/sysconfig/nginx]&&./etc/sysconfig/nginx
lockfile=/var/lock/subsys/nginx
make_dirs(){
# make required directories
user=`nginx -V 2>&1|grep”configure arguments:”|sed’s/[^*]*–user=\([^ ]*\).*/\1/g’-`
options=`$nginx -V 2>&1|grep’configure arguments:’`
foroptin$options;do
if[`echo$opt|grep’.*-temp-path’`];then
value=`echo$opt|cut-d”=”-f 2`
if[!-d”$value”];then
# echo “creating” $value
mkdir-p$value&&chown-R$user$value
fi
fi
done
}
start(){
[-x$nginx]||exit5
[-f$NGINX_CONF_FILE]||exit6
make_dirs
echo-n $”Starting$prog: “
daemon$nginx-c$NGINX_CONF_FILE
retval=$?
echo
[$retval-eq 0]&&touch$lockfile
return$retval
}
stop(){
echo-n $”Stopping$prog: “
killproc$prog-QUIT
retval=$?
echo
[$retval-eq 0]&&rm-f$lockfile
return$retval
}
restart(){
configtest||return$?
stop
sleep1
start
}
reload(){
configtest||return$?
echo-n $”Reloading$prog: “
killproc$nginx-HUP
RETVAL=$?
echo
}
force_reload(){
restart
}
configtest(){
$nginx-t -c$NGINX_CONF_FILE
}
rh_status(){
status$prog
}
rh_status_q(){
rh_status>/dev/null 2>&1
}
case”$1″in
start)
rh_status_q&&exit0
$1
;;
stop)
rh_status_q||exit0
$1
;;
restart|configtest)
$1
;;
reload)
rh_status_q||exit7
$1
;;
force-reload)
force_reload
;;
status)
rh_status
;;
condrestart|try-restart)
rh_status_q||exit0
;;
*)
echo$”Usage:$0{start|stop|status|restart|condrestart|try-restart|reload|force-reload|configtest}”
exit2
esac
修改启动权限
chmod 777 nginx
启动服务
service Nginx start启动服务
service Nginx stop停止
service Nginx status状态
service Nginx reload动态重载配置文件
开放Tengine端口
firewall-cmd –zone=public –add-port=80/tcp –permanent开放端口
firewall-cmd –reload重启防火墙
firewall-cmd –query-port=80/tcp查看端口是否开放
操作成功如下图
启动tengine,启动成功则如图所示
用主机浏览器访问服务器的地址,如果返回如下图 则Tengine安装配置完成