關於 安裝nginx的一些openssl筆記


1、openssl 與nginx 版本不相容真是一個大問題。

有時候我們下載的是 openssl 1.1.0e版本的。卻 openssl version時 得到了系統自帶的 受保護的不能刪除的 openssl 1.0.1e版本的。原因是配置 出錯,系統編譯器無法找到 一些重要的配置文件等 。

2、 openssl配置 編譯安裝之后 需要做的 一些配置: 

   

   1)  、ln -s /usr/local/openssl/include/openssl   /usr/include/openssl  

這是為了 給/usr/openssl/include/openssl 創建一個軟鏈接並將其放在 /usr/include目錄下 ,軟鏈接叫openssl,就像windows中用來的 快捷方式,eclipse桌面圖標就能進到eclipse工作台,就像c++的指針(java的對象的引用)一樣,不同就是C++指針(java引用)指向的是多個對象(屬性和方法),但這里是  多個軟鏈接”可以“指向同一個源文件,這這些軟鏈接占很少的內存,具有與源文件一樣的功能。以下同理

 

2)、ln -s /usr/local/openssl/bin/openssl  /usr/bin/openssl

 

3)、ln -s /usr/local/openssl/lib/libssl.so.1.1  /usr/local/lib64/libssl.so

問題: erro while loading shared libraries: libssl.so.1.1: cannot open shared object file: No such file or directory     編譯器找不到這個庫文件 : libssl.so.1.1

原因是: 在64位機器上 nginx讀取的ssl文件 /usr/local/lib64/libssl.so.1.1文件,但是我們安裝openssl 時(./config --prefix=/usr/local/openssl),libssl.so.1.1庫文件默認安裝在了 /usr/local/openssl/lib{/libssl.so.1.1}目錄下了。 但是默認情況下,編譯器只會搜索 、使用/lib和/usr/lib這兩個目錄下的庫文件,不然就找不到,那就報錯(某某庫文件不存在或者找不到)。我們就要操作 ”3)“的命令,在/usr/local上創建軟鏈接 libssl.so     指向——>/usr/local/openssl/lib/libssl.so.1.1,這樣 nginx安裝編譯的時候找的到 openssl里的庫文件了。

4)  echo "/usr/local/openssl/lib" >> /etc/ld.so.conf

注意:   /etc/ld.so.conf中 ld.so.conf文件 記錄了 編譯時使用的動態鏈接庫的路徑。由於上面說了 編譯器只會能使用 /lib和/usr/lib這兩個目錄下的庫文件。這里我們可以將 openssl下的lib路徑 添加到 /ld.so.conf下,當編譯時,自動到 /ld.so.conf文件上去找 庫文件的路徑。(有點像一個緩存區,也有點像windows的快捷方式)

 5)、 ldconfig -v 

 ldconfig是一個程序,位於 /sbin下,root使用的. 英語好 可以在man ldconfig上查看詳細信息。

作用: 將/etc/ld.so.conf列出的路徑下的庫文件 緩存到 /etc/ld.so.cache 以供使用(應該是像nginx編譯的時候就會到/etc/ld.so.cache文件下去找 那些庫文件)。 因此,當你安裝完一些庫文件時,例如剛裝完 zlib openssl或者修改ld.so.conf增加了 新的庫文件的路徑后,需要運行一下 /sbin/ldcinfig 使所有的庫文件都被緩存到 ld.so.cache中。如果沒運行這個程序 ldconf,編譯的時候報錯-----------缺少xxxx庫。

  6)、openssl version -v 

我本來只為寫給自己看的,但發現還有人看,那就補充一下: 

工具: 一個遠程登陸庫房服務器的工具(客戶端)secureCRT

1、從官網下載最新版本openssl-1.1.0e.tar.gz 到window上

2、將包拖到 CRT的SFTP窗口進行上傳,默認出現在/root目錄下

3、tar -zxvf openssl-1.1.0e.tar.gz   (在/root目錄下解壓openssl包)

4、mv openssl-1.1.0e /opt (將解壓后的 openssl移到/opt目錄上)

5、cd /opt/openssl-1.1.0e  (切換目錄到 /openssl-1.1.0e ,就像我windows上習慣將應用程序放在D盤,配置數據等放在E盤)

6、./config --prefix=/usr/local/openssl   (配置,配置的東西全放在 /openssl目錄下,配置產生的目錄為:/bin    /include  /lib  /share   /ssl這五個目錄)

7、 make (編譯,這時候不知道電腦屏幕在動  還是人在動 還是文字在動了,很久)          

8、make install  (編譯安裝)     注意:檢查編譯程序、安裝文件是否成功--->echo +一個牛逼的符號

9、最后 就按之前寫的   1、2、3、4、5、6一直走下去就ok了。

如下圖


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM