Nginx添加第三方模塊,出現“is not binary compatible in”錯誤的解決方案

動態編譯好第三方模塊:ngx_http_ts_module.so 檢測nignx配置,異常

sudo /usr/local/openresty/nginx/sbin/nginx -t
nginx: [emerg] module "/usr/local/openresty/nginx/modules/ngx_http_ts_module.so" is not binary compatible in /usr/local/openresty/nginx/conf/nginx.conf:7
nginx: configuration file /usr/local/openresty/nginx/conf/nginx.conf test failed

原因

第三方模塊的編譯中包含的簽名和使用的nignx不一致

 

./configure --prefix=/usr/local/openresty --with-luajit --without-http_redis2_module --with-http_iconv_module --with-http_stub_status_module --with-http_xslt_module --add-dynamic-module=/home/www/build/nginx-ts-module

 

解決方案

先通過 nginx -V 命令得到當前配置的configure配置

 

/usr/local/openresty/nginx/sbin/nginx -V

nginx version: openresty/1.19.3.1
built by gcc 7.5.0 (Ubuntu 7.5.0-3ubuntu1~18.04)
built with OpenSSL 1.1.1 11 Sep 2018
TLS SNI support enabled
configure arguments: --prefix=/usr/local/openresty/nginx --with-cc-opt='-O2 -O3' --add-module=../ngx_devel_kit-0.3.1 --add-module=../iconv-nginx-module-0.14 --add-module=../echo-nginx-module-0.62 --add-module=../xss-nginx-module-0.06 --add-module=../ngx_coolkit-0.2 --add-module=../set-misc-nginx-module-0.32 --add-module=../form-input-nginx-module-0.12 --add-module=../encrypted-session-nginx-module-0.08 --add-module=../srcache-nginx-module-0.32 --add-module=../ngx_lua-0.10.19 --add-module=../ngx_lua_upstream-0.07 --add-module=../headers-more-nginx-module-0.33 --add-module=../array-var-nginx-module-0.05 --add-module=../memc-nginx-module-0.19 --add-module=../redis-nginx-module-0.3.7 --add-module=../rds-json-nginx-module-0.15 --add-module=../rds-csv-nginx-module-0.09 --add-module=../ngx_stream_lua-0.0.9 --with-ld-opt=-Wl,-rpath,/usr/local/openresty/luajit/lib --with-pcre-jit --with-stream --with-stream_ssl_module --with-stream=dynamic --with-file-aio --with-threads --with-http_v2_module --with-http_realip_module --with-http_mp4_module --with-http_gzip_static_module --with-http_ssl_module --with-http_stub_status_module --with-http_xslt_module --with-openssl-opt='-g enable-tlsext' --with-stream --with-stream_ssl_preread_module

 

在複製所有的配置命令。添加到:

./configure [“你的nignx -V 得到的配置參數”] --add-dynamic-module=/etc/pan1/fastdfs-nginx-mo

 

正確的應該是

./configure --prefix=/usr/local/openresty/nginx --with-cc-opt='-O2 -O3' --with-ld-opt=-Wl,-rpath,/usr/local/openresty/luajit/lib --with-pcre-jit --with-stream --with-stream_ssl_module --with-stream=dynamic --with-file-aio --with-threads --with-http_v2_module --with-http_realip_module --with-http_mp4_module --with-http_gzip_static_module --with-http_ssl_module --with-http_stub_status_module --with-http_xslt_module --with-openssl-opt='-g enable-tlsext' --with-stream --with-stream_ssl_preread_module --add-dynamic-module=/home/www/build/nginx-ts-module

重新生成第三方模塊。接下來該怎麼配置就怎麼配置。問題解決!

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章