nginx 新增第三方模組或者啟用編譯時禁用的模組
阿新 • • 發佈:2022-03-09
nginx 新增第三方模組或者啟用編譯時禁用的模組
最近因為要使用 ngx-http_fastcgi_module 模組的 fastcgi_connect_timeout 引數 遇到的一些問題在此記錄下來
問題1:
在Nginx配置中新增 fastcgi_connect_timeout 引數
# fastcgi_connect_timeout 引數 可以新增在 http server localtion 中 # fastcgi_connect_timeout 預設為30s ,格式: fastcgi_connect_timeout 30s; fastcgi_connect_timeout 60s; fastcgi_read_timeout 60s; fastcgi_send_timeout 60s;
新增引數重啟的時候報錯:unknown directive "fastcgi_connect_timeout" 識別不了該引數,所以就選擇新增第三方模組,或者啟用模組
# 使用命令檢視,fastcgi模組是否內建模組 cd /data/software/build/nginx-1.18.0 ./configure --help | grep fastcgi --without-http_fastcgi_module disable ngx_http_fastcgi_module --http-fastcgi-temp-path=PATH set path to store http fastcgi temporary files # 由此看出 ngx-http_fastcgi_module 模組是內建模組 ,所以是之前編譯的時候禁用掉了 檢視編譯引數 /usr/local/webserver/nginx/sbin/nginx -V configure arguments: --user=nginx --group=nginx --prefix=/usr/local/webserver/nginx \ --sbin-path=/usr/local/webserver/nginx/sbin/nginx \ --conf-path=/usr/local/webserver/nginx/conf/nginx.conf \ --pid-path=/usr/local/webserver/nginx/run/nginx.pid \ --lock-path=/usr/local/webserver/nginx/run/nginx.lock \ --error-log-path=/usr/local/webserver/nginx/log/nginx/error.log \ --http-log-path=/usr/local/webserver/nginx/log/nginx/access.log \ --with-http_gzip_static_module --with-http_stub_status_module \ --with-http_ssl_module --with-pcre --with-file-aio --with-http_realip_module \ --without-http_scgi_module --without-http_uwsgi_module --without-http_fastcgi_module # --without-http_fastcgi_module --without 表示禁用模組,內建模組沒有配置的話,就是預設啟用 # --with-http_v2_module --with 表示新增第三方模組 # 新增或啟用模組,需要新增第三方模組的話需要提前下載好,但是啟用的話就編譯,使用之前的編譯資訊修改就行。 #刪除掉--without-http_fastcgi_module 重新編譯 #啟用多個模組就刪除多個 --without-http_scgi_module --without-http_uwsgi_module --without-http_fastcgi_module cd /data/software/build/nginx-1.18.0 ./configure --user=nginx --group=nginx --prefix=/usr/local/webserver/nginx \ --sbin-path=/usr/local/webserver/nginx/sbin/nginx \ --conf-path=/usr/local/webserver/nginx/conf/nginx.conf \ --pid-path=/usr/local/webserver/nginx/run/nginx.pid \ --lock-path=/usr/local/webserver/nginx/run/nginx.lock \ --error-log-path=/usr/local/webserver/nginx/log/nginx/error.log \ --http-log-path=/usr/local/webserver/nginx/log/nginx/access.log \ --with-http_gzip_static_module --with-http_stub_status_module \ --with-http_ssl_module --with-pcre --with-file-aio --with-http_realip_module # 然後使用make 不用 make install make # make之後會在當前路徑的objs資料夾下生成nginx ,使用該檔案替換 啟動檔案nginx mv /usr/local/webserver/nginx/sbin/nginx /usr/local/webserver/nginx/sbin/nginx.bak cp objs/nginx /usr/local/webserver/nginx/sbin/ # 檢視配置是否正確 /usr/local/webserver/nginx/sbin/nginx -t nginx: the configuration file /usr/local/webserver/nginx/conf/nginx.conf syntax is ok nginx: configuration file /usr/local/webserver/nginx/conf/nginx.conf test is successful # 重新載入nginx /usr/local/webserver/nginx/sbin/nginx -s reload