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

归类于Drupal 2 条评论

鉴于大家经常使用阿里云做为站点部署服务器,很多朋友咨询有没有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播放

阅读全文 《如何在阿里云上部署Drupal站点》

162 Views , , ,

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

归类于Drupal 参与评论


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

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

整体的结构参考下图:

服务器流程处理
阅读全文 《如何开发一套分答系统(微信语音问答系统)》

1,054 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中文分词

  阅读全文 《Drupal7集成Solr5.5与IK Analyzer中文分词》

610 Views , ,

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

归类于Drupal 参与评论

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

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

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

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

Drupal集群
阅读全文 《使用站群架构 Drupal 网站 – 2016Drupal 大会分享》

1,157 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。

阅读全文 《Drupal 文件系统剖析(二)》

873 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

阅读全文 《File System和Stream Wrapper的原理介绍》

842 Views , ,

用Drush自动备份和部署Drupal站点

归类于Drupal 参与评论

Drush是drupal管理的必备利器,因此drush的一些命名可以很好的帮我们备份和发布站点。推荐一个drush的参考网站,可以详细的查阅drush的各个命令:
http://drushcommands.com

drush-deploy

Drush有一个命令archive-dump可以把整个站点dump成一个压缩包,还有另外一个命令archive-restore可以通过我们dump出来的压缩包恢复站点,因此这两个命令可以快速的帮我们备份和恢复站点,用起来及其方便。

几个参数说明一下:
–overwrite 如果站点存在,则覆盖站点。这个参数比较有用,尤其是多次备份到同一个地方。
–db-su 指定mysql的超级用户,配合–db-su-pw参数,如果数据库不存在,自动创建数据库。(好用吧!)

基于以上两个命令,笔者写了一个简单的小脚本,用于发布站点到另外一台机器上。
不过要用ssh登录,因此需要输入两次密码,解决办法有两种:
1. ssh密钥的方式免密码
2. 用expect调用此脚本,自动输入密码

阅读全文 《用Drush自动备份和部署Drupal站点》

692 Views ,

Drupal7配合Varnish及整合drupal模块详细教程

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

本站关于varnish的介绍比较多,不过varnish的使用相对复杂,尤其跟drupal配合使用,本文就介绍一下关于Drupal7配合Varnish使用的详细设置,以便初学者也能顺利安装varnish和Drupal。

关于Varnish的介绍文章,请参考:

Drupal大学里关于Varnish的问答板块:varnish问答
阅读全文 《Drupal7配合Varnish及整合drupal模块详细教程》

1,262 Views , , , ,

Drupal学习中的所需的技术点

归类于Drupal 参与评论

近期看到drupal Skill Set圈子里关于Drupal技能的讨论,因此转发过来,顺便发票一下个人观点,大家也可以参考 Drupal Skill Set 的官方地址: https://groups.drupal.org/node/172434

Drupal开发中需要那些技能呢?来,先看一下大屏幕(下图)

Drupal Skill Sets

阅读全文 《Drupal学习中的所需的技术点》

1,599 Views , ,

Drupal7性能优化简述

归类于Drupal | 高级优化实践 5 条评论

本文简单谈一下Drupal7的性能问题,以及优化的方法。有些部分内容是参考翻译网站,有些是修改之后的总结,关于Drupal7的优化本篇也只是抛砖引玉,简单的谈几点。
公认的Drupal7性能比Drupal6慢一些,虽说Drupal7性能有点慢,但其实有很多地方,Drupal7在性能上做了大量优化,下面列出几点:

Drupal7 性能优化

阅读全文 《Drupal7性能优化简述》

2,756 Views , ,

顶部