亚洲乱码中文字幕综合,中国熟女仑乱hd,亚洲精品乱拍国产一区二区三区,一本大道卡一卡二卡三乱码全集资源,又粗又黄又硬又爽的免费视频

nginx安裝時,make編譯可能會出現的錯誤問題

 更新時間:2024年06月06日 11:39:30   作者:學前端搞口飯吃  
這篇文章主要介紹了nginx安裝時,make編譯可能會出現的錯誤問題,具有很好的參考價值,希望對大家有所幫助,如有錯誤或未考慮完全的地方,望不吝賜教

第一個,報錯

src/core/ngx_murmurhash.c: In function ‘ngx_murmur_hash2’:
src/core/ngx_murmurhash.c:37:11: error: this statement may fall through [-Werror=implicit-fallthrough=]
h ^= data[2] << 16;
^~~~~~~~~~~~~~
src/core/ngx_murmurhash.c:38:5: note: here
case 2:
^~~~
src/core/ngx_murmurhash.c:39:11: error: this statement may fall through [-Werror=implicit-fallthrough=]
h ^= data[1] << 8;
^~~~~~~~~~~~~
src/core/ngx_murmurhash.c:40:5: note: here
case 1:
^~~~
cc1: all warnings being treated as errors
make[1]: *** [objs/Makefile:473: objs/src/core/ngx_murmurhash.o] Error 1
make[1]: Leaving directory ‘/root/nginx-1.10.1‘
make: *** [Makefile:8: build] Error 2

分析原因:

是將警告當成了錯誤處理,打開 nginx的安裝目錄/objs/Makefile,去掉CFLAGS中的-Werror,再重新make

  • -Wall 表示打開gcc的所有警告
  • -Werror,它要求gcc將所有的警告當成錯誤進行處理

第二個,make出現的錯誤

src/os/unix/ngx_user.c: In function ‘ngx_libc_crypt’:
src/os/unix/ngx_user.c:36:7: error: ‘struct crypt_data’ has no member named ‘current_salt’
cd.current_salt[0] = ~salt[0];
^
make[1]: *** [objs/Makefile:774: objs/src/os/unix/ngx_user.o] Error 1
make[1]: Leaving directory ‘/root/nginx-1.10.1‘
make: *** [Makefile:8: build] Error 2

這里提示我們struct crypt_data’沒有名為‘current_salt’的成員:cd.current_salt[0] = ~salt[0];

最好的辦法是換一個版本,因為條件限制,我們就進到源碼里把這行直接注釋掉好了。

# vim src/os/unix/ngx_user.c進入里面注釋掉36行

第三個錯誤,openssl版本錯誤

src/event/ngx_event_openssl.c: In function ‘ngx_ssl_dhparam’:
src/event/ngx_event_openssl.c:954:11: error: dereferencing pointer to incomplete type ‘DH’ {aka ‘struct dh_st’}
dh->p = BN_bin2bn(dh1024_p, sizeof(dh1024_p), NULL);
^~
src/event/ngx_event_openssl.c: In function ‘ngx_ssl_connection_error’:
src/event/ngx_event_openssl.c:1941:21: error: ‘SSL_R_NO_CIPHERS_PASSED’ undeclared (first use in this function); did you mean ‘SSL_R_NO_CIPHERS_SPECIFIED’?
|| n == SSL_R_NO_CIPHERS_PASSED /* 182 */
^~~~~~~~~~~~~~~~~~~~~~~
SSL_R_NO_CIPHERS_SPECIFIED
src/event/ngx_event_openssl.c:1941:21: note: each undeclared identifier is reported only once for each function it appears in
make[1]: *** [objs/Makefile:816: objs/src/event/ngx_event_openssl.o] Error 1
make[1]: Leaving directory ‘/root/nginx-1.10.1‘
make: *** [Makefile:8: build] Error 2

原因:

由于默認使用了openssl 1.1.x 版本,導致的API不一致引起

解決:

直接安裝openssl1.0版本

wget http://www.openssl.org/source/openssl-1.1.0e.tar.gz //下載openssl
[root@iZgt88z6l1kvd7Z ~]# tar -zxvf openssl-1.1.0e.tar.gz //解壓
[root@iZgt88z6l1kvd7Z ~]# cd openssl-1.1.0e/ &&./config shared zlib --prefix=/usr/local/openssl && make && make install 進入目錄把openssl編譯安裝到 /usr/local/openssl 下
[root@iZgt88z6l1kvd7Z openssl-1.1.0e]# ./config -t
[root@iZgt88z6l1kvd7Z openssl-1.1.0e]# make depend //一種度makefile的規(guī)則,通過掃描儀個目錄下的所有C\C++ 代碼,從而判專斷出文件之間的依賴關系,如a.cc文件中調用了b.h(如以形勢include<b.h>),如果之后a.cc文件被改動,那 么只需要重新編屬譯a.cc文件,不需要編譯b.h文件。否則所有的文件都需要重新編譯。
[root@localhost openssl-1.1.0e]# cd /usr/local
[root@iZgt88z6l1kvd7Z local]# ln -s openssl ssl
[root@iZgt88z6l1kvd7Z local]# echo "/usr/local/openssl/lib" >>/etc/ld.so.conf
[root@iZgt88z6l1kvd7Z local]# cd /root/openssl-1.1.0e注意每個人的目錄都是不一樣的,我這里是root下的openssl,至于其他人看自己情況,切換目錄
[root@iZgt88z6l1kvd7Z openssl-1.1.0e]# ldconfig
[root@iZgt88z6l1kvd7Z openssl-1.1.0e]# echo $?
0
[root@iZgt88z6l1kvd7Z openssl-1.1.0e]# echo "PATH=$PATH:/usr/local/openssl/bin" >> /etc/profile && source /etc/profile

然后重新進入nginx-1.9.9執(zhí)行[root@iZwz967a5gqt3aqi2g3pbkZ nginx-1.9.9]# ./configure --prefix=/usr/local/nginx --add-module=/root/nginx-1.9.9/headers-more-nginx-module-0.33 --with-http_stub_status_module --with-http_ssl_module注意,我這里的是這條命令,至于你們的./configure……就看你們自身情況

重新make一下哎

總結

以上為個人經驗,希望能給大家一個參考,也希望大家多多支持腳本之家。

相關文章

  • Nginx+SpringBoot實現負載均衡的示例

    Nginx+SpringBoot實現負載均衡的示例

    這篇文章主要介紹了Nginx優(yōu)雅的實現負載均衡,幫助大家更好的理解和使用nginx,感興趣的朋友可以了解下
    2020-10-10
  • Nginx負載均衡健康檢查性能提升

    Nginx負載均衡健康檢查性能提升

    這篇文章主要為大家介紹了Nginx負載均衡健康檢查性能提升,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進步,早日升職加薪
    2023-10-10
  • nginx開啟ws訪問和4層負載的編譯參數示例

    nginx開啟ws訪問和4層負載的編譯參數示例

    這篇文章主要為大家介紹了nginx開啟ws訪問和4層負載的編譯參數,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進步,早日升職加薪
    2023-07-07
  • nginx配置完rewrite瀏覽器提示將您重定向的次數過多的解決方法

    nginx配置完rewrite瀏覽器提示將您重定向的次數過多的解決方法

    本文主要介紹了nginx配置完rewrite瀏覽器提示將您重定向的次數過多的解決方法,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧
    2023-07-07
  • https如何通過nginx完成雙向認證轉發(fā)

    https如何通過nginx完成雙向認證轉發(fā)

    文章詳細介紹了HTTPS單向認證和雙向認證的概念,并提供了生成自簽證書、配置Nginx進行雙向認證的具體步驟,通過雙向認證,服務端和客戶端可以互相驗證身份,提升安全性,在測試過程中,使用瀏覽器訪問HTTPS接口時,需要安裝客戶端證書才能成功獲取數據
    2024-11-11
  • Nginx安裝后常用功能配置基礎篇

    Nginx安裝后常用功能配置基礎篇

    這篇文章主要介紹了Nginx安裝后常用的功能配置,為了在使用中更高效簡潔,Nginx安裝后通常會進行一些常用的配置,有需要的朋友可以借鑒參考下,希望能夠有所幫助
    2022-03-03
  • Nginx中使用Lua腳本與圖片的縮略圖處理的實現

    Nginx中使用Lua腳本與圖片的縮略圖處理的實現

    本文主要介紹了Nginx中使用Lua腳本與圖片的縮略圖處理的實現,文中通過示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2022-03-03
  • Nginx配置使用詳解

    Nginx配置使用詳解

    Nginx是一個高性能的HTTP和反向代理web服務器。本文詳細講解了Nginx配置使用的方法,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧
    2022-06-06
  • nginx反向代理60s超時報錯問題解決

    nginx反向代理60s超時報錯問題解決

    本文主要介紹了Nginx反向代理時遇到60秒超時報錯的問題,經過排查發(fā)現是由于代理服務執(zhí)行時間過長導致的,具有一定的參考價值,感興趣的可以了解一下
    2025-02-02
  • Nginx的偽靜態(tài)配置中使用rewrite來實現自動補全的實例

    Nginx的偽靜態(tài)配置中使用rewrite來實現自動補全的實例

    這篇文章主要介紹了Nginx的偽靜態(tài)配置中使用rewrite來實現自動補全的實例,文中對rewrite的相關參數和正則表達使用也做了介紹,需要的朋友可以參考下
    2015-12-12

最新評論