真正的统一认证一般指中心登录,Drupal有很多相关的模块可以实现,比如Drupal SSO模块, 如果都是Drupal站点可以用bakery模块实现,也可以用CAS模块实现CAS服务。
本文重点讲得是用open auth 2.0协议实现oauth服务,通过oauth协议实现统一认证的服务。
Continue reading “如何用Drupal做统一认证功能?” »
基于Drupal平台的高性能网站架构与研究实验室
真正的统一认证一般指中心登录,Drupal有很多相关的模块可以实现,比如Drupal SSO模块, 如果都是Drupal站点可以用bakery模块实现,也可以用CAS模块实现CAS服务。
本文重点讲得是用open auth 2.0协议实现oauth服务,通过oauth协议实现统一认证的服务。
Continue reading “如何用Drupal做统一认证功能?” »
1,210 Views
鉴于大家经常使用阿里云做为站点部署服务器,很多朋友咨询有没有Drupal在阿里云上的部署建议,所以将之前部署阿里云的一些经验写下来共享一下,欢迎拍砖。
1,266 Views
我们近期基于Drupal架构了一套分答系统,(分答系统不是严格的称呼,应该称之为:微信语音问答平台,只是分答比较火爆,所以说分答,大家都能听懂)。
主要的工作是基于Drupal大学的社交问答系统进行升级开发,前端主要是用ReactJS,微信API处理主要使用了Drupal架构的一个独立的微信API接口,另外语音转码、OSS存储等也做了一些工作,
整体的结构参考下图:
1,990 Views
虽然Solr6已经发布了,但是Drupal还没有任何相关的模块支持,不过Solr5.x已经可以用到Drupal上了。 本文把延续之前的Drupal和IK的配置,升级到一键安装包solr5.5,支持中文分词,支持Drupal7,如果需要新建core,可以把默认的drupal7/conf复制到新建的core下面的conf文件夹即可。
1,180 Views
本篇内容是关于 2016年Drupal 中国会议上关于《 Drupal 高性能实战讲座》的一个简要回顾,主要的内容点都在 PPT 里面,请大家下载查阅,更多问题,请大家通过 Drupal 大学提问。
Drupal 的站群架构主要解决几个问题:1. 网站的性能问题。2. 松耦合。3. 扩展性。
Drupal 的站群架构的主要技术:1. 统一用户和权限。2. 数据的互访及同步。3. 统一界面。
通过 Drupal 的站群架构,可以解决网站的性能问题,以及保证网站的扩展性,所以,在规划网站的的时候,如果网站的扩展和数据的增长比较快,那么就要提前考虑分站的架构,也就是通过站群的方式,来提高网站的性能。
1,585 Views
Web集群中,文件系统的分布式是最重要的一个环节,因为多个Web节点需要访问同一套文件系统,多个节点之间访问文件需要完全同步,跟一台机器上的文件一样。
首先Web集群需要一个Load Balancer,然后多个节点共享数据库和文件系统,比如访问网站example.com,上传了一个文件,这个时候通过LB转发到了A节点,那么文件保存到了A机器,然后我们刷新页面,LB转发到了B节点,如果这个文件在B机器上不存在,就会产生错误。
在Drual系统中就是Files目录,比如我们在A网站上生成了一个image style,如果LB再访问到B上面,如果这个image style不存在,就会出错。
上面的问题,就是我们本文要解决的Web集群中的文件共享。
另外,Drupal也有临时文件目录,这个要不要放到共享文件夹里面呢?这个答案请移步这里:
《集群服务器,需要共享temp文件夹吗?》
2,957 Views
前一篇我们分析了Drupal的FileAPI和Stream Wrapper的关系,本文趁热打铁,继续分析一下Drupal的Files系统,以便对Drupal的文件处理更加熟悉。
参考上篇:File System和Stream Wrapper的原理介绍
如何实现自有的StreamWrapper
看一个Drupal大学上的提问:《Drupal中如何实现自有的StreamWrapper》,通过上篇文章的阅读,我们简单总结一下。
1. 写一个class,实现DrupalStreamWrapperInterface的接口
2. 实现一个hook,hook_stream_wrappers,返回这个StreamWrapper,通知给Drupal。
通过上面两个简单的步骤就实现了Drupal里面一个自有的streamWrapper。
1,407 Views
在Drupal7以及PHP(也不知那个版本)后,多了一个概念:Stream,主要用来表示文件流。BTW,追溯起Stream的概念,这个应该很早在Java和C#等OOP的语言中已存在,PHP只是简单的封装了file/file_get_content等函数,使用起来方便,所以PHPer们更少的在意stream以及整个底层的操作。
当我们使用一个完整的框架(如:Drupal框架),Drupal又更加完善了PHP中stream的概念和使用方式,使其更加OO,更加易用。
注意:PHP本身是支持StreamWrapper的,Drupal只是对其进行完善,因此PHP的函数,如move、fopen、move_uploaded_file等函数是直接可以用scheme的形式访问(类似php://的形式),在PHP中增加一个streamwrapper需要注册一个,需要调用stream_wrapper_register函数。
详情参考: http://php.net/..class.streamwrapper.php
1,178 Views
Memcach是web应用/Drupal应用性能提高的利器,近期在使用Memcache中,发现有很多小问题,因此作者特意总结了几个,放上来供大家参考使用。
1. Memcache和Memcached的区别
这个是历史问题,但是,言而总之:名字长的更牛逼!
所以,推荐使用memcached。
另外,memcached有很多新特性,包括getMulti/setMulti、支持存储object、支持count+1操作,都会比memcache的好用一些,可以试试,或许以后支持更多的操作,赶上redis。。
Drupal大学上关于memcache的问答:http://../apachesolr_search/memcache
1,167 Views
电子邮件营销称为EDM,即Email Direct Marketing的缩写,是在用户事先许可的前提下,通过电子邮件的方式向目标用户传递价值信息的一种网络营销手段。邮件推送是跟用户互动最有效的手段之一,因此任何一个平台,需要跟用户交流,邮件推送系统是必不可少的一个环节。
本文主要讲解如何用Drupal搭建一个邮件推送系统,实现用户订阅邮件的发送。
1,569 Views