Tengine安装以及碰到的问题解决办法

2024-01-07 07:48

本文主要是介绍Tengine安装以及碰到的问题解决办法,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

最近的项目准备上APP,考虑到高可用跟负载均衡,前期并发量不大,能撑起来千人访问即可,我决定在应用服务器前面放置Nginx来实现,通过了解,决定使用淘宝优化的Nginx-Tengine版本,经过查询发现这个版本并没有提供Windows的版本,那就用Linux的呗,起个虚拟器,下载Tengine,安装Tengine的时候发现它还依赖于其他的包,都安装上吧,网上安装的文档一大把,搜了下大同小异,按照步骤装之,发现报错,查了下,发现是安装命令什么的都不对,真是服了,果然是天下文章一大抄啊,都没有自己实践过就Copy过来了。

这些安装包回头我会打包放到网盘供大家下载。

 先把这几个文件下载下来 PCRE OPENSSL  Zlib  jemalloc

安装PCRE:

进入到PCRE的目录,执行./configure 编译得到的反馈是configure: error: You need a C++ compiler for C++ support.

那先装C++的编译器好了,命令:yum install -y gcc gcc-c++ ,悲催的网络啊,还是不行,下载GCC的安装包继续

将镜像挂载上去
ls -l /dev/cdrom |grep cd   这个
创建挂载文件夹,将iso文件挂载到/mnt/cdrom文件夹
mkdir /mnt/cdrom
mount /dev/cdrom /mnt/cdrom
然后进入Packages后
ls *gcc*,发现了gcc-c++的安装包,安装之,又出错,有依赖,先安装依赖包
安装
rpm -ivh libstdc++-devel-4.8.5-4.el7.x86_64.rpm
rpm -ivh gcc-c++-4.8.5-4.el7.x86_64.rpm

安装成功,回过头来再编译

编译成功,真不容易,make && make install安装,成功,PCRE安装完成。

查看pcre是否成功安装
rpm -qa  pcre

华丽的分隔符********************

安装OPENSSL 

网上说执行./configure的都是没有操作过的,安装说明看read me文件在Install文件中,内容如下:

 To install OpenSSL, you will need:* make* Perl 5* an ANSI C compiler* a development environment in form of development libraries and Cheader files* a supported Unix operating systemQuick Start-----------If you want to just get on with it, do:$ ./config$ make$ make test$ make install
执行./config

按照文件的操作执行OK,接着装下一个

华丽的分隔符********************

安装ZLIB,执行命令:

./configure

make&&make install

执行成功。

华丽的分隔符********************

安装jemalloc

下载的文件是jemalloc-3.6.0.tar.bz2,查了下应该使用tar -jxvf命令解压,执行,又悲催的报错了

错误关键词  tar: bzip2:无法 exec: 没有那个文件或目录

搜下,如何解决,说可以直接yum安装解决,但是可恨的网络啊。

yum install -y bzip2 试试吧,居然成功了

 华丽的分隔符******************** 

Tengine的安装

tar -xzvf解压,然后执行命令

./configure --prefix=/usr/local/nginx --user=root --group=root --with-http_stub_status_module --with-http_ssl_module --with-http_gzip_static_module --with-openssl=/usr/local/src/openssl-1.0.2 --with-zlib=/usr/local/src/zlib-1.2.8 --with-pcre=/usr/local/src/pcre-8.40 --with-jemalloc
make&&make install

然后执行nginx -c /usr/local/nginx/conf/nginx.conf 不行,提示 -bash: nginx: 未找到命令还有什么libjemalloc.3.so什么的找不到文件,搜了下找不到原因,安装jemalloc的时候提示了很多警告,怀疑与警告有关,重装之,问题仍在,看来问题跟jemalloc无关,查看Tengine的命令怀疑与未指定jemalloc的路径有关,指定路径试一次。

./configure --prefix=/usr/local/nginx --user=root --group=root --with-http_stub_status_module --with-http_ssl_module --with-http_gzip_static_module --with-openssl=/usr/local/src/openssl-1.0.2 --with-zlib=/usr/local/src/zlib-1.2.8 --with-pcre=/usr/local/src/pcre-8.40 --with-jemalloc=/usr/local/src/jemalloc-3.6.0
make&&make install
安装完成后执行,执行成功,看来这次是成功安装了。

启动:/usr/local/nginx/sbin/nginx 
关闭:/usr/local/nginx/sbin/nginx  -s stop
所使用的安装包下载地址,建议大家还是尽量去官网下载最新版本的    链接: http://pan.baidu.com/s/1c19H9Fa 密码: p9f2
下一个目标,把Tengine设置成系统服务,开机启动。




这篇关于Tengine安装以及碰到的问题解决办法的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/579226

相关文章

Go标准库常见错误分析和解决办法

《Go标准库常见错误分析和解决办法》Go语言的标准库为开发者提供了丰富且高效的工具,涵盖了从网络编程到文件操作等各个方面,然而,标准库虽好,使用不当却可能适得其反,正所谓工欲善其事,必先利其器,本文将... 目录1. 使用了错误的time.Duration2. time.After导致的内存泄漏3. jsO

springboot循环依赖问题案例代码及解决办法

《springboot循环依赖问题案例代码及解决办法》在SpringBoot中,如果两个或多个Bean之间存在循环依赖(即BeanA依赖BeanB,而BeanB又依赖BeanA),会导致Spring的... 目录1. 什么是循环依赖?2. 循环依赖的场景案例3. 解决循环依赖的常见方法方法 1:使用 @La

Linux系统中卸载与安装JDK的详细教程

《Linux系统中卸载与安装JDK的详细教程》本文详细介绍了如何在Linux系统中通过Xshell和Xftp工具连接与传输文件,然后进行JDK的安装与卸载,安装步骤包括连接Linux、传输JDK安装包... 目录1、卸载1.1 linux删除自带的JDK1.2 Linux上卸载自己安装的JDK2、安装2.1

Linux卸载自带jdk并安装新jdk版本的图文教程

《Linux卸载自带jdk并安装新jdk版本的图文教程》在Linux系统中,有时需要卸载预装的OpenJDK并安装特定版本的JDK,例如JDK1.8,所以本文给大家详细介绍了Linux卸载自带jdk并... 目录Ⅰ、卸载自带jdkⅡ、安装新版jdkⅠ、卸载自带jdk1、输入命令查看旧jdkrpm -qa

MySQL错误代码2058和2059的解决办法

《MySQL错误代码2058和2059的解决办法》:本文主要介绍MySQL错误代码2058和2059的解决办法,2058和2059的错误码核心都是你用的客户端工具和mysql版本的密码插件不匹配,... 目录1. 前置理解2.报错现象3.解决办法(敲重点!!!)1. php前置理解2058和2059的错误

MySQL Workbench 安装教程(保姆级)

《MySQLWorkbench安装教程(保姆级)》MySQLWorkbench是一款强大的数据库设计和管理工具,本文主要介绍了MySQLWorkbench安装教程,文中通过图文介绍的非常详细,对大... 目录前言:详细步骤:一、检查安装的数据库版本二、在官网下载对应的mysql Workbench版本,要是

Docker镜像pull失败两种解决办法小结

《Docker镜像pull失败两种解决办法小结》有时候我们在拉取Docker镜像的过程中会遇到一些问题,:本文主要介绍Docker镜像pull失败两种解决办法的相关资料,文中通过代码介绍的非常详细... 目录docker 镜像 pull 失败解决办法1DrQwWCocker 镜像 pull 失败解决方法2总

SpringBoot启动报错的11个高频问题排查与解决终极指南

《SpringBoot启动报错的11个高频问题排查与解决终极指南》这篇文章主要为大家详细介绍了SpringBoot启动报错的11个高频问题的排查与解决,文中的示例代码讲解详细,感兴趣的小伙伴可以了解一... 目录1. 依赖冲突:NoSuchMethodError 的终极解法2. Bean注入失败:No qu

MySQL新增字段后Java实体未更新的潜在问题与解决方案

《MySQL新增字段后Java实体未更新的潜在问题与解决方案》在Java+MySQL的开发中,我们通常使用ORM框架来映射数据库表与Java对象,但有时候,数据库表结构变更(如新增字段)后,开发人员可... 目录引言1. 问题背景:数据库与 Java 实体不同步1.1 常见场景1.2 示例代码2. 不同操作

Linux安装MySQL的教程

《Linux安装MySQL的教程》:本文主要介绍Linux安装MySQL的教程,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录linux安装mysql1.Mysql官网2.我的存放路径3.解压mysql文件到当前目录4.重命名一下5.创建mysql用户组和用户并修