CentOS7 源码编译安装Tengine

简介

Tengine是由淘宝网发起的Web服务器项目。它在Nginx的基础上,针对大访问量网站的需求,添加了很多高级功能和特性。它的目的是打造一个高效、安全的Web平台。

发展

Tengine的性能和稳定性已经在大型的网站如淘宝网,天猫商城等得到了很好的检验。

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

一、安装编译环境

1.安装依赖包

[root@Tengine ~]# yum -y install gcc \ gcc-c++ \ bzip2 perl curl curl-devel \ expat-devel gettext-devel openssl-devel \ libxml2 libxml2-devel libjpeg-devel libpng-devel \ freetype-devel libmcrypt-devel autoconf

2.配置扩展包安装源

[root@Tengine ~]# yum -y install epel-release
[root@Tengine ~]# yum -y install libmcrypt libmcrypt-devel mcrypt mhash 

3.安装编译所需要的组件

(1)pcre:是一个Perl库,包括 perl 兼容的正则表达式库。nginx rewrite依赖于PCRE库,所以在安装Tengine前一定要先安装PCRE。

[root@Tengine ~]# cd /usr/local/src && wget ftp://ftp.csx.cam.ac.uk/pub/software/programming/pcre/pcre-8.42.tar.gz && tar zxvf pcre-8.42.tar.gz && cd pcre-8.42 && ./configure --prefix=/usr/local/pcre && make && make install

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

[root@Tengine pcre-8.42]# 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 && ./configure --prefix=/usr/local/zlib && make && make install

(3)jemalloc:是一个更好的内存管理工具,使用jemalloc可以更好的优化Tengine的内存管理。

[root@Tengine zlib-1.2.11]# cd /usr/local/src && wget https://github.com/jemalloc/jemalloc/releases/download/5.1.0/jemalloc-5.1.0.tar.bz2 && tar xvf jemalloc-5.1.0.tar.bz2 && cd jemalloc-5.1.0 && ./configure --prefix=/usr/local/jemalloc && make && make install

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

[root@Tengine jemalloc-5.1.0]# cd /usr/local/src && wget https://www.openssl.org/source/openssl-1.1.1.tar.gz && tar zxvf openssl-1.1.1.tar.gz && cd openssl-1.1.1 && ./config --prefix=/usr/local/openssl && make && make install

二、安装Tengine

在主要核心的组件安装完毕以后就可以安装Tegine了,最新版本的Tegine可从官网(http://tengine.taobao.org/)获取。
在编译安装前还需要做的一件事是添加一个专门的用户来执行Tengine。不建议使用root用户启动

[root@Tengine openssl-1.1.1]#  useradd www -s /sbin/nologin -M

下载Tengine

[root@Tengine openssl-1.1.1]# cd /usr/local/src && wget http://tengine.taobao.org/download/tengine-2.2.3.tar.gz && tar -zxvf tengine-2.2.3.tar.gz && cd tengine-2.2.3

配置编译安装

[root@Tengine tengine-2.2.3]# ./configure --prefix=/usr/local/tengine > --user=www > --group=www > --with-pcre=/usr/local/src/pcre-8.42 > --with-openssl=/usr/local/src/openssl-1.1.1 > --with-jemalloc=/usr/local/src/jemalloc-5.1.0 > --with-http_gzip_static_module > --with-http_realip_module > --with-http_stub_status_module > --with-http_concat_module=shared > --with-zlib=/usr/local/src/zlib-1.2.11
[root@Tengine tengine-2.2.3]# echo $?
0
[root@Tengine tengine-2.2.3]# make -j 4&&make install

[root@Tengine tengine-2.2.3]# echo $?0

加入到系统服务

[root@Tengine tengine-2.2.3]# cd /lib/systemd/system
[root@Tengine system]# vi tengine.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
[root@Tengine system]# chmod 745 nginx.service  # 修改权限
[root@Tengine system]# systemctl enable tengine.service  # 开机自启
Created symlink from /etc/systemd/system/multi-user.target.wants/tengine.service to /usr/lib/systemd/system/tengine.service.[root@Tengine system]# systemctl start tengine.service  #启动Tengine

安装完成

可能有的人在make的时候会报这个错 我在安装2.2.3时也碰到了这个问题

上面出错根本原因是编译nginx找不到实时库librt

只要将tengine文件中的objs/Makefile中的第一行的 CC =    cc 改成 CC =    cc -lrt后在编译安装就可以了

-lrt的意思是让编译的时候加入实时库librt

原文地址:https://www.cnblogs.com/bigdevilking/p/10620930.html

时间: 2024-11-05 21:42:53

CentOS7 源码编译安装Tengine的相关文章

centos7 源码编译安装TensorFlow CPU 版本

一.前言 我们都知道,普通使用pip安装的TensorFlow是万金油版本,当你运行的时候,会提示你不是当前电脑中最优的版本,特别是CPU版本,没有使用指令集优化会让TensorFlow用起来更慢. 但是在编译之中,发现很多坑,由此记录一下. 环境相关: 系统:centos7 python版本:2.7.5 二.准备 1. 安装相关依赖 # 一般会缺失的依赖 yum -y install java-1.8.0-openjdk-devel automake autoconf libtool libi

centos7 源码编译安装 nginx

安装步骤 下载 nginx 源码包 官网 $ wget http://nginx.org/download/nginx-1.16.0.tar.gz 解压 nginx 压缩包 $ tar -zxvf nginx-1.16.0.tar.gz 运行 configure 文件检测程序 $ cd nginx-1.16.0 $ ./configure --prefix=/usr/local/nginx checking for OS + Linux 3.10.0-957.12.2.el7.x86_64 x8

CentOS7源码编译安装FreeRadius3.17

(一)环境简介1.OS:Centos7.42.软件:Freeradiusd3.17(ftp://ftp.freeradius.org/pub/freeradius/freeradius-server-3.0.17.tar.gz)3.网站:https://freeradius.org/ (二)安装1.yum安装所需的依赖包[[email protected] raddb]#yum install openssl openssl-devel libtalloc-devel libtalloc* -y

centos7 源码编译安装heartbeat 以及结合nginx测试高可用

1.环境CentOS Linux release 7.4.1708 (Core) 3.10.0-693.el7.x86_64主(heartbeat27=uname -n)10.0.0.27(ip) 10.0.10.27(心跳) 10.0.0.29(vip)备(heartbeat28=uname -n)10.0.0.28(ip) 10.0.10.28(心跳) 10.0.0.29(vip)2.cat /etc/hosts10.0.0.27 heartbeat2710.0.0.28 heartbeat

CentOS7源码编译安装PHP7.2

一.环境 CentOS7 二.相关资源 PHP官方网站 PHP官方下载页 三.编译安装 1. 下载php 下载并解压 # 下载php wget https://www.php.net/distributions/php-7.2.16.tar.gz # 解压 tar -zxvf php-7.2.16.tar.gz 查看目录 [[email protected] ~]# ll 总用量 19232 drwxrwxr-x 14 root root 4096 3月 5 19:05 php-7.2.16 -

centos7 源码编译安装 php

准备工作 下载 PHP 源码包并解压 $ wget https://www.php.net/distributions/php-7.2.19.tar.bz2 $ tar -jxvf php-7.2.19.tar.bz2 进入 PHP 源码包目录 $ cd php-7.2.19 配置和构建 PHP 常用配置项及其说明 如果看着麻烦可以直接看下面的总结步骤 --prefix=/usr/local/php7 # 配置安装目录 --with-config-file-path=/usr/local/php

centos7 源码编译安装nginx教程 nginx安装脚本

安装nginx需要pcre zlib openssl的库,下文都是在官网直接下载用作编译安装 该nginx安装教程,有安装maxmind IP 库 该nginx安装教程有安装openrestry 系统使用了centos 7 该教材有修改最大打开文件描述符数到最大 该教程是nginx安装的shell脚本 #!/bin/bash yum install epel-release -y yum install gcc gcc-c++ make automake autoconf libtool ipt

centos7源码编译安装Ansible详细部署

一.基础介绍==========================================================================================ansible是新出现的自动化运维工具,基于Python开发,集合了众多运维工具(puppet.cfengine.chef.func.fabric)的优点,实现了批量系统配置.批量程序部署.批量运行命令等功能.ansible是基于模块工作的,本身没有批量部署的能力.真正具有批量部署的是ansible所运行的

centos7源码编译安装httpd、加入systemctl并设置开机自启动

所需软件: apr-1.6.3.tar.gz (下载地址:http://mirrors.tuna.tsinghua.edu.cn/apache//apr/apr-1.6.3.tar.gz) apr-util-1.6.1.tar.gz (下载地址:http://mirrors.tuna.tsinghua.edu.cn/apache//apr/apr-util-1.6.1.tar.gz) httpd-2.4.29.tar.gz (下载地址:http://mirrors.shu.edu.cn/apac