我们(朋友和我)有一个小型专用服务器,其中安装了nginx和geoip模块。 (它已正确安装) 在该服务器上,我们使用UWSGI和bottle运行一个简单的python脚本。 脚本旋转横幅。 (我们自己的自我宣传横幅)
我们使用此脚本显示我们在其他网站上拥有的网站横幅并进行轮播,以便用户看不到相同的横幅广告。
我们遇到了地理定位问题。
以下的pastebin显示了python脚本。
PAISES = ['AR', 'MX', 'CL']
表示Country_code。
TODOS
是向所有国家/地区展示横幅的标记。
不同的列表适用于不同的横幅尺寸。 旋转横幅的URL就是这样。
exampleip / 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。