首页 > 系统相关 >yum 安装的 nginx 添加自定义模块后重新编译安装,限制城市IP

yum 安装的 nginx 添加自定义模块后重新编译安装,限制城市IP

时间:2023-07-25 11:25:12浏览次数:30  
标签:http 自定义 -- IP module nginx var path 安装

yum 安装的 nginx 添加自定义模块后重新编译安装

总体思路:下载和当前系统相同版本的nginx,将要添加的模块在编译时添加编译,然后将编译好的nginx可执行文件替换原来/usr/sbin/nginx文件

1. 查看nginx版本信息

root@www:~# nginx -V
nginx version: nginx/1.14.1
built by gcc 8.5.0 20210514 (Red Hat 8.5.0-15) (GCC)
built with OpenSSL 1.1.1k FIPS 25 Mar 2021
TLS SNI support enabled
configure arguments: --prefix=/usr/share/nginx --sbin-path=/usr/sbin/nginx --modules-path=/usr/lib64/nginx/modules --conf-path=/etc/nginx/nginx.conf --error-log-path=/var/log/nginx/error.log --http-log-path=/var/log/nginx/access.log --http-client-body-temp-path=/var/lib/nginx/tmp/client_body --http-proxy-temp-path=/var/lib/nginx/tmp/proxy --http-fastcgi-temp-path=/var/lib/nginx/tmp/fastcgi --http-uwsgi-temp-path=/var/lib/nginx/tmp/uwsgi --http-scgi-temp-path=/var/lib/nginx/tmp/scgi --pid-path=/run/nginx.pid --lock-path=/run/lock/subsys/nginx --user=nginx --group=nginx --with-ipv6 --with-http_ssl_module --with-http_v2_module --with-http_realip_module --with-http_addition_module --with-http_xslt_module=dynamic --with-http_image_filter_module=dynamic --with-http_sub_module --with-http_dav_module --with-http_flv_module --with-http_mp4_module --with-http_gunzip_module --with-http_gzip_static_module --with-http_random_index_module --with-http_secure_link_module --with-http_degradation_module --with-http_slice_module --with-http_stub_status_module --with-http_perl_module=dynamic --with-http_auth_request_module --with-mail=dynamic --with-mail_ssl_module --with-pcre --with-pcre-jit --with-stream=dynamic --with-stream_ssl_module --with-debug
2. 对现有的nignx进行备份

mv /usr/sbin/nginx /usr/sbin/nginx.bak
cp -r /etc/nginx /etc/nginx.bak
3. 下载和此版本相同的nginx源码包并解压

wget http://nginx.org/download/nginx-1.XX.X.tar.gz
tar -xvzf nginx-1.XX.X.tar.gz
4. 更新一下相关依赖包

yum -y install libxml2 libxml2-devel libxslt-devel gd gd-devel perl-devel perl-ExtUtils-Embed GeoIP GeoIP-devel GeoIP-data
yum -y install --skip-broken gcc gcc-c++ autoconf automake gperftools
yum -y install --skip-broken zlib zlib-devel openssl-devel pcre-devel
yum -y install pcre*
5. 停止nginx服务

systemctl stop nginx
6. 进入新下载的nginx目录,进行编译,添加模块为 with-http_geoip_module

cd ngxin-1.XX.X
./configure --prefix=/usr/share/nginx --sbin-path=/usr/sbin/nginx --modules-path=/usr/lib64/nginx/modules --conf-path=/etc/nginx/nginx.conf --error-log-path=/var/log/nginx/error.log --http-log-path=/var/log/nginx/access.log --http-client-body-temp-path=/var/lib/nginx/tmp/client_body --http-proxy-temp-path=/var/lib/nginx/tmp/proxy --http-fastcgi-temp-path=/var/lib/nginx/tmp/fastcgi --http-uwsgi-temp-path=/var/lib/nginx/tmp/uwsgi --http-scgi-temp-path=/var/lib/nginx/tmp/scgi --pid-path=/run/nginx.pid --lock-path=/run/lock/subsys/nginx --user=nginx --group=nginx --with-ipv6 --with-http_ssl_module --with-http_v2_module --with-http_realip_module --with-http_addition_module --with-http_xslt_module=dynamic --with-http_image_filter_module=dynamic --with-http_sub_module --with-http_dav_module --with-http_flv_module --with-http_mp4_module --with-http_gunzip_module --with-http_gzip_static_module --with-http_random_index_module --with-http_secure_link_module --with-http_degradation_module --with-http_slice_module --with-http_stub_status_module --with-http_perl_module=dynamic --with-http_auth_request_module --with-mail=dynamic --with-mail_ssl_module --with-pcre --with-pcre-jit --with-stream=dynamic --with-stream_ssl_module --with-debug --with-http_geoip_module

make #千万不要make install
7. 测试是否编译成功
nginx -t

8. 替换使用新的nginx
cp /usr/sbin/nginx /usr/sbin/nginx-bak
cp ./objs/nginx /usr/sbin/nginx

9. 重启nginx
systemctl start nginx
————————————————
版权声明:本文为CSDN博主「戴国进」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/JineD/article/details/126709512

标签:http,自定义,--,IP,module,nginx,var,path,安装
From: https://www.cnblogs.com/iancloud/p/17579291.html

相关文章

  • 01-docker环境安装
    dockercp容器ID/名称:文件路径要拷贝到外部的路径|要拷贝到外部的路径容器ID/名称:文件路径从容器内拷出dockercp容器ID/名称:容器内路径容器外路径从外部拷贝文件到容器内dockercp容器外路径容器ID/名称:容器内路径dockerexec-it767c57c2595b......
  • origin下载安装 origin所有版本中文版下载安装 常用软件
    origin2019b主要新功能一、数据连接器:用于从文件或网页导入数据的新机制,其连接信息会保存在工作薄/工作表中。数据被锁定编辑,从而确保数据的完整性。导入的数据和导入数据的图不会随项目一起保存,但可重算的分析输出都会随项目一起保存。重新连接到稳定的数据源以重新导入数据。用......
  • antd 组件 select input cheeckboxGround 传参 自定义传参
    tempfunclog:......
  • P1056 [NOIP2008 普及组] 排座椅
    1.变量maxn和g在for循环内声明和初始化,是因为它们用于追踪每次循环中的最大值及其对应的索引。如果将maxn和g的声明移到for循环外部,它们将保留上一次迭代的值,并且比较语句if(a[j]>maxn)或if(b[j]>maxn)将无法正常工作。在每次迭代中将它们初始化为-1的目的......
  • 纯前端获取当前用户IP和归属地
    <!DOCTYPEhtml><htmllang="en"><head><metacharset="UTF-8"><title>IPAddress</title></head><body><pid="content1"></p><pid="content2"&g......
  • cuda/cudnn 环境安装及查询
    引用出处:https://www.autodl.com/docs/cuda/注意:如果没有二次编译代码的需求,正常情况下不需要单独安装CUDA/cuDNN,因为框架都内置了编译好的CUDA,框架版本和CUDA版本是对应的,只需要关注框架版本即可,无需独立关注CUDA版本。查询默认CUDA/cuDNN版本¶注意:通过nvidia-smi命令查看到......
  • CentOS 7 安装达梦数据库
    环境说明CentOS的版本:CentOS7.92009达梦数据库的版本:达梦8SSH工具:MobaXterm(最新版本即可)初始化配置1、下载达梦安装包达梦数据库官网提供了开发版的下载包,我们下载对应版本即可。官网地址:https://eco.dameng.com/download/2、创建用户和组#创建组[root@localhost~]#groupad......
  • vue组件中引入自定义js文件
    在组件的script标签内直接引入:importmyFunctionfrom'@/util/custom.js'; 开始使用自定义js中的方法:exportdefault{//...otherVuecomponentoptionsmethods:{someMethod(){//Callthecustomfunctionfromyourcustom.jsmyFunctio......
  • 从vue2到vue3,自定义组件的v-model实现原理
    前言相信使用vue开发的同学应该都体会过v-model的便利,它可以非常方便地进行双向数据绑定,只要重新输入内容,视图就会立刻发生改变。本文将着重介绍如何在自定义组件当中使用v-model,以及在vue2和vue3中使用方式上的差异。概述v-model是一个语法糖,它在组件使用时相当于如下简写://......
  • ubuntu安装OpenJDK 17,并配置环境变量
    要在Ubuntu上安装OpenJDK17并配置环境变量,请按照以下步骤进行操作:第一步:打开终端(Terminal)。第二步:使用以下命令更新系统软件包列表:sudoaptupdate第三步:安装OpenJDK17:sudoaptinstallopenjdk-17-jdk以上命令将安装OpenJDK17及其相关组件。第四步:验证JDK是否已成功......