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

    linux源碼包安裝實踐與排錯之源碼安裝nginx

  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文件,構建應用程序
    linux源碼包安裝實踐與排錯之源碼安裝nginx

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

    linux源碼包安裝實踐與排錯之源碼安裝nginx

    最終生成:Makefile
    # make  -j 4   #按Makefile文件編譯,可以使用-j 4指定4核心CPU編譯,提升速度
    # make install  #按Makefile定義的文件路徑安裝
    # make clean //清除上次的make命令所產生的object和Makefile文件。使用場景:當需要重新執行configure時,需要執行make clean

    5.make install 複製文件到相應路徑
    linux源碼包安裝實踐與排錯之源碼安裝nginx
    6.查看安裝文件夾
    linux源碼包安裝實踐與排錯之源碼安裝nginx
    就此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   #安裝
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章