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 编译环境准备
2.2 Tengine用户和组添加
groupadd tengine
useradd -g tengine tengine
#设置用户tengine密码
passwd tengine
2.3 openssl安装
OpenSSL 是一个强大的安全套接字层密码库,囊括主要的密码算法、常用的密钥和证书封装管理功能及SSL协议,并提供丰富的应用程序供测试或其它目的使用。安装OpenSSL(http://www.openssl.org/source/)主要是为了让tengine支持Https的访问请求。
#在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/)。
#在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/)获取。
#在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的内存管理。
#在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安装
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目录所属用户组和权限
chown -R tengine /home/tengine/tengine-2.1.2/sbin
chmod -R 700 /home/tengine/tengine-2.1.2/
5.tengine常用命令
tegine命令其实和之前nginx并无差别,这里简单列举几个,其他命令详见nginx官网
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
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
linux下tengine安装的更多相关文章
- Linux下yum安装MySQL
写这篇文章的原因是:在刚开始使用Linux操作系统时想要搭建LAMP环境,于是开始在Google和百度上各种寻找资料,碰到了不是很多的问题后,我决定写这篇文章总结一下在Linux下yum安装MySQL ...
- LINUX下编译安装PHP各种报错大集合
本文为大家整理汇总了一些linux下编译安装php各种报错大集合 ,感兴趣的同学参考下. nginx1.6.2-mysql5.5.32二进制,php安装报错解决: 123456 [root@clien ...
- 【夯实PHP基础系列】linux下yum安装PHP APC
Alternative PHP Cache(可选PHP缓存),依赖于 PECL扩展库 用源码方式安装,直接yum就行了:首先要安装apc的依赖包:yum install php-pear php-de ...
- Linux学习心得之 Linux下ant安装与使用
作者:枫雪庭 出处:http://www.cnblogs.com/FengXueTing-px/ 欢迎转载 Linux学习心得之 Linux下ant安装与使用 1. 前言2. ant安装3. 简单的a ...
- Linux下php安装Redis扩展
说明: 操作系统:CentOS php安装目录:/usr/local/php php.ini配置文件路径:/usr/local/php7/etc/php.ini Nginx安装目录:/usr/loca ...
- linux下编译安装vim7.4并安装clang_complete插件
linux下编译安装vim7.4并安装clang_complete插件 因为debian里软件仓库中下载安装的vim是不支持python写的插件的(可以打开vim,在命令模式先输入:py测试一下),导 ...
- linux下编译安装curl
linux下编译安装curl 1.下载curl git clone https://github.com/curl/curl.git 2.在curl目录下生成configure文件 ./buldcon ...
- linux下编译安装boost库
linux下编译安装boost库 linux下编译安装boost库 1.下载并解压boost 1.58 源代码 下载 解压 2.运行bootstrap.sh 3.使用b2进行构建 构建成功的提示 4. ...
- linux下VMware安装出现的问题解决
linux下VMware安装出现的问题解决 linux下VMware安装出现的问题解决 报错信息 问题1liboverlay-scrollbar.so和libunity-gtk-module.so加载 ...
随机推荐
- Databases Questions & Answers
Databases Questions & Answers 1. What are two methods of retrieving SQL? 2. What curso ...
- Gulp命令自动生成精灵图
文件目录说明 gulpfile.js代码 var gulp = require('gulp'); var spritesmith = require('gulp.spritesmith'); var ...
- WebCollector2.7爬虫框架——在Eclipse项目中配置
WebCollector2.7爬虫框架——在Eclipse项目中配置 在Eclipse项目中使用WebCollector爬虫非常简单,不需要任何其他的配置,只需要导入相关的jar包即可. Netbea ...
- WebApi Session支持
代码: WebApiConfig using System; using System.Collections.Generic; using System.Linq; using System.Net ...
- 记我一年的OI之路
upd:感觉没必要设密码了吧,把这个发出来还能显得自己弱颓一些.. 自从我刚刚接触c++,到现在已经快一年了吧,这一年中,我学到了很多,失去了很多,也得到了很多. 开通了blog,那就从现在,就是一个 ...
- R语言包相关命令
R的包(package)通常有两种:1 binary package:这种包属于即得即用型(ready-to-use),但是依赖与平台,即Win和Linux平台下不同.2 Source package ...
- TC 配置插件
转载:http://hi.baidu.com/accplaystation/item/07534686f39dc329100ef310 1.插件下载地址:http://www.topcoder.com ...
- java(Android)跨Module调用对应类方法需求解决方案
在开发组件化项目中,遇到一个这样的问题,两个不同的Module相互之间没有任何直接依赖关系,现在需求是需要在Module_A中调用Module_B中的某个类的方法,以下为解决此问题的方法: 采用的核心 ...
- HTML之页面镶嵌体验
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/ ...
- 如何基于Netty处理粘包、拆包问题?
涉及到相关重要组件: ByteToMessageDecoder MessageToMessageDecoder 这两个组件都实现了ChannelInboundHandler接口,这说明这两个组件都是用 ...