侧边栏壁纸
博主头像
Mick

The you you are.

  • 累计撰写 37 篇文章
  • 累计创建 31 个标签
  • 累计收到 3 条评论

目 录CONTENT

文章目录

Nginx 安装第三方模块(以substitutions_filter_module 为例)

Nginx 会比 Apache 的体积更加的小,所以可以在一些配置较低的主机上运行。但是,这样的代价是 Nginx 自带的功能较少。但是,我们可以为 Nginx 安装第三方的模块来拓展其功能。

因为 Nginx 不支持动态加载模块,所以,我们需要重新编译 Nginx,并覆盖原文件来实现升级和安装新的模块

这里会以substitutions_filter_module 为例

完全卸载 Nginx

# 完全卸载 Nginx
# 请不要再工作环境中执行此步骤
# 请在确认数据已备份完全后或者 Nginx 环境已确认损坏后执行
apt-get -y remove nginx nginx-common
apt-get -y purge nginx nginx-common
apt-get -y autoremove

安装 Nginx

# switch to root
sudo -i

apt upgrade
apt-get install nginx

确认 Nginx 版本, 并记下configure参数

nginx -V

下载 Nginx

# download nginx source code
# 这里下载你需要的 Nginx 版本
wget http://nginx.org/download/nginx-1.18.0.tar.gz

tar -xvzf nginx-1.18.0.tar.gz
cd nginx-1.18.0

下载第三方模块

git clone git://github.com/yaoweibin/ngx_http_substitutions_filter_module.git

mkdir /git
cd /git

mv ngx_http_substitutions_filter_module /git/ngx_http_substitutions_filter_module
# install
cd /root/nginx-1.18.0
./configure YOUR CONFIGURE ARGUMENTS --add-module=/git/ngx_http_substitutions_filter_module

例如:

./configure --with-cc-opt='-g -O2 -fdebug-prefix-map=/build/nginx-d4S6DH/nginx-1.18.0=. -fstack-protector-strong -Wformat -Werror=format-security -fPIC -Wdate-time -D_FORTIFY_SOURCE=2' --with-ld-opt='-Wl,-Bsymbolic-functions -Wl,-z,relro -Wl,-z,now -fPIC' --prefix=/usr/share/nginx --conf-path=/etc/nginx/nginx.conf --http-log-path=/var/log/nginx/access.log --error-log-path=/var/log/nginx/error.log --lock-path=/var/lock/nginx.lock --pid-path=/run/nginx.pid --modules-path=/usr/lib/nginx/modules --http-client-body-temp-path=/var/lib/nginx/body --http-fastcgi-temp-path=/var/lib/nginx/fastcgi --http-proxy-temp-path=/var/lib/nginx/proxy --http-scgi-temp-path=/var/lib/nginx/scgi --http-uwsgi-temp-path=/var/lib/nginx/uwsgi --with-compat --with-debug --with-pcre-jit --with-http_ssl_module --with-http_stub_status_module --with-http_realip_module --with-http_auth_request_module --with-http_v2_module --with-http_dav_module --with-http_slice_module --with-threads --with-http_addition_module --with-http_gunzip_module --with-http_gzip_static_module --with-http_sub_module --add-module=/git/ngx_http_substitutions_filter_module
make

在未安装nginx的情况下安装nginx第三方模块

make install

在已安装nginx的情况下安装nginx第三方模块

mv /usr/sbin/nginx /usr/sbin/nginx.old
cp objs/nginx /usr/sbin/nginx
0

评论区