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 ...
随机推荐
- java获取系统信息
public class SystemInfo { public static void main(String[] args) { //系统属性 Properties prop = System.g ...
- js之函数
1.倒计时定时器 timename=setTimeout("function()",delaytime); clearTimeout(timename); 2.循环定时器 time ...
- dos 加用户
net user lipeng 1qaz3EDC /addnet user zhangnan 1qaz3EDC /addnet localgroup "Remote Desktop User ...
- Ubuntu上部署一个简单的Java项目
一.安装tomcat7,mysql,Java JDK,直接apt安装 $ sudo aptitude install tomcat7 $ -jdk openjdk--jre $ sudo aptitu ...
- module中build.gradle文件参数含义
主要是module的build.gradle,截图如下: 01行:apply plugin: 'com.android.application' 表示该module是这个应用程序的module ...
- Divide Two Integers leetcode
题目:Divide Two Integers Divide two integers without using multiplication, division and mod operator. ...
- Install Solr+tomcat
1. chose the release you want: http://archive.apache.org/dist/lucene/solr/. 1) copy [solr_home]/dist ...
- Hyper-V初涉_早期Windows安装虚拟硬件驱动
虽然微软已经一再强调将要对Windows XP停止提供服务,但是难免在一些特殊场合需要早期的系统进行测试.为了测试需要,我在Hyper-V中安装了Windows XP. 按照之前的方法,对Hyper- ...
- socket基础
一.socket简介 1. 套接字 套接字是为特定网络协议(例如TCP/IP,ICMP/IP,UDP/IP等)套件对上的网络应用程序提供者提供当前可移植标准的对象.它们允许程序接受并进行连接,如发送和 ...
- Orleans的单线程执行模型
Orleans在默认情况下只创建一个grain的实例,并以单线程模型执行.如果同一个grain实例,在Orleans存在多个实例,就会产生并发冲突,单线程执行模型就可以完全避免并发冲突了. 但在特殊场 ...