存档

2014年1月 的存档

mongodb非skip高效php分页类

2014年1月19日 1 条评论

mongodb分页skip+limit分页要先查出所有结果再去跳过,这样如果查询页面越往后效率越低。 如果能够通过查询条件查出每页结果的最后一条记录,在用最后一条记录作为查询条件去查下一页,这样每次都查询页面size条记录,效率子让不会差。 具体代码如下:包含mongodb.class.php, page.class.php, test.php mongodb.class.php mongodb 操作类 <?php function show_error($message, $status_code = 500, $heading = 'An Error Was Encountered') { echo $message, $status_code,PHP_EOL...

分类: 技术 标签: , , ,

php获取客户端ip

2014年1月18日 没有评论

<?php $onlineip = ""; $cip = getenv('HTTP_CLIENT_IP'); $xip = getenv('HTTP_X_FORWARDED_FOR'); $rip = getenv('REMOTE_ADDR'); $srip = isset($_SERVER['REMOTE_ADDR']) ? $_SERVER['REMOTE_ADDR'] : 'unknown'; if($cip && strcasecmp($cip, 'unknown')) { $onlineip = $cip; } elseif($xip && strcasecmp($xip, 'unknown')) { $onlineip = $xip; } elseif($rip && strcasecmp($rip, 'unknown')) { $onlineip = ...

分类: 技术 标签:

nginx大流量负载调优

2014年1月14日 9 条评论

lnmp已经成为比较流行的网站服务器端技术配备。越来越多的人开始不满足于能使用nginx,更多人开始关注如何能优化nginx的处理能力。 使用nginx的目的就是为了提高并发处理能力,但是看到有部分人本机部署lanmp,在同一台机器上使用nginx方向代理apache,就有种脱裤子放屁的感觉。 在window下运行nginx,还要跑出好的效果,同样是个伪命题,windows下的select模型注定nginx效率不会太高。 最近看了篇英文文章,结合自己理解,写给大家看看吧。 优化nginx包括两方面: 1.是自己重写nginx代码(比如tengine)、本身nginx的代码已经足够优秀...

分类: nginx 标签: , ,

html的空格

2014年1月14日 没有评论

大多数所见即所得html编辑器会把输入的空格转义成&nbsp;,回车转换成<br/>。 如果在编辑器总输入空格(" "),那么最终的结果页面里可能会有1空格,或者没有空格。 原因是不同的浏览器解析html时只认no-break space(&nbsp;)和换行<br/> 即使多个普通的空格(" "),也会被替换成一个或者多个。 普通的文章可以带着这些html表签,如果写代码里混和着这些内容,直接从网页上拷贝代码执行就会出错。 html提供了<pre>来保留预定义的格式,如果想要保持代码中的空格和换行符,需要用<pre></pre>来包围代码。

分类: 技术 标签: ,

ubuntu下使用apt方式安装、卸载nginx

2014年1月8日 4 条评论

ubuntu和debain下的apt方式安装软件很方便,特别是对于新手安装和卸载nginx。 由于nginx不能动态添加模块,所以会经常安装和卸载、升级。 apt安装nginx方法 sudo apt-add-repository ppa:nginx/development sudo apt-get update sudo apt-get install nginx apt卸载nginx方法 卸载方法1. # 删除nginx,保留配置文件 sudo apt-get remove nginx #删除配置文件 rm -rf /etc/nginx 卸载方法2. #删除nginx连带配置文件 sudo apt-get purge nginx # Removes everything. #卸载不再需要的nginx依赖程序 sudo apt-get autoremove

分类: nginx 标签: , , ,

mcrypt.h not found. Please reinstall libmcrypt”的解决方法

2014年1月7日 6 条评论

centos源不能安装libmcrypt-devel,由于版权的原因没有自带mcrypt的包 有两种方法解决,一种是使用第三方源,这样还可以使用yum来安装,简单方便,坏处是第三方源多少有中不可靠的感觉。 解决办法一 1、安装第三方yum源 wget http://www.atomicorp.com/installers/atomic sh ./atomic 2、使用yum命令安装 yum  install  php-mcrypt  libmcrypt  libmcrypt-devel       解决办法二、 使用php mcrypt 前必须先安装Libmcrypt libmcrypt源码安装方法: cd /usr/local/src wget http://softlayer.dl.sourcef...

分类: linux 标签: ,

windows下安装nginx

2014年1月3日 2 条评论

之前一直有人问如何在windows下如何安装运行nginx,今天有空,同时也给2014年开个好头。 windows下的nginx使用的是native Win32 API编写的,使用select处理连接,所以windows下的nginx性能不会太高且伸缩性(scalability,意思是通过数量上的扩展满足系统业务的增长)也差些,也是大家选着linux跑nginx的主要原因。 另外windows下的nginx缺少一些模块:XSLT filter, image filter, GeoIP module, 和 embedded Perl language。 当然对于一些不会用nginx的个人站长来说,为了赶时髦,能在windows下跑nginx是件拉轰的事(我个人觉得win下apa...

分类: nginx 标签: , ,