有一批機器需要部署同樣的nginx,我想一次編譯後直接拷貝文件,但是拷貝之後提示某個依賴函式庫找不到。 有什麼辦法可以一次編譯放到每台機器都能運作?
光阴似箭催人老,日月如移越少年。
可以用ldd和lsof找出二進位檔案nginx依賴的共享函式庫,然後複製到nginx裡的一個目錄(比如/png/pack/libs),然後用patchelf修改二進位檔案nginx的rpath和interpreter:
/png/pack/libs
patchelf --set-rpath /png/pack/libs --force-rpath /png/nginx/1.8/sbin/nginx patchelf --set-interpreter /png/pack/libs/ld-linux-x86-64.so.2 /png/nginx/1.8/sbin/nginx
然後打包目錄/png,部署到各個伺服器即可.具體參考我如何編譯打包的適用於64位Linux發行版的PHP7.
碼頭工人
可以用ldd和lsof找出二進位檔案nginx依賴的共享函式庫,然後複製到nginx裡的一個目錄(比如
/png/pack/libs
),然後用patchelf修改二進位檔案nginx的rpath和interpreter:然後打包目錄/png,部署到各個伺服器即可.具體參考我如何編譯打包的適用於64位Linux發行版的PHP7.
碼頭工人