Centos7 安装 Tengine,centos7tengine
Centos7 安装 Tengine,centos7tengine
Tengine介绍
Tengine是淘宝开发的基于nginx的应用服务器,反向代理服务器。它兼容nginx的所有配置,并且在其上增加了很多实用的功能,例如动态模块加载,集成lua语言进行扩展等,在性能方面有了比较大的改进。下面是Tengine独有的部分功能,查看全部等前往官网,地址是 http://tengine.taobao.org/ 。
一、Tengine部分特性
1.nginx -m 查看所有已经加载的模块,static说明已经安装的,shared说明是动态安装的;
2.nginx架构是模块化的,除了主模块,其他模块都需在安装时进行编译安装,也可在安装后进行编译安装;
3.tengine完全兼容nginx的配置;
4.tengine实现动态加载模块,不需重新编译,就可以实现安装新的模块。动态模块功能会被默认安装。而nginx不支持模块动态加载,需要编译重启;
5.lua语言扩展功能,通过编程可以有效为应用服务器分流请求;
6.强大的负载均衡功能,可以检测应用服务器的健康情况,动态的上下线。
二、安装Tengine,具有LUA模块
-
安装必要的编译环境好
# yum update # yum install gcc gcc-c++ autoconf automake
- 1
- 2
- 3
- 4
- 5
- 6
-
安装需要的组件
-
PCRE
PCRE(Perl Compatible Regular Expressions)是一个Perl库,包括 perl 兼容的正则表达式库。nginx rewrite依赖于PCRE库,所以在安装Tengine前一定要先安装PCRE,最新版本的PCRE可在官网(http://www.pcre.org/)获取。具体安装流程为:
cd /usr/local/src wget ftp://ftp.csx.cam.ac.uk/pub/software/programming/pcre/pcre-8.40.tar.gz tar zxvf pcre-8.40.tar.gz cd pcre-8.40 ./configure --prefix=/usr/local/pcre make && make install
- 1
- 2
- 3
- 4
- 5
- 6
附加信息:
源码的安装一般由3个步骤组成:配置(configure)、编译(make)、安装(make install)。
Configure是一个可执行脚本,它有很多选项,在待安装的源码路径下使用命令./configure –help输出详细的选项列表。其中–prefix选项是配置安装的路径,如果不配置该选项,安装后可执行文件默认放在/usr /local/bin,库文件默认放在/usr/local/lib,配置文件默认放在/usr/local/etc,其它的资源文件放在/usr /local/share,比较凌乱。
如果配置–prefix,如:./configure –prefix=/usr/local/test,可以把所有资源文件放在/usr/local/test的路径中,不会杂乱。
用了—prefix选项的另一个好处是卸载软件或移植软件。当某个安装的软件不再需要时,只须简单的删除该安装目录,就可以把软件卸载得干干净净;移植软件只需拷贝整个目录到另外一个机器即可(相同的操作系统)。当然要卸载程序,也可以在原来的make目录下用一次make uninstall,但前提是make文件指定过uninstall。 -
OpenSSL
OpenSSL 是一个强大的安全套接字层密码库,囊括主要的密码算法、常用的密钥和证书封装管理功能及SSL协议,并提供丰富的应用程序供测试或其它目的使用。,安装OpenSSL(http://www.openssl.org/source/)主要是为了让tengine支持Https的访问请求。具体是否安装看需求。
复制代码 代码如下:cd /usr/local/src wget http://www.openssl.org/source/openssl-1.0.2.tar.gz tar zxvf openssl-1.0.2.tar.gz cd openssl-1.0.2.tar.gz ./configure --prefix=/usr/local/openssl make && make install
- 1
- 2
- 3
- 4
- 5
- 6
-
Zlib
Zlib是提供资料压缩之用的函式库,当Tengine想启用GZIP压缩的时候就需要使用到Zlib(http://www.zlib.net/)。
cd /usr/local/src wget http://zlib.net/zlib-1.2.11.tar.gz tar zxvf zlib-1.2.11.tar.gz cd zlib-1.2.11.tar.gz ./configure --prefix=/usr/local/zlib make && make install
- 1
- 2
- 3
- 4
- 5
- 6
-
jemalloc
jemalloc(http://www.canonware.com/jemalloc/)是一个更好的内存管理工具,使用jemalloc可以更好的优化Tengine的内存管理。
cd /usr/local/src wget http://www.canonware.com/download/jemalloc/jemalloc-3.6.0.tar.bz2 tar jxvf jemalloc-3.6.0.tar.bz2 cd jemalloc-3.6.0.tar.bz2 ./configure --prefix=/usr/local/jemalloc make && make install
- 1
- 2
- 3
- 4
- 5
- 6
-
-
安装Tengine
在主要核心的组件安装完毕以后就可以安装Tegine了,最新版本的Tegine可从官网(http://tengine.taobao.org/)获取。
在编译安装前还需要做的一件事是添加一个专门的用户来执行Tengine。当然你也可以用root(不建议)。
复制代码 代码如下:groupadd www-data useradd -s /sbin/nologin -g www-data www-data
- 1
- 2
接下来才是进行安装:
cd /usr/local/src wget http://tengine.taobao.org/download/tengine-2.2.0.tar.gz tar -zxvf tengine-2.2.0.tar.gz cd tengine-2.2.0 ./configure --prefix=/usr/local/nginx \ --user=www-data \ --group=www-data \ --with-pcre=/usr/local/src/pcre-8.40 \ --with-openssl=/usr/local/src/openssl-1.0.2 \ --with-jemalloc=/usr/local/src/jemalloc-3.6.0 \ --with-http_gzip_static_module \ --with-http_realip_module \ --with-http_stub_status_module \ --with-http_concat_module \ --with-zlib=/usr/local/src/zlib-1.2.11 make && make install
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
- 10
- 11
- 12
- 13
- 14
- 15
- 16
注意配置的时候 –with-pcre 、–with-openssl、–with-jemalloc、–with-zlib的路径为源文件的路径。
-
Centos7配置Tengine,设置tengine开机自启
-
系统用户登录系统后启动的服务的目录
/usr/lib/systemd/system
-
如需要开机没有登陆情况下就能运行的程序在系统目录内
/usr/lib/systemd/system
-
我希望系统开机就启动目录,所以我把文件放在系统目录内。
vim /lib/systemd/system/nginx.service 创建文件
[Unit] Description=The nginx HTTP and reverse proxy server After=syslog.target network.target remote-fs.target nss-lookup.target [Service] Type=forking PIDFile=/usr/local/nginx/logs/nginx.pid ExecStartPre=/usr/local/nginx/sbin/nginx -t ExecStart=/usr/local/nginx/sbin/nginx -c /usr/local/nginx/conf/nginx.conf ExecReload=/bin/kill -s HUP $MAINPID ExecStop=/bin/kill -s QUIT $MAINPID PrivateTmp=true [Install] WantedBy=multi-user.target
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
- 10
- 11
- 12
- 13
- 14
- 15
-
修改文件权限
chmod 745 nginx.service
- 1
-
设置为开机启动
systemctl enable nginx.service
- 1
-
其它命令
启动nginx服务
systemctl start nginx.service
- 1
设置开机自启动
systemctl enable nginx.service
- 1
停止开机自启动
systemctl disable nginx.service
- 1
查看服务当前状态
systemctl status nginx.service
- 1
重新启动服务
systemctl restart nginx.service
- 1
查看所有已启动的服务
systemctl list-units --type=service
-
评论暂时关闭