nginx geoip2 根据城市区域 进入相应页面

2023-11-22 23:40

本文主要是介绍nginx geoip2 根据城市区域 进入相应页面,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

1.创建目录放之后下载的3个压缩文件

1-1 mkdir /etc/nginx && mkdir /etc/nginx/geoip

1-2 cd /etc/nginx/geoip

2. 3个文件我下载到了本地,然后通过scp 上传至/etc/nginx/geoip目录

2-1 scp libmaxminddb-1.7.1.tar.gz root@ip:/etc/nginx/geoip

2-2 scp ngx_http_geoip2_module-3.4.tar.gz root@ip:/etc/nginx/geoip

2-3 scp GeoLite2-Country_20230912.tar.gz root@ip:/etc/nginx/geoip

libmaxminddb下载地址

https://github.com/maxmind/libmaxminddb/releases/download/1.3.2/libmaxminddb-1.3.2.tar.gz

ngx_http_geoip2_module下载地址

https://github.com/leev/ngx_http_geoip2_module/

GeoLite2-Country_20230912 需要到官网上注册后下载GeoIP2 Web Services | MaxMind

https://www.maxmind.com/en/home

在哪里下载,My Account > Download Databases

3. 解压文件3个文件

3-1 tar -zxvf libmaxminddb-1.7.1.tar.gz

3-2 tar -zxvf ngx_http_geoip2_module-3.4.tar.gz

3-1 tar -zxvf GeoLite2-Country_20230912.tar.gz

4. libmaxminddb-1.7.1需要安装及编译

4-1 cd libmaxminddb-1.7.1/

4-2 ./configure && make && make install 在动态链接库的配置里,加入了库文件的位置

4-3 echo /usr/local/lib >> /etc/ld.so.conf.d/local.conf

//更新/etc/ld.so.cache文件

4-4 -ldconfig

5. 此命令检测模块是否可以使用,根据ip显示当前城市信息

5-1 mmdblookup --file /etc/nginx/geoip/GeoLite2-Country_20230912/GeoLite2-Country.mmdb --ip 8.8.8.8

6. 配置nginx

6-1 先到nginx 可执行 nginx -V 查看现有配置,这个配置需要之后加上--add-dynamic-module=/etc/nginx/geoip/ngx_http_geoip2_module-3.4 执行配置 接着到./configure 可执行目录

6-2 ./configure --prefix=/usr/local/nginx --add-dynamic-module=/etc/nginx/geoip/ngx_http_geoip2_module-3.4

6-3 执行 make && make install

6-4 再次执行nginx -V 可以看到最后会有这段 --add-dynamic-module=/etc/nginx/geoip/ngx_http_geoip2_module-3.4

7. 对nginx.conf修改 头部引入模块

7-1 load_module modules/ngx_http_geoip2_module.so;

8. 变量赋值 country iso_code 赋值给$geoip2_data_country_code

8-1 http内部编写

http {

        geoip2 /etc/nginx/geoip/GeoLite2-Country_20230912/GeoLite2-Country.mmdb {                 $geoip2_data_country_code country iso_code;

        }

}

9. #server 里面。我是在自己服务器上测试的,server根据自己的需求和判断进行逻辑编写

9-1

server {

   if ($geoip2_data_country_code = CN) {

        rewrite ^ http://xxx.xxxl.com/ redirect;

   }

   if ($geoip2_data_country_code != CN) {

        rewrite ^ http://xxx.xxx.com/ redirect;

   }

}

这篇关于nginx geoip2 根据城市区域 进入相应页面的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/413777

相关文章

centos7基于keepalived+nginx部署k8s1.26.0高可用集群

《centos7基于keepalived+nginx部署k8s1.26.0高可用集群》Kubernetes是一个开源的容器编排平台,用于自动化地部署、扩展和管理容器化应用程序,在生产环境中,为了确保集... 目录一、初始化(所有节点都执行)二、安装containerd(所有节点都执行)三、安装docker-

使用Nginx来共享文件的详细教程

《使用Nginx来共享文件的详细教程》有时我们想共享电脑上的某些文件,一个比较方便的做法是,开一个HTTP服务,指向文件所在的目录,这次我们用nginx来实现这个需求,本文将通过代码示例一步步教你使用... 在本教程中,我们将向您展示如何使用开源 Web 服务器 Nginx 设置文件共享服务器步骤 0 —

使用JavaScript将PDF页面中的标注扁平化的操作指南

《使用JavaScript将PDF页面中的标注扁平化的操作指南》扁平化(flatten)操作可以将标注作为矢量图形包含在PDF页面的内容中,使其不可编辑,DynamsoftDocumentViewer... 目录使用Dynamsoft Document Viewer打开一个PDF文件并启用标注添加功能扁平化

SpringBoot如何访问jsp页面

《SpringBoot如何访问jsp页面》本文介绍了如何在SpringBoot项目中进行Web开发,包括创建项目、配置文件、添加依赖、控制层修改、测试效果以及在IDEA中进行配置的详细步骤... 目录SpringBoot如何访问JSP页python面简介实现步骤1. 首先创建的项目一定要是web项目2. 在

一文带你搞懂Nginx中的配置文件

《一文带你搞懂Nginx中的配置文件》Nginx(发音为“engine-x”)是一款高性能的Web服务器、反向代理服务器和负载均衡器,广泛应用于全球各类网站和应用中,下面就跟随小编一起来了解下如何... 目录摘要一、Nginx 配置文件结构概述二、全局配置(Global Configuration)1. w

若依部署Nginx和Tomcat全过程

《若依部署Nginx和Tomcat全过程》文章总结了两种部署方法:Nginx部署和Tomcat部署,Nginx部署包括打包、将dist文件拉到指定目录、配置nginx.conf等步骤,Tomcat部署... 目录Nginx部署后端部署Tomcat部署出现问题:点击刷新404总结Nginx部署第一步:打包

Nginx、Tomcat等项目部署问题以及解决流程

《Nginx、Tomcat等项目部署问题以及解决流程》本文总结了项目部署中常见的four类问题及其解决方法:Nginx未按预期显示结果、端口未开启、日志分析的重要性以及开发环境与生产环境运行结果不一致... 目录前言1. Nginx部署后未按预期显示结果1.1 查看Nginx的启动情况1.2 解决启动失败的

tomcat在nginx中的配置方式

《tomcat在nginx中的配置方式》文章介绍了如何在Linux系统上安装和配置Tomcat,并通过Nginx进行代理,首先,下载并解压Tomcat压缩包,然后启动Tomcat并查看日志,接着,配置... 目录一、下载安装tomcat二、启动tomcat三、配置nginx总结提示:文章写完后,目录可以自动

如何在页面调用utility bar并传递参数至lwc组件

1.在app的utility item中添加lwc组件: 2.调用utility bar api的方式有两种: 方法一,通过lwc调用: import {LightningElement,api ,wire } from 'lwc';import { publish, MessageContext } from 'lightning/messageService';import Ca

基于 YOLOv5 的积水检测系统:打造高效智能的智慧城市应用

在城市发展中,积水问题日益严重,特别是在大雨过后,积水往往会影响交通甚至威胁人们的安全。通过现代计算机视觉技术,我们能够智能化地检测和识别积水区域,减少潜在危险。本文将介绍如何使用 YOLOv5 和 PyQt5 搭建一个积水检测系统,结合深度学习和直观的图形界面,为用户提供高效的解决方案。 源码地址: PyQt5+YoloV5 实现积水检测系统 预览: 项目背景