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" ] && exit 0
# 注意:这里需要修改为自己的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:'`
for opt in $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 ] || exit 5
[ -f $NGINX_CONF_FILE ] || exit 6
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
sleep 1
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 && exit 0
$1
;;
stop)
rh_status_q || exit 0
$1
;;
restart|configtest)
$1
;;
reload)
rh_status_q || exit 7
$1
;;
force-reload)
force_reload
;;
status)
rh_status
;;
condrestart|try-restart)
rh_status_q || exit 0
;;
*)
echo $"Usage: $0 {start|stop|status|restart|condrestart|try-restart|reload|force-reload|configtest}"
exit 2
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安装配置完成

本文提供了一篇详细的CentOS7上安装Tengine的教程。Tengine是基于Nginx的Web服务器,适用于大流量网站,具备高级功能和特性。在介绍Tengine的特点后,教程详细阐述了安装步骤,包括准备工作、安装依赖组件、编译和安装Tengine、配置启动脚本以及开放防火墙端口等,确保顺利启动并验证Tengine的运行。
432

被折叠的 条评论
为什么被折叠?



