如何用Drupal做统一认证功能?

归类于Drupal | 其他 参与评论

真正的统一认证一般指中心登录,Drupal有很多相关的模块可以实现,比如Drupal SSO模块, 如果都是Drupal站点可以用bakery模块实现,也可以用CAS模块实现CAS服务。

oauth2.0

本文重点讲得是用open auth 2.0协议实现oauth服务,通过oauth协议实现统一认证的服务。
Continue reading “如何用Drupal做统一认证功能?” »

1,210 Views ,

如何在阿里云上部署Drupal站点

归类于Drupal 4 条评论

鉴于大家经常使用阿里云做为站点部署服务器,很多朋友咨询有没有Drupal在阿里云上的部署建议,所以将之前部署阿里云的一些经验写下来共享一下,欢迎拍砖。

ECS的选择:

  1. CPU相对要高,Drupal比较消耗CPU,开启OPCache
  2. 硬盘,选择高速IO硬盘,读写文件较快
  3. 定期备份相关文件
  4. 防火墙策略,建议修改SSH默认端口,以免被攻击

数据库:

  1. 选择RDS,不推荐自建MySQL服务,RDS做好定期备份策略
  2. 做好相关mysql配置
  3. 多并发可以做MySQL主从配置

大文件图片:

  1. 推荐使用OSS,搭配相关Drupal模块
  2. 为节省OSS流量,可以配搭CDN,流媒体一定要通过OSS播放

Continue reading “如何在阿里云上部署Drupal站点” »

1,266 Views , , ,

如何开发一套分答系统(微信语音问答系统)

归类于Drupal 参与评论


我们近期基于Drupal架构了一套分答系统,(分答系统不是严格的称呼,应该称之为:微信语音问答平台,只是分答比较火爆,所以说分答,大家都能听懂)。

主要的工作是基于Drupal大学的社交问答系统进行升级开发,前端主要是用ReactJS,微信API处理主要使用了Drupal架构的一个独立的微信API接口,另外语音转码、OSS存储等也做了一些工作,

整体的结构参考下图:

服务器流程处理
Continue reading “如何开发一套分答系统(微信语音问答系统)” »

1,990 Views , ,

Drupal7集成Solr5.5与IK Analyzer中文分词

归类于Drupal | 服务器技术 参与评论

虽然Solr6已经发布了,但是Drupal还没有任何相关的模块支持,不过Solr5.x已经可以用到Drupal上了。 本文把延续之前的Drupal和IK的配置,升级到一键安装包solr5.5,支持中文分词,支持Drupal7,如果需要新建core,可以把默认的drupal7/conf复制到新建的core下面的conf文件夹即可。

solr5.5配置IK中文分词

  Continue reading “Drupal7集成Solr5.5与IK Analyzer中文分词” »

1,180 Views , ,

使用站群架构 Drupal 网站 – 2016Drupal 大会分享

归类于Drupal 一条评论

本篇内容是关于 2016年Drupal 中国会议上关于《 Drupal 高性能实战讲座》的一个简要回顾,主要的内容点都在 PPT 里面,请大家下载查阅,更多问题,请大家通过 Drupal 大学提问。

Drupal 的站群架构主要解决几个问题:1. 网站的性能问题。2. 松耦合。3. 扩展性。

Drupal 的站群架构的主要技术:1. 统一用户和权限。2. 数据的互访及同步。3. 统一界面。

通过 Drupal 的站群架构,可以解决网站的性能问题,以及保证网站的扩展性,所以,在规划网站的的时候,如果网站的扩展和数据的增长比较快,那么就要提前考虑分站的架构,也就是通过站群的方式,来提高网站的性能。

Drupal集群
Continue reading “使用站群架构 Drupal 网站 – 2016Drupal 大会分享” »

1,585 Views , ,

Web集群中文件存储系统的解决方案

归类于其他 一条评论

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文件夹吗?

Continue reading “Web集群中文件存储系统的解决方案” »

2,957 Views , , ,

Drupal 文件系统剖析(二)

归类于Drupal 2 条评论

前一篇我们分析了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。

Continue reading “Drupal 文件系统剖析(二)” »

1,407 Views , , , ,

File System和Stream Wrapper的原理介绍

归类于Drupal 参与评论

在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

Continue reading “File System和Stream Wrapper的原理介绍” »

1,178 Views , ,

Memcache的hash策略及配置总结

归类于服务器技术 一条评论

Memcach是web应用/Drupal应用性能提高的利器,近期在使用Memcache中,发现有很多小问题,因此作者特意总结了几个,放上来供大家参考使用。

1. Memcache和Memcached的区别

这个是历史问题,但是,言而总之:名字长的更牛逼!  

所以,推荐使用memcached。
另外,memcached有很多新特性,包括getMulti/setMulti、支持存储object、支持count+1操作,都会比memcache的好用一些,可以试试,或许以后支持更多的操作,赶上redis。。

Drupal大学上关于memcache的问答:http://../apachesolr_search/memcache

Continue reading “Memcache的hash策略及配置总结” »

1,167 Views ,

用Drupal做一个邮件订阅推送系统?

归类于其他 参与评论

电子邮件营销称为EDM,即Email Direct Marketing的缩写,是在用户事先许可的前提下,通过电子邮件的方式向目标用户传递价值信息的一种网络营销手段。邮件推送是跟用户互动最有效的手段之一,因此任何一个平台,需要跟用户交流,邮件推送系统是必不可少的一个环节。

本文主要讲解如何用Drupal搭建一个邮件推送系统,实现用户订阅邮件的发送。

email-drupal

本文参考: http://www.wdtutorials.com/…

Continue reading “用Drupal做一个邮件订阅推送系统?” »

1,569 Views ,

顶部