下一篇《nginx 配置geoip2 (以city為例)》http://www.lxweimin.com/p/3387438696ab
1、首先查看nginx是否安裝了編譯的方法,注意V是大寫(可以先通過寶塔編譯安裝,急速安裝不可以編譯)
# nginx -V
下面為查詢結果
nginx version: nginx/1.16.1
built by gcc 4.8.5 20150623 (Red Hat 4.8.5-39) (GCC)
built with OpenSSL 1.1.1b 26 Feb 2019
TLS SNI support enabled
configure arguments: --user=www --group=www --prefix=/www/server/nginx --add-module=/www/server/nginx/src/ngx_devel_kit --add-module=/www/server/nginx/src/lua_nginx_module --add-module=/www/server/nginx/src/ngx_cache_purge --add-module=/www/server/nginx/src/nginx-sticky-module --with-openssl=/www/server/nginx/src/openssl --with-pcre=pcre-8.43 --with-http_v2_module --with-stream --with-stream_ssl_module --with-stream_ssl_preread_module --with-http_stub_status_module --with-http_ssl_module --with-http_image_filter_module --with-http_gzip_static_module --with-http_gunzip_module --with-ipv6 --with-http_sub_module --with-http_flv_module --with-http_addition_module --with-http_realip_module --with-http_mp4_module --with-ld-opt=-Wl,-E --with-cc-opt=-Wno-error --with-ld-opt=-ljemalloc --with-http_dav_module --add-module=/www/server/nginx/src/nginx-dav-ext-module --add-module=/www/server/nginx/src/ngx_http_geoip2_module
2、nginx的安裝腳本路徑:
/www/server/panel/install/nginx.sh
發現里面安裝會先執行下面這段代碼
[ -f "/www/server/panel/install/nginx_prepare.sh" ] && . /www/server/panel/install/nginx_prepare.sh
[ -f "/www/server/panel/install/nginx_configure.pl" ] && ADD_EXTENSION=$(cat /www/server/panel/install/nginx_configure.pl)
if [ -f "/usr/local/lib/libjemalloc.so" ] && [ -z "${aarch64Check}" ];then
jemallocLD="--with-ld-opt="-ljemalloc""
3、安裝前配置
#新服務器記得先安裝git
yum install git
3.1、第一種方法
3.1.1、在 /www/server/panel/install/nginx_prepare.sh (文件需要自己建)里添加第三方腳本代碼(此腳本執行路徑/www/server/nginx/src,安裝時會清空,所以不可以提前下載到這里):
#!/bin/bash
#安裝依賴庫
yum install libmaxminddb-devel -y
#下載第三方擴展源碼
git clone https://github.com/leev/ngx_http_geoip2_module.git
#如果下載時報錯fatal: unable to access 'https://github.com/leev/ngx_http_geoip2_module.git/
則把 git clone https://github.com/leev/ngx_http_geoip2_module.git
改為 git clone git://github.com/leev/ngx_http_geoip2_module.git
3.1.2、(這一步是官方文檔,可能是路徑寫死問題,找不到文件,所以建議直接執行3.2方法) 在 /www/server/panel/install/nginx_configure.pl (文件需要自己建)里添加add模塊代碼
--add-module=/www/server/nginx/src/ngx_http_geoip2_module
3.2、如果3.1.2添加方式安裝報錯,就刪除3.1.2的文件,直接編輯nginx.sh文件:(大約220多行或者250多行,手動添加代碼)
--add-module=${Setup_Path}/src/ngx_http_geoip2_module
if [ "${WebDav_NGINX}" -ge "114" ] && [ "${WebDav_NGINX}" != "181" ];then
ENABLE_WEBDAV="--with-http_dav_module --add-module=${Setup_Path}/src/nginx-dav-ext-module --add-module=${Setup_Path}/src/ngx_http_geoip2_module"
3.3、根據這個思路,還有一個方法,不通過3.1,3.2的方式配置,而是:
直接先安裝依賴,git下載geoip2到本地,然后在3.2這里加入
--add-module=本地路徑/ngx_http_geoip2_module,執行下面的安裝就行
上面3種配置方式都可以
4、然后再次通過ssh執行,我裝的是1.18,可以改
sh /www/server/panel/install/nginx.sh install 1.18
如果報下面錯誤
./configure: error: the geoip2 module requires the maxminddb library
是因為依賴庫沒有安裝成功,手動安裝(可以提前裝)
yum install libmaxminddb-devel
然后重新執行安裝nginx
sh /www/server/panel/install/nginx.sh install 1.18
5、最后
nginx -V
查看第三方摸板編譯成功
參考鏈接:
https://www.bt.cn/bbs/thread-16118-1-1.html
https://www.bt.cn/bbs/thread-37132-1-1.html