linux源码包安装实践与排错之源码安装nginx

Linux源码安装nginx

1.编译环境如gcc和 gcc-c++编译器,make

先安装一些编译源码包需要的devel包

yum -y install gcc gcc-c++ make zlib-devel pcre pcre-devel openssl-devel

2.准备软件 :

nginx-1.15.9.tar.gz
下载地址:
http://nginx.org/en/download.html

3.开始安装

源码编译3步骤:./configure , make ,make install

  1. 先解包
    root:/sources # tar xf nginx-1.15.9.tar.gz

  2. 进入nginx源码文件夹
    root:/sources # cd nginx-1.15.9/

    Ps:先看文件夹内REDME文件与INSTALL文件(没有就不看)
    3.通过选项传递参数,指定启用特性、安装路径等;执行时会参考用户的指定以及Makefile.in文件生成Makefile

    root:/sources/nginx-1.15.9 # ./configure  --prefix=/app/nginx

    Ps:这步如果提示需要依赖包那就yum 包名-devel

    a. 指定安装路径,例如 --prefix=/usr/local/nginx
    b. 启用或禁用某项功能, 例如 --enable-ssl, --disable-filter --with-http_ssl_module
    c. 和其它软件关联,例如--with-pcre
    d. 检查安装环境,例如是否有编译器gcc,是否满足软件的依赖需求

    4.make 根据Makefile文件,构建应用程序

    root:/sources/nginx-1.15.9 # make -j 2

    最终生成:Makefile
    # make  -j 4   #按Makefile文件编译,可以使用-j 4指定4核心CPU编译,提升速度
    # make install  #按Makefile定义的文件路径安装
    # make clean //清除上次的make命令所产生的object和Makefile文件。使用场景:当需要重新执行configure时,需要执行make clean

    5.make install 复制文件到相应路径

    6.查看安装文件夹

    就此nginx以安装完成
    7.删除源码包:
    安装完,删除:
    make uninstall
    有时删除不干净,所以建议大家安装时,在configure步骤添加一个: --prefix 参数。这样删除或备份时,直接对删除--prefix指定的安装目录操作就可以了。

    4.源码编译出错的5个种完美解决方法

    从windows上传extundelete文件到linux,安装xmanager v5 或者CTR
    解压并安装extundelet

    tar jxvf extundelete-0.2.4.tar.bz2 
    cd extundelete-0.2.4
    rpm -ivh /mnt/Packages/e2fsprogs-devel-1.41.12-11.el6.x86_64.rpm 
    ./configure   #检查系统安装环境
    Configuring extundelete 0.2.4

    源码编译出错后,常见解决方法:
    共5种方法
    方法1:

    # rpm -ivh ext2fs^C   #按两下tab键。 一般情况,ext2fs就是要安装的软件包的名字开头。如果存在 自动补全

    方法2:

    # ls *ext2fs*   #查找完整关键字

    方法3:

    # ls *2fs*    #查找部分关键字

    方法4:

    终极大招
    http://www.rpmseek.com/index.html

    方法5:

    使用yum去搜索
    # yum search ext2fs
    安装库:
    # rpm -ivh e2fsprogs-libs-1.41.12-11.el6.x86_64.rpm 
    warning: e2fsprogs-libs-1.41.12-11.el6.x86_64.rpm: Header V3 RSA/SHA256 Signature, key ID fd431d51: NOKEY
    Preparing...                                                            ########################################### [100%]
    package e2fsprogs-libs-1.41.12-11.el6.x86_64 is already installed
    互动:这里显示库已经安装,但是configure时又说找不到。怎么办?
    解决:安装了库,却显示找不到。 这种情况: 需要安装库的开发文件
    # rpm -ivh /mnt/Packages/e2fsprogs-devel-1.41.12-11.el6.x86_64.rpm 

扩展:技巧

查看rpm包安装后生成的文件:
#rpm -qpl e2fsprogs-devel-1.41.12-11.el6.x86_64.rpm | more
# make  -j 4  
# make install  #安装
# ls /usr/local/bin/extundelete   #查看安装后的文件
/usr/local/bin/extundelete
总结,软件安装方法特点:
rpm+yum:方便,软件版本低。稳定性好、管理方便。性能稍差。
源码编译安装:麻烦,软件版本新,可以定制。稳定性稍差、管理稍差。性能好。
源码编译安装:主要是安装LAMP或LNMP 架构时,我们会用
8.3.4  安装.src.rpm源码包的方法(了解)  
srpm: Source RPM 的意思,也就是这个 RPM 档案里面含有原始码( Source Code )。
上传lrzsz-0.12.20-27.1.el6.src.rpm 到linux的/root目录 
# rpm -e lrzsz  #先卸载软件包
编译:
# rpmbuild --rebuild  lrzsz-0.12.20-27.1.el6.src.rpm     #根据将src.rpm中源码文件编译成可执行的二进制文件。
若顺利执行成功则会在root用户家目录下生成一个:/root/rpmbuild目录。 
在/root/rpmbuild/RPMS/x86_64/目录下生成lrzsz-0.12.20-27.1.el7.centos.x86_64.rpm这个rpm文件。
#rpm -ivh rpmbuild/RPMS/x86_64/lrzsz-0.12.20-27.1.el7.centos.x86_64.rpm   #安装

转载于:https://blog.51cto.com/9019400/2368277

你可能感兴趣的:(linux源码包安装实践与排错之源码安装nginx)