Tengine安装使用及配置

阿里云国内75折 回扣 微信号:monov8
阿里云国际,腾讯云国际,低至75折。AWS 93折 免费开户实名账号 代冲值 优惠多多 微信号:monov8 飞机:@monov6

1简介

Tengine是由淘宝网发起的Web服务器项目。它在Nginx的基础上,针对大访问量网站的需求,添加了很多高级功能和特性。Tengine的性能和稳定性已经在大型的网站如淘宝网,天猫商城等得到了很好的检验。它的最终目标是打造一个高效、稳定、安全、易用的Web平台。

从2011年12月开始,Tengine成为一个开源项目,Tengine团队在积极地开发和维护着它。Tengine团队的核心成员来自于淘宝、搜狗等互联网企业。Tengine是社区合作的成果,我们欢迎大家参与其中,贡献自己的力量。

2特性

  • 继承Nginx-1.18.0的所有特性,兼容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亲缘性;
  • 监控系统的负载和资源占用从而对系统进行保护;
  • 显示对运维人员更友好的出错信息,便于定位出错机器;;
  • 更强大的防 gong 击(访问速度限制)模块;
  • 更方便的命令行参数,如列出编译的模块列表、支持的指令等;
  • 支持Dubbo协议;
  • 可以根据访问文件类型设置过期时间;

3下载Tengine安装包

官网:http://tengine.taobao.org/下载地址:http://tengine.taobao.org/download.html

Tengine安装使用及配置_服务器

先从官网中下载好安装包

3.1.服务器上传、安装

然后将Tengine安装包上传到服务器(一般安装在 /usr/local 目录下)

tengine-2.3.3.tar.gz

使用命令解压安装包:tar -zxvf ./tengine-2.3.3.tar.gz

使用命令:cd ./tengine-2.3.3 进入到Tengine解压包中

3.2编译安装:

./configure --prefix=/安装路径 安装路径就是想将Tengine安装在的路径,例:./ configure --prefix=/usr/local/tengine

如果出现错误,则缺少系统依赖组件:

Tengine安装使用及配置_服务器_02

3.3安装依赖命令:

yum install gcc openssl-devel pcre-devel zlib-devel

没问题之后使用安装命令安装Tengine:make && make install

4基本命令使用

安装好之后先进入到Tengine目录:cd /usr/local/Tengine/sbin

运行Tengine(在sbin目录下):./nginx

Tengine安装使用及配置_nginx_03

停止Tengine:

4.1.先使用命令:

ps -ef | grep nginx 查看进程

Tengine安装使用及配置_服务器_04

4.2.使用:

kill -9 端口号 终止掉这两个进程(端口号写上面图片框选出来的端口,需要关闭两个进程,所以需要执行两次)

4.3脚本方式启动Tengine

1.使用命令:/etc/init.d 进入到此目录下

2.再使用:vi nginx 然后将脚本内容粘贴到文件中,wq保存退出

3.没有权限,需要使用:chmod 777 ./nginx 给文件权限(777是最高权限)

之后就可以使用命令去执行了

4.4启动服务命令:

启动服务:service nginx start

停止:service nginx stop

状态:service nginx status

动态重载配置文件:service nginx reload

4.5脚本内容:

#!/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安装目录/sbin/nginx" 如果你的Tengine不是安装在 /usr/local/tengine 下,需要将 /usr/local/tengine 该为你Tengine所安装的目录

nginx="/usr/local/tengine/sbin/nginx"

prog=$(basename $nginx)

# "Tengine安装目录/conf/nginx.conf" 如果你的Tengine不是安装在 /usr/local/tengine 下,需要将 /usr/local/tengine 该为你Tengine所安装的目录

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

阿里云国内75折 回扣 微信号:monov8
阿里云国际,腾讯云国际,低至75折。AWS 93折 免费开户实名账号 代冲值 优惠多多 微信号:monov8 飞机:@monov6