2011-10-30
条评论Ubuntu官方源自带的nginx版本较低,如果需要安装并更新最新稳定版本的nginx,推荐添加nginx官方源:
打开源列表
1sudo vim /etc/apt/sources.list
添加
12deb http://nginx.org/packages/ubuntu/ lucid nginx deb-src http://nginx.org/packages/ubuntu/ lucid nginx
然后更新一下源并安装即可
12apt-get update apt-get install nginx
阅读全文
2011-10-28
条评论问题一直在用的Limesurvey系统运行稳定,近日有同事发现一个问题:将limesurvey搜集到的问卷结果反馈导出为SPSS格式时,中文出现乱码。
分析解决处理导出SPSS语法文件的链接是admin.php?action=exportspss&sid={问卷id}&subaction=dlstructure,查看admin/admin.php源码,找到exprortspss对应的export_data_spss.php,然后查看export_data_spss.php源码,dlstructure对应的函数在最后面,定位到乱码位置(乱码在Variable Properties),主要是这个函数出了问题:addslashes(strip_tags_full(mb_substr($field[‘VariableLabel’],0,$length_varlabel))),检查了数据库编码、mb的配置,都没问题,因为是中文于是就试了网上提供的一些mb_substr中文乱码的解决方案,声明编码为GB2312格式,还是乱码;想到数据都是ut...
阅读全文
2011-10-28
条评论301重定向可促进搜索引擎优化效果
从搜索引擎优化角度出发,301重定向是网址重定向最为可行的一种办法。当网站的域名发生变更后,搜索引擎只对新网址进行索引,同时又会把旧地址下原有的外部链接如数转移到新地址下,从而不会让网站的排名因为网址变更而收到丝毫影响。同样,在使用301永久性重定向命令让多个域名指向网站主域时,亦不会对网站的排名产生任何负面影响。
302重定向可影响搜索引擎优化效果
迄今为止,能够对302重定向具备优异处理能力的只有Google。也就是说,在网站使用302重定向命令将其它域名指向主域时,只有Google会把其它域名的链接成绩计入主域,而其它搜索引擎只会把链接成绩向多个域名分摊,从而削弱主站的链接总量。既然作为网站排名关键因素之一的外链数量受到了影响,网站排名降低也是很自然的事情了。
综上所述,在众多重定向技术中,301永久性重定向是最为安全的一种途径,也是极为理想的一款解决方案。
对于正确实施301重定向,有这样几个方法可供大家参考:
1.在.htaccess文件中增加301重定向指令
采用“mod_rewrite”技术,形如:
RewriteEngine onRe...
阅读全文
2011-08-29
条评论父页面UTF-8编码,iframe页面为gbk编码,但是没有charset声明,直接引用显示的话,iframe页面会乱码,父页面和iframe页面又都不方便大规模的修改,这个时候可以引入一个中间页面,其中charset与iframe页面的编码一致,这样就解决了问题。
阅读全文
2011-08-18
条评论出现这个问题的原因是:当前ftp用户的UID小于Pure-FTPD所允许的最小UID(/etc/pure-ftpd/pure-ftpd.conf/MinUID)解决的办法很简单,查一下当前这个ftp用户所属系统用户的UID,然后将MinUID修改成小于ftp所属系统用户的UID,重启服务即可
阅读全文
2011-07-06
条评论在Debian/Ubuntu系统中,通过apt-get方式安装的php5-gd库,不是完整版本,函数imagecreate()无法使用,为了解决这个问题,可以有三种方法来解决:
不用apt-get方式安装Apache、MySQL和PHP,自己下载源码设定需要的参数自己编译
添加特定的源,安装完整gd库
在源里添加两行 deb http://packages.dotdeb.org stable all deb-src http://packages.dotdeb.org stable all
更新源: apt-get update
并安装php5-gd库: apt-get install php5-gd
重新编译完整版本的GD库
下载源码包 apt-get source php5
修改部分代码
debian/rules 文件中的–with-gd=shared,/usr –enable-gd-native-ttf .修改成:–with-gd=shared –enable-gd-native-ttf .
编译 dpkg-buildp...
阅读全文
2011-06-21
条评论Hadoop是一个分布式系统基础架构,由Apache基金会开发。用户可以在不了解分布式底层细节的情况下,开发分布式程序。充分利用集群的威力高速运算和存储。Hadoop实现了一个分布式文件系统(Hadoop Distributed File System),简称HDFS。HDFS有着高容错性的特点,并且设计用来部署在低廉的(low-cost)硬件上。而且它提供高传输率(high throughput)来访问应用程序的数据,适合那些有着超大数据集(large data set)的应用程序。HDFS放宽了(relax)POSIX的要求(requirements)这样可以流的形式访问(streaming access)文件系统中的数据。
Hadoop 是一个能够对大量数据进行分布式处理的软件框架。但是 Hadoop 是以一种可靠、高效、可伸缩的方式进行处理的。Hadoop 是可靠的,因为它假设计算元素和存储会失败,因此它维护多个工作数据副本,确保能够针对失败的节点重新分布处理。Hadoop 是高效的,因为它以并行的方式工作,通过并行处理加快处理速度。Hadoop 还是可伸缩的,能够处理 PB ...
阅读全文
2011-06-15
条评论Bitcoin 所共享的数据就是一大堆 block,那么一个 block 里装有什么内容呢?见图1:
图5:一个Block的内容,以及Block链
一个block的主要内容是“最近的交易列表”和“上一个block的hash值”。交易列表记录着产生当前block这段时间内整个Bitcoin网络的所有交易记录,包括汇出地址、汇入地址、金额等。“上一个block的hash值”用于定位上一个block,有这个数据之后所有block就可以按顺序地形成一条链。一条完整的链记录着Bitcoin网络从诞生一刻开始直到未来所有的交易记录,这些记录会共享到每一个运行Bitcoin的节点。这里有个网站可以浏览每一个block和每一笔交易的具体内容:http://blockexplorer.com/ 。(题外话:在这个链当中的第一个block是比较特殊的,它是创始人Satoshi Nakamoto人为创造的,所以称为 Genesis Block)。
假如Bitcoin得到广泛应用,每个block中的交易列表会相当庞大,那么每个运行Bitcoin的节点会耗费大量的储存空间,到时可能更多人不再运行Bitcoin...
阅读全文
2011-06-08
条评论Bitcoin网络不存在服务器或者中心节点,所以所有block都是从其他人所运行的Bitcoin程序处(下面称为节点)下载的,同时你已经下载的block也会共享给其他还没下载的节点。那么 Bitcoin是如何发现网络上其他节点的呢?
运行 Bitcoin 时它会首先连接一个指定的IRC(一种古老的网络聊天服务)服务器(irc.lfnet.org),然后加入 “#bitcoin”聊天频道并声明自己的IP地址,当 Bitcoin 程序查询当前聊天频道的用户时,就能获取网络上其他节点的IP地址了,然后bitcoin会自动连接一定数量的节点,可见IRC在Bitcoin网络中充当着媒介角色。假如IRC服务器当掉,那么第一次运行Bitcoin 程序时程序会调出内置的一批IP地址(称为“种子节点”)然后试图连接这些节点。Bitcoin 连接到某个节点之后还能通过那个节点获取更多其他节点,即所有节点同时也充当媒介角色,这样一个P2P网络就形成了。
Bitcoin 程序所有的功能都依赖于 Bitcoin P2P网络,有时运行 Bitcoin 程序会发现连接数(见图1窗口中底部的 connections)...
阅读全文
2011-05-10
条评论metaWeblog.newMediaObject (blogid, username, password, struct)方法说明:1.参数:blogid、username、password,blogid代表blog的id,在wordpress里一般是1;username、password分别是WordPress的用户名密码;struct是一种struct结构,必须包含name、type和bits三个元素,其中name就是数据名字,type之mime type,bits为经过base64编码的数据流,类型为string2.返回值:如果调用成功,返回一个struct,至少包含一个url元素,代表数据的HTTP或者FTP URL
关于参数:1.参数struct,name不用多说,提供字符串名字即可2.type可以利用mime_content_type()函数获取(限于PHP5.3以下,这个函数5.3不用了,可以用fileinfo()代替)3.bits元素,需要将媒体(图片)等打开,利用xmlrpcval类来进行base64 编码操作,不能直接用php的base64_encode()来操作...
阅读全文