ngnix编译遇到的问题.
总结:先后遇到libz库文件没有正确的链接和pcre库文件没有正确的链接
1./configure后提示需要zlib
2.locate zlib,系统中没有zlib的共享库so文件,但是有一些头文件,不在/usr/include或者/usr/local/include下,还是找zlib-dev.rpm开发包安装一下比较好
3.看看 zlib-develxxx.rpm包的信息
rpm -qpi zlib-devel-1.2.3-27.el6.x86_64.rpm
4.看看该包里头都含有什么文件
rpm -qpl zlib-devel-1.2.3-27.el6.x86_64.rpm
5.查看该包的依赖关系
rpm -qpR zlib-devel-1.2.3-27.el6.x86_64.rpm
如图需要zlib包,依赖里头含有的so共享库
6.解压RPM文件看看
mkdir tmp
rpm2cpio /mnt/Packages/zlib-devel-1.2.3-27.el6.x86_64.rpm |cpio -div
7.在看看zlib-1.2.3xxx.rpm里头有什么
rpm -qpl /mnt/Packages/zlib-1.2.3-27.el6.x86_64.rpm
8.查查系统里头是不是已经安装了libz.so
系统里头已经安装了,应该是安装oracle的时候安装上的
9.系统自带的libz.so.1.2.3和zlib-1.2.3xxx.rpm中的libz.so.1.2.3大小比较.上面的是rpm,下面的是系统的
10.查看系统中自带的libz.so.1.2.3的SONAME:
readelf -d /lib64/libz.so.1.2.3
11.编译zlib-dev-1.2.3..RPM释放出来的example.c看看,用gcc时,-lz指定连接libz共享库
12.报错:找不到zlibz库
13.看看缓存,缓存里头有
原因,库文件位置不对.默认搜索/usr/lib或者/usr/lib64
14.解决办法:
ln -sv /lib64/libz.so.1.2.3 /usr/lib64/libz.so
15.再次编译
成功编译出example可执行文件,执行example,成功!
16.再次回到ngnix源代码目录,执行./configure成功,没有提示zlib库问题
17.make,make install后运行nginx报错
18.检查nginx的共享库都有哪些:
ldd –d nginx
19.检查libpcre.so现在系统的分布
ldconfig –v |grep pcre
20.原因如上,很明显是安装pcre后,库安装的位置为/usr/local/lib/*pcre*,而不是缺省的/usr/lib64
在redhat 64位机器上, nginx可能读取的pcre文件为/lib64/libpcre.so.1文件.
ln -s /usr/local/lib/libpcre.so.1 /lib64/
21.nginx正常运行,缺省情况下,./configure不加任何参数,则如图configure arguments=空
ngnix编译遇到的问题.的更多相关文章
- 《基于Nginx的中间件架构》学习笔记---4.nginx编译参数详细介绍
通过nginx -V查看编译时参数: 在nginx安装目录下,通过./configure --help,查看对应版本ngnix编译时支持的所有参数: Nginx编译参数详细介绍: --help 显示本 ...
- 在MAC平台下编译Ngnix ,由于MD5算法不能编译通过 解决办法
近期想学习Ngnix 代码,前些日子,对”自己下手狠一次“, 买了MAC 本. 所以想在Mac 上编译,是必须的,不然对不起自己的内心. 不巧遇到了MD5算法编译的问题 src/core/ngx_cr ...
- 编译PHP并与Ngnix整合
nginx本身不能处理PHP,它只是个web服务器,当接收到请求后,如果是php请求,则发给php解释器处理,并把结果返回给客户端. nginx一般是把请求发fastcgi管理进程处理,fascgi管 ...
- 编译Ngnix遇到的问题,查看程序依赖的库文件
要点:ldd 可以读取每个可以运行的程序依赖的 so 文件. 编译的时候提示需要Openssl库. 查看本机,已经安装了openssl 查看编译报错文件,查找Openssl所依赖的库 more obj ...
- LAMP自定义编译安装
httpd 2.4.4 + mysql-5.5.28 + php-5.4.13编译安装过程: 一.编译安装apache 1.解决依赖关系 httpd-2.4.4需要较新版本的apr和apr-util, ...
- CentOS7编译安装Nginx-1.8.1和编译参数
CentOS7编译安装Nginx-1.8.1和编译参数 Web服务器Nginx LNMP是一组众所周知的Web网站服务器架构环境,即由Linux+Nginx+MySQL+PHP(MySQL有时也 ...
- 【服务器环境搭建-Centos】Nginx1.9.9 安装(编译源码)
nginx官网不同版本下载地址:http://nginx.org/download/ 我使用的是nginx-1.9.8.tar.gz 安装其他支持软件 可以使用rpm –q xxx 查询库是否已经 ...
- Ngnix 安装、信号量、虚拟主机配置
ngnix的安装很简单 1.先从ngnix官网下载ngnix压缩包 wget http://nginx.org/download/nginx-1.6.2.tar.gz 2.解压并进入其目录 tar - ...
- nginx安装-源码编译
官方文档:http://nginx.org/en/docs/configure.html 参考:http://jingyan.baidu.com/article/e2284b2b45f693e2e61 ...
随机推荐
- EasyUI Combobox设定默认值
$(function () { $('#Select6').combobox({ onLoadSuccess: function () { var data = $('#Select6').combo ...
- c# (nop中)下拉列表(有外键)
第一种情况.view视图加载出来时就有值,实现步骤如下 1.在操作的界面Model中建立public List<SelectListItem> xxx(取名){ get; set; } 2 ...
- 内存管理运算符new delete与内存管理函数malloc free的区别——已经他们对对象创建的过程。
(1)内存管理函数与内存管理运算符的区别 内存管理函数有内存分配函数,malloc calloc realloc 以及内存释放函数free. 内存管理运算符有new 和delete. 两种内存管理方式 ...
- android压力测试命令monkey详解
一.Monkey 是什么?Monkey 就是SDK中附带的一个工具. 二.Monkey 测试的目的?:该工具用于进行压力测试. 然后开发人员结合monkey 打印的日志 和系统打印的日志,结局测试中出 ...
- CodeIgnitor 创建admin和其他目录,前后端分离,很巧妙的方式,网上查找其他的都不是使用这种方式实现的。
在index.php的第97和98行的注释, // The directory name, relative to the "controllers" folder. Leave ...
- git --如何撤销已放入缓存区(Index区)的修改
修改或新增的文件通过 git add --all 命令全部加入缓存区(index区)之后,使用 git status 查看状态(git status -s 简单模式查看状态,第一列本地库和缓存区的差异 ...
- 01背包问题:Charm Bracelet (POJ 3624)(外加一个常数的优化)
Charm Bracelet POJ 3624 就是一道典型的01背包问题: #include<iostream> #include<stdio.h> #include& ...
- SQLLDR记录数与文本记录数比较
我们平时都用sqlldr进行将文本数据加载到数据库,但是有时候由于数据问题导致入库率不能达到100%,因此我们要检测是否存在不能入库的数据记录.以下shell脚本就是统计文本中记录数和数据库中记录数是 ...
- elixir 高可用系列(四) Task
概述 之前学习的 Agent,GenSever以及GenEvent,都是用来管理状态或者处理消息的. 但是在很多时候,我们需要的是执行某个任务,这时如果使用 GenSever 或者 GenEvent, ...
- We have detected that MySQL products under the Commercial license are installed. In order to proceed with this GPL installation these Commercial
下载了MySQL 5.6.15,在安装时,出现了下面的提示信息: 按提示信息的要求单击“是”,结果安装就无法进行下去. 从提示信息上看,意思是指电脑中原来安装有商业版的许可,现在要转换成为GPL许可. ...