1. 程式人生 > >OpenSSL原始碼安裝後路徑配置(解決Nginx編譯時 openssl not found問題)

OpenSSL原始碼安裝後路徑配置(解決Nginx編譯時 openssl not found問題)

有時候因為nginx升級之後使用了高版本的Openssl,本地需要新增新模組重新編譯nginx時候要升級openssl至指定版本。

原始碼安裝Openssl之後重新編譯Nginx會報如下錯誤:

checking for OpenSSL library ... not found
checking for OpenSSL library in /usr/local/ ... not found
checking for OpenSSL library in /usr/pkg/ ... not found
checking for OpenSSL library in /opt/local/ ... not found


./configure: error: SSL modules require the OpenSSL library.
You can either do not enable the modules, or install the OpenSSL library
into the system, or build the OpenSSL library statically from the source
with nginx by using --with-openssl=<path> option.

其實是OpenSSL的庫沒有找到。 nginx查詢的路徑為:/usr/local/ ; /usr/pkg/; /opt/local;

只要把剛剛原始碼編譯生成的庫放到對應目錄就可以了。

以我的機器Centos7為例。openSSL原始碼編譯安裝後,庫的位置為

/usr/local/lib64

於是我把此目錄下的庫移動到/usr/local下。

再次編譯的時候還是報錯:OpenSSL library not found.

重新看了下配置的指令碼發現。

原來Nginx是在 /usr/local/lib;  /usr/pkg/lib; /opt/local/lib; 這三個路徑下去查詢;

把庫拷貝到 /usr/local/lib下即可編譯。