Monthly Archives: June 2011

利用MaxMind根据IP地址对访问者定位

困扰了好久的问题,获取IP对应的详细信息,可以分析IP,根据IP的经纬度定位谷歌地图
详见:http://blog.csdn.net/sitonn/archive/2010/10/28/5973028.aspx

摘要:
分别下载GeoIP.dat.gz(国家)和GeoLiteCity.dat.gz(城市)
实例文件下载:http://www.maxmind.com/download/geoip/api/php/
google map api 申请地址:http://code.google.com/apis/maps/signup.html

nginx 反向代理技术

我花了一天时间寻找nginx伪静态时地址栏不跳转的方法,后来终于知道通过nginx的反向代理可以实现。于是又去学了nginx的反向代理和负载均衡。摘记一下要点。
参考 Nginx 常见应用技术指南[Nginx Tips] 第二版

负载均衡,英文名称为Load Balance,其意思就是将负载(工作任务)进行平衡、分摊到多个操作单元上进行执行。
nginx的负载均衡主要是通过 proxy_pass 实现的。

location ~ ^/(test|images|styles)/
{
proxy_redirect off;
proxy_set_header Host www.test.com;
proxy_pass http://192.168.1.2:8080;
}

上面代码服务端用http://192.168.1.2:8080分担了当前www.test.com页面的test|images|styles目录访问。

经过研究发现 rewrite中 包含http://情况做的转向,地址栏中的地址都是会显示跳转后地址的。
用proxy_pass事先地址不跳转的例子,详见:nginx rewrite 实现二级域名跳转

另外,做反向代理时,常常需要用 proxy_set_header和X-Forwarded-For 传递访问者真实的IP

这里用的方法是 加入下面参数。

proxy_set_header Host $host;
proxy_set_header X-Real-Ip $remote_addr;
proxy_set_header X-Forwarded-For $remote_addr;

iis+apache不能连接mysql的问题

网上找了很多资料,调试了好久,终于解决了这个难题。

修改php.ini里的
extension_dir = “./” 为 extension_dir = “D:\PHP5\ext”

注:D:\PHP5 是我的php目录。

在环境变量Path里面添加 D:\PHP5\;D:\PHP5\ext;

网上说的将 lib文件拷到windows/system32目录下 这个是没必要的,设置好Path环境变量就可以了。
我因为误将 Mysql/bin 目录下的libmySQL.dll复制到了windows/system32目录下,导致php链接mysql时
出现 0x0075ac50 内存不能为read 的错误。后来还是进了安全模式,删除几个system32目录下的几个dll才解决了这个难题。

Continue reading

彻底删除语言栏中EN英语选项

最近不知道装了什么软件导致语言栏中的 EN英语 选项删除不掉,看着挺别扭的,也很纠结。后来网上找到一款工具“彻底删除语言栏EN英语(美国)的小工具”,下载后发现是个两个加密的bat文件,对其解密后,找到删除EN英语的方法。

去除EN英语


reg add "HKCU\Keyboard Layout\Preload" /v 1 /t reg_sz /d 00000804 /f
reg add "HKLM\SYSTEM\CurrentControlSet\Control\Keyboard Layouts\00000409" /v "Layout File" /t reg_sz /d 0 /f

恢复EN英语

reg add "HKCU\Keyboard Layout\Preload" /v 1 /t reg_sz /d 00000804 /f
reg add "HKLM\SYSTEM\CurrentControlSet\Control\Keyboard Layouts\00000409" /v "Layout File" /t reg_sz /d "KBDUS.DLL" /f