zoukankan      html  css  js  c++  java
  • linux下tengine安装

    1.什么是tengine?

        说到tengine,首先还是得说下nginx了,大家对于nginx并不陌生,对于基本的需求都能满足,如果是涉及高级性能,那么就必须使用商用版nginx plus了,一谈到商用,大家就特别敏感,有没有开源免费的呢,有的,所以tengine诞生了。

        Tengine(http://tengine.taobao.org/index_cn.html)是由淘宝网发起的Web服务器项目。它在Nginx的基础上,针对大访问量网站的需求,添加了很多高级功能和特性。主要特性有

    • 继承Nginx-1.6.2的所有特性,兼容Nginx的配置;
    • 动态模块加载(DSO)支持。加入一个模块不再需要重新编译整个Tengine;
    • 支持SO_REUSEPORT选项,建连性能提升为官方nginx的三倍;
    • 支持SPDY v3协议,自动检测同一端口的SPDY请求和HTTP请求;
    • 流式上传到HTTP后端服务器或FastCGI服务器,大量减少机器的I/O压力;
    • 更加强大的负载均衡能力,包括一致性hash模块、会话保持模块,还可以对后端的服务器进行主动健康检查,根据服务器状态自动上线下线,以及动态解析upstream中出现的域名;
    • 输入过滤器机制支持。通过使用这种机制Web应用防火墙的编写更为方便;
    • 支持设置proxy、memcached、fastcgi、scgi、uwsgi在后端失败时的重试次数
    • 动态脚本语言Lua支持。扩展功能非常高效简单;
    • 支持管道(pipe)和syslog(本地和远端)形式的日志以及日志抽样;
    • 支持按指定关键字(域名,url等)收集Tengine运行状态;
    • 组合多个CSS、JavaScript文件的访问请求变成一个请求;
    • 自动去除空白字符和注释从而减小页面的体积
    • 自动根据CPU数目设置进程个数和绑定CPU亲缘性;
    • 监控系统的负载和资源占用从而对系统进行保护;
    • 显示对运维人员更友好的出错信息,便于定位出错机器;
    • 更强大的防攻击(访问速度限制)模块;
    • 更方便的命令行参数,如列出编译的模块列表、支持的指令等;
    • 可以根据访问文件类型设置过期时间

    2.tengine安装前准备

        2.1 编译环境准备

    yum -y install net-tools perl gcc gcc-c++ bzip2 autoconf automake

        2.2 Tengine用户和组添加

    #创建tengine用户和组 
    groupadd tengine
    useradd -g tengine tengine
    #设置用户tengine密码
    passwd tengine

        2.3 openssl安装

            OpenSSL 是一个强大的安全套接字层密码库,囊括主要的密码算法、常用的密钥和证书封装管理功能及SSL协议,并提供丰富的应用程序供测试或其它目的使用。安装OpenSSL(http://www.openssl.org/source/)主要是为了让tengine支持Https的访问请求。

    #1.安装openssl-1.0.2.tar.gz 
    #在https://www.openssl.org/source/下载openssl-1.0.2.tar.gz
    #wget http://www.openssl.org/source/openssl-1.0.2.tar.gz
    cd /home/tengine/software 
    #解压安装文件 
    tar -zxvf openssl-1.0.2.tar.gz 
    cd openssl-1.0.2
    #prefix配置安装路径 
    ./config --prefix=/home/tengine/openssl-1.0.2
    make 
    make install

        2.4 zlib安装

            Zlib是提供资料压缩之用的函式库,当Tengine想启用GZIP压缩的时候就需要使用到Zlib(http://www.zlib.net/)。

    #1.安装zlib-1.2.8.tar.gz 
    #在https://www.openssl.org/source/下载zlib-1.2.8.tar.gz
    #wget http://zlib.net/zlib-1.2.8.tar.gz
    cd /home/tengine/software 
    #2解压安装文件 
    tar -zxvf zlib-1.2.8.tar.gz 
    cd zlib-1.2.8 
    #3prefix配置安装路径 
    ./configure --prefix=/home/tengine/zlib-1.2.8 
    make 
    make install

        2.5 pcre安装

            PCRE(Perl Compatible Regular Expressions)是一个Perl库,包括 perl 兼容的正则表达式库。nginx rewrite依赖于PCRE库,所以在安装Tengine前一定要先安装PCRE,最新版本的PCRE可在官网(http://www.pcre.org/)获取。

     
    #1.安装pcre-8.39.tar.gz 
    #在ftp://ftp.csx.cam.ac.uk/pub/software/programming/pcre/下载pcre-8.39.tar.gz 
    #wget ftp://ftp.csx.cam.ac.uk/pub/software/programming/pcre/pcre-8.39.tar.gz

    cd /home/tengine/software 
    #2解压安装文件 
    tar -zxvf pcre-8.39.tar.gz
    cd pcre-8.39

    #3prefix配置安装路径 
    ./configure --prefix=/home/tengine/pcre-8.39
    make
    make install

        2.6 jemalloc安装

            jemalloc(http://www.canonware.com/jemalloc/)是一个更好的内存管理工具,使用jemalloc可以更好的优化Tengine的内存管理。

    #1.安装jemalloc-4.2.1.tar.bz2 
    #在http://www.canonware.com/download/jemalloc/下载jemalloc-4.2.1.tar.bz2 
    #wget http://www.canonware.com/download/jemalloc/jemalloc-4.2.1.tar.bz2
    cd /home/tengine/software
    #2解压安装文件 
    tar -jxvf jemalloc-4.2.1.tar.bz2
    cd jemalloc-4.2.1
    #3jemalloc配置安装路径 
    ./configure --prefix=/home/tengine/jemalloc-4.2.1
    make
    make install

    3.tengine安装

    #1.安装tengine-2.1.2.tar.gz
    cd /home/tengine/software 
    #2.解压安装文件 
    tar -zxvf tengine-2.1.2.tar.gz 
    cd tengine-2.1.2
    #3.with-pcre指定依赖包源代码位置,prefix配置安装路径 
    ./configure --prefix=/home/tengine/tengine-2.1.2
    --user=tengine
    --group=tengine
    --with-pcre=../pcre-8.39
    --with-zlib=../zlib-1.2.8
    --with-openssl=../openssl-1.0.2
    --with-jemalloc=../jemalloc-4.2.1
    --with-http_gzip_static_module
    --with-http_realip_module
    --with-http_stub_status_module
    --with-http_concat_module

    make 
    make install

         注意:with-pcre指定依赖包源代码位置,prefix配置安装路径

                   以上操作都是使用root用户进行编译

    4.修改tengine目录所属用户组和权限

    chgrp -R tengine /home/tengine/tengine-2.1.2/sbin
    chown -R tengine /home/tengine/tengine-2.1.2/sbin
    chmod -R 700 /home/tengine/tengine-2.1.2/

    5.tengine常用命令

        tegine命令其实和之前nginx并无差别,这里简单列举几个,其他命令详见nginx官网

    #1.启动tengine 
    cd /home/tengine/tengine-2.1.2/sbin 
    ./nginx 
    #2.查看端口 
    netstat -ntlp 
    #3.关闭tengine 
    cd /home/tengine/tengine-2.1.2/sbin
    ./nginx -s stop

    6.Tengine加入PATH

    #编辑/home/tengine/.bashrc,加入Tengine启动脚本到PATH
    vi /home/tengine/.bashrc
    export TENGINE_HOME=/home/tengine/tengine-2.1.2
    export PATH=$PATH:$TENGINE_HOME/sbin

    7.Tengine开机自启动

    #创建软连接
    ln -s /home/tengine/tengine-2.1.2/sbin/nginx /etc/init.d/nginx
    #赋予执行权限
    chmod a+x /etc/init.d/nginx
    vi /etc/rc.local
    #增加如下内容
    /etc/init.d/nginx
  • 相关阅读:
    最近很火的GAN应用
    pose项目里我遇到的问题
    pose的初体验
    Ubuntu 移动硬盘不能用
    深度学习中参数量与计算量的理解
    GAN的流程-cyclegan为例
    The version of SOS does not match the version of CLR you are debugging
    mnist 手写数字识别
    计算模型-图、数据模型-张量、运算模型-会话
    tensorflow环境安装
  • 原文地址:https://www.cnblogs.com/IPYQ/p/6609909.html
Copyright © 2011-2022 走看看