-
如何在Linux服务器上更新Drupal 8 Core
之前我们发表了一篇关于如何在Ubuntu 16.04上安装Drupal 8的帖子。现在,本教程将向您展示如何在Linux服务器上正确更新Drupal 8 minor版本(8.x.x)。无论使用哪个Linux发行版,都可以使用以下方法更新Drupal 8 core。 与WordPress不同,目前没有自动更新Drupal 8的方法。我们必须手动更新它。所以,不用再麻烦了,让我们开始吧。 步骤1:备份Drupal核心和数据库 有备份总是很重要的。Unix/Linux tar命令行实用程序可以帮助您备份服务器上的目录。 tar -cpzf drupal8core.tar.gz /path/to/drupal/web/root 上面的命令将备份Drupal web根目录中的所有内容,压缩它们并另存为tarball。当然,您需要将红色文本替换为web根目录的实际路径。有关tar命令的详细信息,请查看手册页(mantar)。 要备份Drupal数据库,假设您使用的是MySQL或MariaDB,只需执行以下一行代码。 mysqldump -u root -p drupal-database > drupal-database.sql 将drupal数据库替换为实际的数据库名称,该名称可以通过以下命令获得。 mysql -u root -p -e "show databases;" 您可能希望单击此处查看有关如何备份和恢复MySQL/MariaDB数据库的详细说明。 第2步:将站点置于维护模式 以站点管理员的身份登录,在Drupal中也称为用户1。然后去管理>;配置>;发展>;维护模式。选中该选项,然后单击保存配置。 第3步:删除Drupal文件和目录 使用cd命令进入Drupal 8安装目录。然后删除核心目录和供应商目录。 rm -r core/ vendor/ 不要触摸任何其他目录。接下来,我们需要删除Drupal 8顶级目录中的所有剩余文件。现在服务器上还有模块、配置文件、站点和主题目录。 第4步:下载Drupal 8的最新版本 从Drupal下载Drupal core的新版本。组织。将其保存到Drupal安装之外的目录。您可以使用wget从命令行下载它,如下所示。您可能需要替换为版本号。 wget 8.1.8.tar.gz 然后提取文件。 tar xvf drupal-8.1.8.tar.gz 一个新的目录drupal-8。x、 x将在当前目录中创建。把Cd放入那个目录。 cd drupal-8.1.8 在我们将这些文件和目录复制到Drupal安装目录之前。我们需要删除模块,配置文件,网站和主题目录,因为我们不希望这四个目录被重写。如果它们被重写,那么你定制的模块、主题和类似的东西就会丢失。 rm -r modules/ profiles/ sites/ themes/ 然后我们可以将所有剩余的文件和目录复制到Drupal安装目录。 cp -R * .htaccess /path/to/Drupal/web/root/ 第5步:更新Drupal数据库 现在Drupal核心已经更新,我们还需要通过访问 your-domain.com/update.php 单击“继续”按钮。 如果您使用Nginx并遇到更新之类的错误。找不到php/选择页面。然后将以下位置块添加到Nginx配置文件并重新加载Nginx。 location ~* ^/update.php { fastcgi_split_path_info ^(.+/.php)(/.+)$; fastcgi_pass unix:/run/php/php7.0-fpm.sock; fastcgi_index update.php; include fastcgi_params; fastcgi_param SCRIPT_FILENAME $document_root/update.php; fastcgi_param SCRIPT_NAME /update.php; } 如果数据库更新成功,您将看到以下消息。 No pending updates. 步骤6:从维护模式切换到在线模式 Drupal 8数据库更新完成后,转到管理>;报告>;状态报告。确认一切正常。 然后去管理>;配置>;发展>;维护模式。取消选中该框并保存设置。 您的Drupal站点已退出维护模式,您已成功更新Drupal 8。 最后的想法 现在你可以明白为什么Drupal不适合新手博主或网站管理员。与WordPress update相比,它是一种痛苦。WordPress update允许你按下一个按钮,几秒钟内你就完成了更新。 无论如何,尽快更新Drupal站点以防止恶意黑客攻击非常重要。 和往常一样,如果你觉得这篇帖子很有用,可以订阅我们的免费时事通讯,或者在谷歌+、推特或我们的Facebook页面上关注我们。