CentOs7配置安装Tengine

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安装配置完成
Comments are closed.