Month: 6月 2016

Nginx 泛解析实现二级域名或三级域名泛解析

方案1. Nginx 泛解析实现二级域名或三级域名泛解析

方法:

nginx vhost配置文件里 修改 server_name 添加*.domain.cn

 如:server_name *.domain.com www.domain.com;

优点实现起来非常简单.

缺点可导致多个泛域名访问同一个页面.

 

方案2. nginx rewrite 实现二级或三级域名泛解析

在 nginx vhost配置文件server里 添加

#if ($host …

PHP并发IO编程之路

并发IO问题一直是服务器端编程中的技术难题,从最早的同步阻塞直接Fork进程,到Worker进程池/线程池,到现在的异步IO、协程。PHP程序员因为有强大的LAMP框架,对这类底层方面的知识知之甚少,本文目的就是详细介绍PHP进行并发IO编程的各种尝试,最后再介绍Swoole的使用,深入浅出全面解析并发IO问题。…

分布式系统里session同步的那些事儿

几周前,有个盆友问老王,说现在有多台服务器,怎么样来解决这些服务器间的session 同步问题?老王一下就来精神了,因为在 n 年以前,老王还在学校和几个同学一起所谓创业的时候,也遇到了类似的问题。当时查了很多资料,没有解决,于是后来投身百度,终于学到了“葵花宝典”,方才大彻大悟。所以,今天想跟大家分享一下关于 session 同步的那些事儿。

秉着问题驱动的原则,老王先提几个问题:

1 、什么是 session ?什么又是 cookie ?他俩有啥联系和区别?

2 、为什么要在多台服务器间进行 session 的共享同步?

3 、以及有哪些方法来实现这个同步?

大家快搬板凳,老王开始扯淡咯 ~…

最佳实践系列(一)—— 漫谈 PHP 组件、框架、Composer 那些事

1、什么是组件

组件是一组打包的代码,是一系列相关的类、接口和Trait,用于帮助我们解决PHP应用中某个具体问题。例如,你的PHP应用需要收发HTTP请求,可以使用现成的组件如guzzle/guzzle实现。我们使用组件不是为了重新实现已经实现的功能,而是把更多时间花在实现项目的长远目标上。

优秀的PHP组件具备以下特性:

  • 作用单一:专注于解决一个问题,而且使用简单的接口封装功能
  • 小型:小巧玲珑,只包含解决某个问题所需的最少代码
  • 合作:PHP组件之间可以良好合作,组合在一起实现大型项目
  • 测试良好:本身提供测试,而且有充足的测试覆盖度
  • 文档完善:应该提供完善的文档,能让开发者轻易安装、理解和使用