详谈php分布式部署

本文我们接着和大家分享php分布式部署,希望大家对php分布式部署有一个更清晰的思路。

普通的Web开发,常用的模式就是用户登录之后,登录状态信息保存在Session中,用户一些常用的热数据保存在文件缓存中,用户上传的附件信息保存在Web服务器的某个目录上。这种方式对于一般的Web应用,使用很方便,完全能够胜任。但是对于高并发的企业级网站,就应付不了了。需要采用Web集群实现负载均衡。

使用Web集群方式部署之后,首要调整的就是用户状态信息与附件信息。用户状态不能再保存到Session中,缓存也不能用本地Web服务器的文件缓存,以及附件,也不能保存在Web服务器上了。因为要保证集群里面的各个Web服务器,状态完全一致。因此,需要将用户状态、缓存等保存到专用的缓存服务器,比如Memcache。附件需要保存到云存储中,比如七牛云存储、阿里云存储、腾讯云存储等。

本文以ThinkPHP开发框架为例,说明如何设置,能够将Session、缓存等保存到Memcache缓存服务器上。

下载缓存的Memcache处理类,放到Thinkphp\Extend\Driver\Cache目录中;下载Session的Memcache处理类,放到Thinkphp\Extend\Driver\Session目录中,如下图所示:

修改配置文件,调整Session与缓存,都记录到Memcache服务器上。打开ThinkPHP\Conf\convention.PHP,增加配置项:

[php] view plain copy


/* Memcache缓存设置 */

'MEMCACHE_HOST' => '192.168.202.20',

'MEMCACHE_PORT' => 11211,

 

修改数据缓存为Memcache:

'DATA_CACHE_TYPE' => 'Memcache',

  修改Session为Memcache:
修改Session为Memcache:
'SESSION_TYPE' => 'Memcache',

因为云存储各类比较多,附件存储到云存储上,就不再赘述,参数各云存储提供的sdk即可。经过以上修改,就可以将Web服务器进行分布式部署了。

参考来源:https://www.php.cn/php-weizijiaocheng-385659.html


关注公众号,了解更多it技术(it问答网

发表评论

电子邮件地址不会被公开。