我们(朋友和我)有一个小型专用服务器,安装了 nginx 和 geoip 模块。(它已正确安装)在该服务器上,我们使用 UWSGI 和瓶子运行一个简单的 python 脚本。该脚本旋转横幅。(我们自己的横幅自我宣传)
我们使用此脚本在我们拥有的其他网站上显示我们拥有的网站的横幅并旋转它们,这样用户就不会总是看到相同的横幅。
我们的地理位置定位有问题。
以下 pastebin 显示了 python 脚本。
PAISES = ['AR', 'MX', 'CL']
表示 Country_code。
TODOS
是向所有国家/地区显示横幅的标签。
不同的列表适用于不同的横幅尺寸。旋转横幅的 URL 是这样的。
示例ip /api/300x250
这将调用模板的大小,300x250
因此用户将从我们的列表中看到该大小的随机横幅。
这很好用。但是地理定位不起作用。
在代码(pastebin 链接)中,您可以看到 300x250 横幅只有阿根廷的“AR”代码,因此只有该国家/地区的用户才能看到这些广告。但是,它们会继续显示给其他 IP。
添加后:
print('>>>>> ',request.headers.keys())
pais = request.get_header('GEOIP_CITY_COUNTRY_CODE')
print('=========== ' , pais, ' ==================')
(*注:pais 表示国家)
并通过 SSH运行UWSGI 进程它返回None
. GEOIP_CITY_COUNTRY_CODE
这意味着它没有将参数传递给 python 脚本。
Geoip 模块已正确安装,但此脚本无法正常工作。
我需要把它修好。
我确定这并不复杂,我只是在代码中写错了。也许我没有将参数传递给 uwsgi 或 python。