標籤:can 快速 res bre 完成 arc .so nginx 百度搜
解決軟體啟動報error while loading shared libraries: libgd.so.2: cannot open shared object錯誤
今天安裝啟動nginx的時候報這個錯誤:error while loading shared libraries: libgd.so.2: cannot open shared object,網上查了相關資料,解決了,在此記錄下,也讓後面遇到這個問題的朋友能快速解決。
先說解決辦法,協助著急解決問題的朋友,這個是因為缺失gd庫,把他裝上就可以了。 安裝辦法: 1、直接yum install gd 最簡單 2、如果yum搜尋不到gd庫的安裝包,可以手動下載對應rpm包,:http://rpmfind.net/linux/rpm2html/search.php?query=libgd.so.2下載完了之後安裝即可。
安裝完成之後,再啟動nginx正常。
再來說問題排查步驟,後續遇到類似問題可以參考這個方法解決。
根據報錯提示,是libgd.so.2類庫檔案載入失敗。這種情況要麼對應lib沒有安裝,要麼安裝位置沒到正確位置。通過ldd命令查一下nginx依賴的類庫檔案:
- ldd /usr/local/nginx/sbin/nginx
- linux-vdso.so.1 => (0x00007fffd5fb6000)
- libpthread.so.0 => /lib64/libpthread.so.0 (0x000000379e200000)
- libcrypt.so.1 => /lib64/libcrypt.so.1 (0x000000393f200000)
- libpcre.so.0 => /lib64/libpcre.so.0 (0x00000033d5800000)
- libssl.so.10 => /usr/lib64/libssl.so.10 (0x0000003c60200000)
- libcrypto.so.10 => /usr/lib64/libcrypto.so.10 (0x0000003df9800000)
- libdl.so.2 => /lib64/libdl.so.2 (0x000000390be00000)
- libz.so.1 => /lib64/libz.so.1 (0x0000003a25600000)
- libc.so.6 => /lib64/libc.so.6 (0x0000003a24200000)
- libgd.so.2 => not found
- /lib64/ld-linux-x86-64.so.2 (0x0000003a23e00000)
- libfreebl3.so => /lib64/libfreebl3.so (0x000000393ea00000)
- libgssapi_krb5.so.2 => /lib64/libgssapi_krb5.so.2 (0x000000379fa00000)
- libkrb5.so.3 => /lib64/libkrb5.so.3 (0x000000379d200000)
- libcom_err.so.2 => /lib64/libcom_err.so.2 (0x000000379e600000)
- libk5crypto.so.3 => /lib64/libk5crypto.so.3 (0x0000003df9c00000)
- libkrb5support.so.0 => /lib64/libkrb5support.so.0 (0x0000003dfa800000)
- libkeyutils.so.1 => /lib64/libkeyutils.so.1 (0x0000003dfa400000)
- libresolv.so.2 => /lib64/libresolv.so.2 (0x0000003a26a00000)
- libselinux.so.1 => /lib64/libselinux.so.1 (0x0000003df7c00000)
發現這個找不到, libgd.so.2 => not found
網上一搜,這個庫是gd安裝包帶的,如果確認安裝過gd,那麼這個庫是在系統上的,通過find命令找到這個檔案
find / -name ‘libgd.so.2‘
找到之後,可以複製一份到對應lib目錄,如果沒有,那隻能重新安裝了,我們怎麼知道要安裝包的名字呢?很簡單,你可以百度搜一下這個libgd.so.2,就能查到這個庫檔案是來自哪個安裝包。 或者你可以到這個網站查,http://rpmfind.net/linux/rpm2html/search.php?query=libgd.so.2,查到這個類庫來自GD安裝包
先
yum search gd 搜一下,如果有,那就直接 yum install gd
就可以了,沒有的話也可以通過上面那個網站,找到符合自己系統的安裝包(主要靠作業系統版本號碼,還有事32還是64位的,新版本的都是64位了),下載下來,然後通過對應命令安裝就可以了。其它類庫檔案缺失解決辦法類似。
文章首發: https://www.geek-share.com/detail/2750257208.html
參考文章:
在Linux裡安裝和啟動nginx的方法
Nginx可以做什嗎?看完這篇你就懂了
Nginx+PHP+MySQL雙機互備、全自動切換方案
解決軟體啟動報error while loading shared libraries: libgd.so.2: cannot open shared object錯誤