最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

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一下哎

總結

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

相關文章

  • Linux中Nginx的防盜鏈和優(yōu)化的實現代碼

    Linux中Nginx的防盜鏈和優(yōu)化的實現代碼

    今天是周末小編在值班哈,很開森,工作使我快樂,本文重點給大家介紹Linux中Nginx的防盜鏈和優(yōu)化問題及實現代碼,需要的朋友跟隨小編一起看看吧
    2021-06-06
  • Nginx rewrite正則匹配重寫的方法示例

    Nginx rewrite正則匹配重寫的方法示例

    這篇文章主要介紹了Nginx rewrite正則匹配重寫的方法示例,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧
    2019-10-10
  • Nginx?配置?WebSocket?代理的操作過程

    Nginx?配置?WebSocket?代理的操作過程

    這篇文章主要介紹了Nginx?配置?WebSocket?代理的操作過程,本文給大家介紹的非常詳細,感興趣的朋友跟隨小編一起看看吧
    2024-04-04
  • 使用nginx+tomcat+keepalived實現高可用的詳細步驟

    使用nginx+tomcat+keepalived實現高可用的詳細步驟

    這篇文章主要介紹了nginx+tomcat+keepalived實現高可用,包括安裝nginx服務的步驟,詳細介紹了安裝keepalived的方法,對nginx+tomcat+keepalived高可用相關知識感興趣的朋友一起看看吧
    2022-03-03
  • 詳解Nginx 靜態(tài)文件服務配置及優(yōu)化

    詳解Nginx 靜態(tài)文件服務配置及優(yōu)化

    這篇文章主要介紹了Nginx 靜態(tài)文件服務配置及優(yōu)化,小編覺得挺不錯的,現在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    2019-05-05
  • Nginx中的proxy_set_header核心參數解析

    Nginx中的proxy_set_header核心參數解析

    文章詳解Nginx中proxy_set_header指令的語法與用途,涵蓋設置Host頭、傳遞真實IP、協議信息、連接控制、CORS支持、自定義頭及緩存管理,強調需注意指令位置、空值處理和特殊頭格式,感興趣的朋友跟隨小編一起看看吧
    2025-08-08
  • Nginx構建Tomcat集群的操作方法

    Nginx構建Tomcat集群的操作方法

    nginx是一款自由的、開源的、高性能的HTTP服務器和反向代理服務器;同時也是一個IMAP、POP3、SMTP代理服務器,這篇文章主要介紹了Nginx構建Tomcat集群的問題,需要的朋友可以參考下
    2022-01-01
  • Nginx 禁用靜態(tài)文件緩存的配置方法

    Nginx 禁用靜態(tài)文件緩存的配置方法

    禁用緩存可能會導致性能下降,因為每次請求都需要從后端服務器獲取文件,因此,你需要根據具體情況權衡利弊并做出決策,這篇文章給大家介紹Nginx 禁用靜態(tài)文件緩存的方法,感興趣的朋友一起看看吧
    2024-02-02
  • 詳解nginx服務器中的安全配置

    詳解nginx服務器中的安全配置

    本篇文章主要介紹了nginx服務器中的安全配置,較為詳細的分析了nginx服務器中的安全配置與相關操作注意事項,需要的朋友可以參考下。
    2016-10-10
  • Nginx如何自動封禁可疑Ip

    Nginx如何自動封禁可疑Ip

    這篇文章主要介紹了Nginx如何自動封禁可疑Ip問題,具有很好的參考價值,希望對大家有所幫助,如有錯誤或未考慮完全的地方,望不吝賜教
    2025-06-06

最新評論

浦东新区| 筠连县| 原阳县| 陆丰市| 都安| 楚雄市| 昆山市| 乡城县| 巴林左旗| 天峨县| 长丰县| 资中县| 贺兰县| 获嘉县| 农安县| 龙门县| 榆中县| 石屏县| 海丰县| 颍上县| 桂平市| 甘德县| 汽车| 道孚县| 扎赉特旗| 广丰县| 正安县| 荣成市| 新宾| 津南区| 诸暨市| 卫辉市| 华安县| 冕宁县| 张掖市| 介休市| 淮南市| 晋城| 永修县| 寿光市| 塔河县|