张映 发表于 2010-07-28

分类目录: apache/nginx

一个星期前我就想配置一下nginx的反向代理,用来实现负载均衡功能。各种原因耽误了,今天配置了一下,遇到了不少麻烦,但是还是搞定了。

一,先启动nginx和php-cgi

#启动 php-cgi
/usr/local/bin/spawn-fcgi -a 127.0.0.1 -p 8000 -C 5 -f /usr/bin/php-cgi

#启动 nginx
ulimit -SHn 65535
/usr/local/nginx/sbin/nginx

阅读全文>>

张映 发表于 2010-07-27

分类目录: 服务器相关

一,什么负载均衡

一个新网站是不要做负载均衡的,因为访问量不大,流量也不大,所以没有必要搞这些东西。但是随着网站访问量和流量的快速增长,单台服务器受自身硬件条件的限制,很难承受这么大的访问量。在这种情况下,有二种方案可以选择:

1,对单台服务器的硬件进行更新,由双核的变成四核的,内存加大等。

2,增加服务器的台数,来分担服务器的负担。以实现增加网络带宽,增加服务器的处理能力的目的。

阅读全文>>

张映 发表于 2010-07-26

分类目录: php

刚开始学习php的时候,看底层东西就看到过implements这类的东西,当时要学的东西好多,也没有特别多的时间来学习接口的东西。最近看代码的时候,无意中又看到了这个东西,花了点时间研究了一下。

总体感觉,他主要对类名,类所拥有的方法,以及所传参数起约束和规范做用,感觉根php abstract 抽象类又有点像。如果做大项目的话,估计可以启点作用。不过如果是大项目的话,开始写代码前,肯定会定一些写代码的规则,类的名子怎么起,方法名怎么起,怎么继承,都会有所说明,个人觉得这个implement没有多大用处。下面是学习的时候,弄的一些例子。

阅读全文>>

张映 发表于 2010-07-25

分类目录: php

一,为什么session,cookie经常会有人提到

做web开发的人基本上都会用session和cookie,但是仅仅只是会用,并不知道session和cookie的真正的工作原理,都只是凭着感觉来猜测。web开发者只要利用它们来完成工作就行了,所以每个人的理解基本都会有大同小异,我想这就是session,cookie经常会被讨论的原因。本文也是根据个人经验,以及个人所学,对session,cookie的一些看法,纯属个人见解,希望得到大家的更正和建议。

阅读全文>>

张映 发表于 2010-07-24

分类目录: smarty

一,为什么要用smarty进行打包

apache中也有给js,css这样的静态文件进行打包压缩的模块,但是本文所说的不是以这种方式进行的打包,而是和smarty结合的方式来把网站中的js,css文件进行打包。

为什么要进行打包呢,主要目的是为了合理的管理自己的代码。现在有好多网站,你查看一下网站的源码的话,你会发现网站的头部有大量的JS文件和CSS文件,网站的尾部也有可能有大量的JS文件。以webqq为例吧:

阅读全文>>

张映 发表于 2010-07-21

分类目录: google

基础知识

  1. 简单的例子
  2. 地理位置
  3. 语言
  4. 位置
  5. 坐标
  6. 简单的投影

阅读全文>>

张映 发表于 2010-07-21

分类目录: php

一,什么是json

json是一种数据结构,易于人阅读和编写,同时也易于机器解析和生成。

json建构两种结构:

1,“名称/值”成对的集合,不同的语言中,它被理解为对象(object),纪录(record),结构(struct),字典(dictionary),哈希表(hash table),有键列表(keyed list),或者关联数组 (associative array)。
2,值的有序列表(An ordered list of values)。在大部分语言中,它被理解为数组(array)。

阅读全文>>

张映 发表于 2010-07-20

分类目录: smarty

一,smarty插件介绍

smarty的插件放在/smarty/libs/plugins下面,它为程序的开发提供了很大的方便,例如:{$yesterday|date_format:"%H:%M:%S"}smarty自带的日期格式化插件,对变量$yesterday进行格式化。在我们的php文件中,并不需要对date_format进行处理,我们只要拿来用就好了。

二,smarty插件命名规则

1,插件文件名命名规则

阅读全文>>

张映 发表于 2010-07-19

分类目录: php

以前我写过一篇关于web集群时,session同步怎么解决的文章。博文名称是web集群时session同步的3种方法,个人觉得用memcache来同步session是最好的,下面是我的设置过程

1,模拟web集群

我启动了二个memcached进程,分别模拟二台服务器

/usr/local/bin/memcached -d -m 20 -u zhangy -p 12000 -P ./memcached.pid
/usr/local/bin/memcached -d -m 20 -u zhangy -p 13000 -P ./mem.pid

阅读全文>>

张映 发表于 2010-07-18

分类目录: php

一,为什么要装memcached扩展

memcached的1.2.4及以上增加了CAS(Check and Set)协议,对于同一key的多进行程的并发处理问题。这种情况其实根数据库很像,如果同时有几个进程对同一个表的同一数据进行更新的话,那会不会打架呢,哈哈。数据库里面可以锁定整张表,也可以锁定表里面一 行的功能,其实memcached加入的CAS根这个差不多。

php的扩展memcache,不支持cas,所以我们要装memcached扩展,memcached扩展是基于libmemcached,所以要先安装libmemcached

阅读全文>>