CentOS需使用7.*版本, 8.*版本因 OPENSSL_TLS_SECURITY_LEVEL=2 的问题暂没有很好的解决办法;

配置firewalld,iptables,关闭SELINUX
systemctl disable firewalld

1、安装必要的编译环境好

由于Tengine安装需要使用源代码自行编译,所以在安装前需要安装必要的编译工具:

yum -y update
yum -y install gcc gcc-c++ bzip2 perl curl curl-devel expat-devel gettext-devel libxml2 libxml2-devel libjpeg-devel libpng-devel freetype-devel libmcrypt-devel autoconf openssl openssl-devel

yum -y install epel-release  //扩展包更新包
yum -y update //更新yum源
yum -y install libmcrypt libmcrypt-devel mcrypt mhash
 
###wget下载必要软件
cd /mnt/wget
wget https://ftp.pcre.org/pub/pcre/pcre-8.43.tar.gz
wget http://zlib.net/zlib-1.2.11.tar.gz
wget https://github.com/jemalloc/jemalloc/releases/download/5.2.1/jemalloc-5.2.1.tar.bz2
wget https://www.openssl.org/source/openssl-1.1.1g.tar.gz

wget http://tengine.taobao.org/download/tengine-2.3.2.tar.gz

 
 

2、安装需要的组件

A、PCRE

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

cd /mnt/wget  && tar zxvf pcre-8.43.tar.gz && cd pcre-8.43 && ./configure --prefix=/usr/local/pcre && make && make install
 

B、Zlib

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

cd /mnt/wget && tar zxvf zlib-1.2.11.tar.gz && cd zlib-1.2.11 && ./configure --prefix=/usr/local/zlib && make && make install
 

C、jemalloc

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

cd /mnt/wget && tar xvf jemalloc-5.2.1.tar.bz2 && cd jemalloc-5.2.1 && ./configure --prefix=/usr/local/jemalloc && make && make install
 

D、OpenSSL

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

cd /mnt/wget && tar zxvf openssl-1.1.1g.tar.gz && cd openssl-1.1.1g && ./config --prefix=/usr/local/openssl --openssldir=/usr/local/openssl --libdir=lib shared zlib-dynamic -Wl,-R,'$(LIBRPATH)' -Wl,--enable-new-dtags

 
(如果之前安装过,请执行 make distclean )
make && make install
 
cp /etc/pki/tls/cert.pem /usr/local/openssl/cert.pem
 
使用新版OpenSSL
mv /usr/bin/openssl /usr/bin/openssl.bak
mv /usr/include/openssl /usr/include/openssl.bak
ln -s /usr/local/openssl/bin/openssl /usr/bin/openssl
ln -s /usr/local/openssl/include/openssl /usr/include/openssl
ln -s /usr/local/openssl/lib/libssl.so.1.1 /usr/lib64/libssl.so.1.1
ln -s /usr/local/openssl/lib/libcrypto.so.1.1 /usr/lib64/libcrypto.so.1.1
 

3、安装Tengine

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

groupadd www && useradd -s /sbin/nologin -g www www

接下来才是进行安装:

cd /mnt/wget && tar -zxvf tengine-2.3.2.tar.gz && cd tengine-2.3.2

./configure --prefix=/usr/local/nginx \
--user=www \
--group=www \
--with-pcre=/mnt/wget/pcre-8.43 \
--with-openssl=/mnt/wget/openssl-1.1.1g \
--with-jemalloc=/mnt/wget/jemalloc-5.2.1 \

--with-zlib=/mnt/wget/zlib-1.2.11 \
--with-http_gzip_static_module \
--with-http_realip_module \
--with-http_stub_status_module \
--with-http_ssl_module \
--with-http_v2_module

make && make install

注意配置的时候 –with-pcre 、–with-openssl、–with-jemalloc、–with-zlib的路径为源文件的路径。

4、配置Tengine,设置tengine自动启动

系统用户登录系统后启动的服务 的目录 /usr/lib/systemd/system
如需要开机没有登陆情况下就能运行的程序在系统目录内/lib/systemd/system

我希望系统开机就启动目录,所以我把文件放在系统目录内。

cd /lib/systemd/system
vi 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

修改文件权限   chmod 745 nginx.service   
设置为开机启动  systemctl enable nginx.service

启动nginx服务    systemctl start nginx.service
设置开机自启动   systemctl enable nginx.service
停止开机自启动   systemctl disable nginx.service
查看服务当前状态 systemctl status nginx.service
重新启动服务     systemctl restart nginx.service

查看所有已启动的服务  systemctl list-units --type=service

打开nscd服务,缓存dns,提高RDS响应
systemctl start nscd.service
systemctl enable nscd.service

vi /etc/hosts     //注释掉下面一行
#::1         localhost localhost.localdomain localhost6 localhost6.localdomain6
禁止系统检查邮件
echo "unset MAILCHECK" >> /etc/profile
echo '/usr/local/lib64
/usr/local/lib
/usr/lib
/usr/lib64
/usr/local/mysql/lib' >> /etc/ld.so.conf && ldconfig -v

姊妹篇:

编译安装PHP7: https://www.cnblogs.com/doseoer/p/5350944.html

日志:

Tengine-Nginx: /usr/local/nginx/logs/error.log notice;
PHP-fpm: /var/log/php-fpm/error.log
PHP: /var/log/php/php-error.log

Tengine 安装配置全过程的更多相关文章

  1. Tengine 安装配置全过程(nginx 同理)

    1.安装必要的编译环境好 yum update yum install gcc gcc-c++ autoconf automake 2.安装需要的组件 A.PCRE PCRE(Perl Compati ...

  2. 从subversion开始(svn安装配置全过程(+全套安装文件与配置文件))…..

    从subversion开始(svn安装配置全过程(+全套安装文件与配置文件))-.. 博客分类: 工具使用 SVNsubversion配置管理Apache应用服务器  </div> 花了一 ...

  3. Tengine安装配置

    为了加快网站的大流量访问速度,公司要求把Nginx更换为Tengine,下面记录下整个安装配置过程: #安装必要依赖 yum install -y pcre pcre-devel zlib zlib- ...

  4. 百度富文本编辑器UEditor安装配置全过程

    网站开发时富文本编辑器是必不可少的,他可以让用户自行编辑内容的样式然后上传到后台!下面我们来介绍如何安装使用百度富文本编辑器 一.下载并且设置百度富文本编辑器的样式     你可以去百度UEditor ...

  5. 企业级监控工具Cacti安装配置全过程

      Cacti 在英文中的意思是仙人掌的意思,Cacti是一套基于PHP,MySQL,SNMP及RRDTool开发的网络流量监测图形分析工具.它通过 snmpget来获取数据,使用 RRDtool绘画 ...

  6. ant编译apache-nutch-2.2.1结合mysql实现爬虫的安装配置全过程

    之前的数据抓取都是用的八爪鱼软件,老大突发奇想要我自己搞个爬虫来抓取数据,网上找找貌似apache的nutch比较合适,于是就开始安装这啥nutch. 对于一个linux零基础的人来说,还要先学学li ...

  7. DNS配置-BIND安装配置全过程

    下载地址:ftp://ftp.isc.org/isc/ 下载bind,我下载的是bind-9.11.13.tar.gz 我下载的文件放在/root目录下进入目录解压缩 [root@localhost ...

  8. Activiti(一)--安装配置具体解释

    有一段时间没有更新文章了,尽管有一直在写文章,但是一直没有更新到博客内,这段时间写的文章大多还是以技术为主. 接下来的系列文章将会来讨论企业工作流的开发,主要是来研究开源工作流Activiti的使用. ...

  9. 我是如何将网站全站启用Https的?-记录博客安装配置SSL证书全过程

    评论»   文章目录 为什么要Https 如何选择Https 安装部署SSL证书 平滑过渡Https 搜索引擎的响应 启用Https小结 正如大家所看到的,部落全站已经启用了Https访问了,连续几天 ...

随机推荐

  1. jsonp跨域请求

    <!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <title> ...

  2. VNC connect:Connection refused(10061)

    在Windows机器上使用VNC Viewer访问Linux服务器,有时候会遇到"connect:Connection refused(10061)"这个错误,导致这个错误出现的原 ...

  3. Java实现压缩与解压缩

    import java.io.*; import java.util.*; import java.util.zip.ZipOutputStream; import java.util.zip.Zip ...

  4. java中数据类型的转换

    数据类型的转换,分为自动转换和强制转换. 自动转换是程序执行过程中“悄然”进行的转换,不需要用户提前声明,一般是从位数低的类型向位数高的类型转换 强制转换必须在代码中声明,转换顺序不受限制 自动数据类 ...

  5. Java 数组

    数组对于每一门编程语言来说都是重要的数据结构之一,当然不同语言对数组的实现及处理也不尽相同. Java语言中提供的数组是用来存储固定大小的同类型元素. 你可以声明一个数组变量,如numbers[100 ...

  6. spring bean的生命周期

    掌握好spring bean的生命周期,对spring的扩展大有帮助.  spring bean的生命周期(推荐看)  spring bean的生命周期

  7. Windows 7 在资源管理器中显示软件快捷方式

    该方法是利用资源管理器中储存网络位置的文件夹实现的, 不需要修改注册表. 效果如图: 操作方法: 在资源管理器中打开路径 "%appdata%\Microsoft\Windows\Netwo ...

  8. Java基础知识笔记(八:集合类)

    目录 1  集合类简介  2  List介绍及简单使用 2.1  LinkedList介绍及简单使用 2.2  ArrayList介绍及简单使用 2.3  Vector介绍及简单使用 2.3.1  S ...

  9. Favorites of top 10 rules for success

    Dec. 31, 2015 Stayed up to last minute of 2015, 12:00am, watching a few of videos about top 10 rules ...

  10. HBase Zookeeper 安装学习

    https://my.oschina.net/hanzhankang/blog/129335 http://blog.itpub.net/27099995/viewspace-1394831/ htt ...