🦄 2024 独立开发者训练营,一起创业!查看介绍 / 立即报名(剩余10个优惠名额) →

博客

创建高性能 Drupal 应用:使用 Varnish

Varnish,是一种加速器,可以提升网站的性能。 Drupal 网站经常会用到它,比如 Drupal.org 就使用了 Varnish。还有个著名的视频网站 Vimeo.com(国内无法访问)也用了 Varnish。在这个配置手册里,我们会在 CentOS 服务器上安装并配置一下 Varnish ,并且让它可以跟 Drupal 结合在一起使用。

创建高性能 Drupal 应用:使用 Memcached

Memcached,是一套使用内存作为缓存的系统,可以有效的缓解数据库的压力,被很多大型网站广泛使用,Youtube,Twitter,WordPress.com 等等,Memcached 是高性能网站的标准配置。我们可以配置一下,让 Drupal 也可以使用 Memcached,需要用到 Drupal 的 Memcache API and Integration 模块。这个简单的配置手册,说明了在 CentOS 服务器上安装并配置 Memcached ,并让 Drupal 可以使用它。

在服务器上运行 Drupal:使用 drush

drush,它允许我们使用命令去操纵 Drupal,你可以使用命令行工具,配合对应的 drush 命令,去做不同的事情。比如 drush dl pathauto ,会去安装一个叫 pathauto 的模块,执行 drush cc ,可以清空 Drupal 的缓存,drush cron 可以运行 Drupal 的维护任务,最让人头疼的升级 Drupal,使用 drush ,一条命令就可以,drush up drupal 。drush 会让我们的日常管理工作变得轻松很多。

在服务器上运行 Drupal:安装 Drupal

在服务器上安装 Drupal ,跟在本地电脑上安装 Drupal 还是有些区别的。一般我们通过命令行工具连接到服务器,然后用命令行去下载 Drupal ,解压 Drupal ,去创建数据库等等。这个安装手册介绍了在服务器上安装 Drupal 的准备过程。去创建数据库,下载,在线解压,整个过程都是通过使用命令来完成的。 这个测试是在 CentOS 系统上做的。

在阿里云 CentOS 服务器(ECS)上搭建 nginx + mysql + php-fpm 环境

阿里云的云服务器(ECS)可以选择多种操作系统,打算用它运行 Drupal 或者 WordPress ,你最好选择 Linux 系统,这篇文章的演示是基于阿里云的 CentOS 操作系统的服务器。我们在上面搭建一个 nginx + mysql + php-fpm 的环境,这就是常说的 LEMP(Linux NGINX MySQL / MariaDB PHP) 。我们不过多解释什么是什么,而是着重讲流程与方法,想了解具体的细节,去搜索下吧:)这个手册是在阿里云上测试的,不过应该也适用于其它使用 CentOS 系统的服务器。

服务器有点问题

刚刚给服务器升了级,CPU 换成 8 核,内存换成 12 G。不过还是有点问题,正在排查。开始我以为是 Varnish 的问题,不过去掉了 Varnish ,直接使用 Apache ,仍然会有问题。问题就是在清空缓存以后,访问页面的时候,Web 服务就会完蛋,有时启用模块,再次访问页面的时候,也会完蛋。我先睡会儿,晚上继续排查。大伙懂服务器的,帮忙想想是啥问题,谢了:)

问题过程

问题是从昨天早上开始的,早 6 点,10 点重启服务器恢复了一下,之后陆续出了问题,中间我安装了一个可以 ban ip 的模块,因为查看 Drupal 的数据库日志的时候,出现了很多 拒绝服务 的日志,日志的增长非常快,一会儿就达到上万条,我想这些日志放进数据库里也不是事,因为 Drupal 只有在运行 cron 的时候,才会按照设置去清空多余的日志,所以,我关掉了这个模块。不过还没能解决问题。

之后一直在重启,然后会好一会儿,当我试着清空缓存,不论是通过 Drupal 后台还是用 drush 命令,清空以后再次访问页面的时候,服务器就会崩溃。CPU 使用率爆涨到 100% ,后来我升级了 CPU ,换成 8 核,问题仍然存在。之后,又加了内存,从原来的 8 G 换成了 12 G。已经到清晨了,脑袋不太管用,睡了一会儿。

Drupal 8:区块

Drupal 上的区块(Block),就是拥有特殊功能或者显示特定内容的小区域,你可以把不同的区块指定显示在页面上的不同位置上,这些用来显示区块的位置是由主题来定义的,所以,能把区块放在哪里取决于你使用的主题。Drupal 8 的区块管理界面有一 些变化,页面右边栏,有一个 放置区块,在这里会显示出所有可用的区块,并且会根据区块的类似进行分组显示,你也可以使用区块名去过滤一下(Filter by block name),点击相应的区块,可以直接编辑区块。

管理 - 结构 - Block layout(区块布局)

QQ20140319-1

Drupal 8:内容的出版与编辑

Drupal 8 的内容出版与编辑功能做了不少改进,比如 就地编辑(快速编辑),允许我们直接在前台内容页面直接编辑内容,还有区块。内置了所见即所得编辑器,可以为不同的用户角色定制不同的编辑器功能。更灵活的控制显示,我们可以使用 Views 来控制内容管理界面的显示。内置了更多的字段类型。

自定义内容类型与字段

Drupal 8 核心仍然自带两个内容类型,文章与页面,当然你可以去编辑它们或者去创建新的内容类型。核心也自带了不少字段的类型,比如 Datetime(日期时间),E-mail,Entity Reference(实体引用),Link(链接),Telephone (电话)等等。创建内容类型还有为内容类型添加字段,这些操作暂时跟 Drupal  7 没有两样。

下图是 内容类型 的管理界面( 管理 - 结构 - 内容类型 

做好一两件事

在过去的两年多时间里,不少有才华的朋友,带着很棒的想法,找到我想一起合作一下,做个大事,改变一下世界,能让大伙看得上,这有点让我受宠若惊。你知道他们都是来自大城市的,北京,上海,南京,要么拥有出色的简历,要么已经事业成功。如果是在三年前,我一定都会拍拍脑门冲上去,不过现在,我都温和的拒绝了。我现在知道自己的能力是有限的,也觉得自己还没有准备好,或者因为自己反应太慢,A 型血,进入状态都慢一点。

过往的一点点经验告诉我,自己只能同一时间做好一两件事。在专心做一件事的时候,需要有个过程,进入状态以后,如果突然被中断,即便是被一件小事,想要回到之间的那个的状态,都需要花挺长时间去调整。这跟睡觉差不多,逐渐从浅度到深度的睡眠,这样才是最有效率的。慢慢发现,一天内只能做很少的事,并且不能多任务,在任务之间来回切换,会让我特别疲惫。

我是有个理想的,并且一直在努力着。我希望能帮到更多的人,同时也能让自己的家人过得好一点。更大的目标是,能改变你的生活,学习还有工作的方式,能让你和你的家人有更好的生活。我想我们一起努力,是可以做到的。所以,没有完成这个任务之前,我还是不要去做其它的事情。对于合作,我是非常渴望的,不过参与其它的项目,我不会做。

Drupal 8:管理工具栏与快捷方式

Drupal 8 的管理工具栏是一个新的设计,在工具栏上有快捷方式,这两个功能是由核心自带的 Toolbar 还有 Shortcut 这两个模块来提供。 工具栏顶部是主导航,黑色背景,由 管理,快捷方式,用户 这几个主项目组成。点击这几个项目会打开相应的二级项目,比如点击 管理,二级菜单栏上会显示 内容,结构,外观等等,这些菜单项目可以让你进入具体的配置界面。

微信好友

用微信扫描二维码,
加我好友。

微信公众号

用微信扫描二维码,
订阅宁皓网公众号。

240746680

用 QQ 扫描二维码,
加入宁皓网 QQ 群。

统计

15260
分钟
0
你学会了
0%
完成

社会化网络

关于

微信订阅号

扫描微信二维码关注宁皓网,每天进步一点