ubuntu 公升級後執行nginx報錯

2021-06-01 00:19:36 字數 1629 閱讀 3668

ubuntu 公升級後執行nginx報錯

$ /usr/local/nginx/sbin/nginx: error while loading shared libraries: libssl.so.0.9.8: cannot open shared object file: no such file or directory

從報錯內容看是找不到libssl.so.0.9.8

如何解決?

1. 通過ldd查詢缺少的庫

$ ldd $(which /usr/local/nginx/sbin/nginx)

linux-gate.so.1 => (0xb7773000)

libcrypt.so.1 => /lib/i386-linux-gnu/libcrypt.so.1 (0xb7729000)

libpcre.so.3 => /lib/i386-linux-gnu/libpcre.so.3 (0xb76ea000)

libssl.so.0.9.8 => not found

libcrypto.so.0.9.8 => not found

libdl.so.2 => /lib/i386-linux-gnu/libdl.so.2 (0xb76e4000)

libz.so.1 => /lib/i386-linux-gnu/libz.so.1 (0xb76cf000)

libc.so.6 => /lib/i386-linux-gnu/libc.so.6 (0xb7553000)

/lib/ld-linux.so.2 (0xb7774000)

2.進入/lib/i386-linux-gnu/ 目錄,發現原來是

libssl.so.0.9.8 libcrypto.so.0.9.8 這兩個檔案公升級成

libssl.so.1.0.0  libcrypto.so.1.0.0 導致,

做軟鏈結沒辦法解決依賴關係,此時最好是重新編譯niginx,使用公升級後的庫。

$ ldd $(which /usr/local/nginx/sbin/nginx)

linux-gate.so.1 => (0xb77b8000)

libcrypt.so.1 => /lib/i386-linux-gnu/libcrypt.so.1 (0xb776e000)

libpcre.so.3 => /lib/i386-linux-gnu/libpcre.so.3 (0xb772f000)

libssl.so.1.0.0 => /lib/i386-linux-gnu/libssl.so.1.0.0 (0xb76e1000)

libcrypto.so.1.0.0 => /lib/i386-linux-gnu/libcrypto.so.1.0.0 (0xb753d000)

libz.so.1 => /lib/i386-linux-gnu/libz.so.1 (0xb7528000)

libc.so.6 => /lib/i386-linux-gnu/libc.so.6 (0xb73ac000)

libdl.so.2 => /lib/i386-linux-gnu/libdl.so.2 (0xb73a7000)

/lib/ld-linux.so.2 (0xb77b9000)

ubuntu使用apt get安裝nginx

nginx已經很火了,可centos和debian ubuntu都還沒把nginx加入倉庫中,每次都只能編譯安裝,不過官方最近提供了deb和rpm包了,只需要使用nginx的源就可以用包管理軟體直接安裝了,不過每次都先加key,再修改連線的版本還是有點繁瑣,所以打算寫個一鍵安裝指令碼來完成此工作。b...

docker 使用docker執行Nginx映象

在docker映象倉庫查詢nginx映象 建立nginx web資料夾,存放nginx的資訊 mkdir p opt nginx web 拷貝配置檔案到nginx web資料夾下 docker run name tmp nginx container d nginx 1.17 docker cp t...

ubuntu刪除公升級後多餘的核心

列出所安裝的核心 帶有image的就是核心檔案 dpkg get selections grep linux libselinux1 install linux 386 install linux image 2.6.15 23 386 install linux image 2.6.15 27 3...