在本教程中,我将指导您创建运行 WordPress(或其他基于 LAMP 的应用程序)的预配置服务器实例,您可以重复克隆并传输到客户端。我使用 Digital Ocean 的图像功能来销售我的 WordPress Quickstart 和一些基于 LAMP 的应用程序,例如 Simplify Email 和 Simple Monitor。部分由于此功能,Digital Ocean 已成为我今年选择的网络托管服务商。
对于 Digital Ocean,快照是特定基于云的服务器实例在某一时刻的副本。它允许您复制实例并通过电子邮件将它们传输给客户。这使得人们可以快速轻松地开始使用预配置的服务器映像和应用程序堆栈。
例如,我提供了一个预配置、预优化的 WordPress 版本,我将其称为“快速入门”。它是预装了一组超级有用插件的 WordPress 版本,并且还使用 W3TC 和 Varnish 缓存进行了预先优化,如我的 Tuts 教程“使用 Varnish 和 W3 Total Cache 优化 WordPress”中所述。当我将此图像的副本传输给客户时,这是我可以提供的最快、最简单、配置最佳的 WordPress 版本。这个过程使得启动新的 WordPress 网站变得异常简单。在本教程中,我将向您展示如何在 Digital Ocean 构建您自己的图像以与客户共享。
如果您想使用 LAMP 应用程序尝试此操作,您可以在此处找到我在 Digital Ocean 上注册和设置通用实例的指南。如果您想使用 WordPress,可以按照以下步骤操作。我将引导您创建 Droplet、安装 WordPress、添加主题和插件、拍摄快照、克隆快照以及将它们传输到客户端。我在 Digital Ocean 发布了更详细的 WordPress 安装指南。
首先,让我们创建一个水滴。单击创建按钮:
我将我的命名为 image.publishingwordpress.com
但你可以将你的命名为任何通用名称。我将使用 512 MB 图像大小:
记下您选择的区域,因为您的客户端只能在同一区域实例化您的图像 - 但是,如果需要,您还可以在发送给客户端之前传输快照的区域。
点击应用程序选项卡并选择Ubuntu 14.xx上的LAMP:
Digital Ocean 将开始创建您的 Droplet:
完成后,您将看到此页面:
您还会收到一封如下所示的电子邮件:
现在您可以访问您的域名注册商并修改您的 DNS 记录,将您的域或子域指向新的 IP 地址。就我而言,我将 image.publishingwithwordpress.com
的 A 记录指向 198.199.117.46
。显然,你的会有所不同。
您无需等待 DNS 传播即可开始配置实例。通过 SSH 使用您的 IP 地址登录。您需要更改电子邮件中收到的密码:
让我们更新图片:
sudo apt-get update sudo apt-get dist-upgrade sudo reboot
我还建议安装以下组件,我们将在 WordPress 和各种插件中利用这些组件:
sudo apt-get install zip php5-curl sudo a2enmod rewrite
打开 Apache mod_rewrite
将允许在 WordPress 中使用永久链接地址,这更加用户友好并增强搜索引擎优化。
我建议也运行 mysql_secure_installation
:
mysql_secure_installation
要运行此脚本,您需要记下您的 MySQL root 密码,该密码会在您登录实例时显示。
如果您使用每月 5 美元的 512MB RAM Droplet,您需要为 WordPress 创建一个交换文件正确操作,否则系统会耗尽内存并反复崩溃:
dd if=/dev/zero of=/swapfile bs=1M count=1024 mkswap /swapfile swapon /swapfile
然后我们将添加到 fstab
文件以告知系统有关交换文件的信息:
sudo nano /etc/fstab
添加这一行:
/swapfile swap swap defaults 0 0
每月 10 美元的 1 GB 实例可以毫无问题地运行 WordPress。
现在,我们准备安装 WordPress:
创建一个具有 Apache Web 服务器权限的 www 目录:
sudo mkdir /var/www sudo chown www-data:www-data /var/www cd /var/www
下载最新版本的 WordPress,展开存档并设置权限:
cd /var/www sudo wget http://wordpress.org/latest.tar.gz sudo tar -xzvf latest.tar.gz sudo chown -R www-data:www-data wordpress
现在让我们在 MySQL 中创建 WordPress 数据库。记下您的用户名和密码:
mysql -u root -p create database wordpress; grant all privileges on wordpress.* TO "your-mysql-username"@"localhost" identified by "your-mysql-password"; flush privileges; exit;
让我们为 WordPress 创建 Apache 配置文件:
cd /etc/apache2/sites-available sudo nano 000-wordpress.conf
粘贴并自定义以下虚拟主机配置:
<VirtualHost *:80> ServerName yourdomainname.com DocumentRoot /var/www/wordpress DirectoryIndex index.php <Directory /var/www/wordpress/> AllowOverride All Order Deny,Allow Allow from all </Directory> </VirtualHost>
为 WordPress 启用 Apache 站点并禁用默认 Ubuntu 站点:
sudo a2dissite 000-default.conf sudo a2ensite 000-wordpress.conf sudo service apache2 reload
访问您的网站,使用上面的数据库设置通过网络用户界面配置 WordPress。选择头衔和登录名时,请选择通用的,并记下登录名。
使用您的通用凭据登录,您应该会看到仪表板:
由于这是您将复制和传输的通用图像,因此用户将需要 WordPress 来更新网站 URL为了他们自己。让我们编辑 WordPress 配置文件以包含重定位标志。您会希望您的客户在仪表板常规设置中编辑其网站 URL 后禁用此功能。
sudo nano /var/www/wordpress/wp-config.php
现在,添加以下行:
define(‘RELOCATE’,true);
当用户在仪表板中更新其站点 URL 时,WordPress 将更新整个数据库。完成一次后,客户端可以注释掉或删除此行。
我还建议添加 FS_DIRECT
标志以简化插件安装:
define('FS_METHOD', 'direct'); // for automatic plugin installation
出于演示目的,我将安装新的简单 Minnow 主题。您可以通过搜索来安装:
如下所示:
接下来,我们将安装我们希望客户拥有的任何插件。
您想安装哪些插件取决于您。我在这里保留了推荐插件的列表。让我们继续安装 Yoast SEO 插件,它对我来说是一个支柱。我使用它是因为它有助于搜索引擎优化和生成站点地图。
您可以访问添加新插件页面并搜索它来安装并激活它:
此时,您可以进行任何您希望与下游所有客户共享的常见 WordPress 配置。例如,您可能会安装更多主题和插件。您可以打开永久链接。您可以配置一些基本的主题设置。这完全取决于你。
当您克隆即将发布的快照并将其传输到您的客户端时,您自定义的任何内容都将被复制。您的客户将需要自定义和配置您选择不更新的任何内容。
当您完成所有常见的安装和配置后,我们可以继续为您的 Droplet 拍摄快照。 Digital Ocean 要求我们关闭实例电源。最好从命令行控制台执行此操作。
sudo poweroff
访问 Digital Ocean 的 Droplet 页面,然后单击快照选项卡。我通常为快照选择一个名称,该名称指示克隆的连续数量,例如wp-image-000
。然后,点击拍摄快照。
Digital Ocean 可能需要几分钟时间来创建您的快照。
图像完成后,Digital Ocean 将自动重启您的 Droplet。
要创建更多图像副本,您只需重复上述步骤即可。从命令行关闭 Droplet 电源。再拍一张快照。这有点耗时,但相当简单。
在下一个教程中,我将向您展示如何使用 Digital Ocean API 来自动执行此过程。
Digital Ocean 不收取快照存储费用(少量除外)。您可以选择是否销毁原来的Droplet以避免月费。如果您这样做,您随时可以在再次需要时从快照重新创建它。
要将快照传输给客户端,请访问图像页面:
点击最左边的个人资料图标,指定要转移到的 Digital Ocean 帐户持有人的电子邮件地址:
几分钟之内,快照将显示在您客户帐户的“图片”页面上。他们需要批准该图像才能将其接受到他们的帐户中。
请记住,您的客户只能接受来自受信任用户的快照,这一点很重要,因为有人很容易在创建快照并传输快照之前在映像上安装恶意软件。 Digital Ocean未来可能会提供可信的快照系统。
从快照创建 Droplet 非常简单。只需访问创建 Droplet 页面,选择创建图像的区域,然后单击我的快照选项卡。然后您可以选择用于实例化液滴的图像。
客户端可以根据需要自定义主机名,但所有其他设置将保持不变。
换句话说,他们将使用与原始快照相同的管理用户名和密码登录实例,而不是 Digital Ocean 向他们发送的新快照。他们最初还将使用您的客户端管理员 WordPress 仪表板登录名和密码。他们最好在配置 Droplet 后更改所有服务器、MySQL 和 WP 仪表板密码。
一旦他们从快照创建了 Droplet,他们就必须配置其 DNS,将其选择的站点 URL 指向其 Droplet 的 IP 地址。而且,他们需要编辑其域名的 WordPress Apache 虚拟主机并重新启动 Apache。
我发现这种 WordPress 快速入门是我帮助客户开始使用新网站的最快方式。您还可以将此方法用于任何 LAMP 应用程序,例如简化电子邮件。
现在您知道如何构建基于云的应用程序实例(例如 WordPress),您可以重复克隆该实例并将其传输到客户端。在即将发布的教程中,我将向您展示如何使用 Digital Ocean API 来自动执行克隆快照的过程。
我希望您发现本文有趣且有用。请随时在下面发表您的问题和评论。您也可以通过 Twitter @reifman 联系我或直接给我发电子邮件。请关注我的 Tuts+ 讲师页面,查看本系列的后续文章。
以上是为数字海洋转售创建适销对路的应用程序映像的详细内容。更多信息请关注PHP中文网其他相关文章!