如何在DigitalOcean上设置快速加载的WordPress网站?
在不到10分钟的时间内,在DigitalOcean上启动WordPress(WP)网站。
新手博主或网站所有者常问如何在共享主机上加快网站加载速度,他们知道其限制。经历了一些挫折后,他们想要从共享主机转移到云主机。
想到的第一个云主机平台是DigitalOcean。
DO非常适合入门;它比AWS和GCP便宜,可扩展,快速,并且提供您可以期望的所有功能。
但是,如果您对系统管理任务不熟悉,则设置网站会很具有挑战性。 DO给您提供了操作系统和一切需要自己处理的功能。 如果您不想涉及所有这些服务器配置技术性问题,您还可以选择使用Cloudways网页托管,并仅需几个点击即可设置DigitalOcean Web服务器。他们还提供Digitalocean Premium Droplets。
通过电子邮件收到许多关于如何在DO上设置WP站点的问题后,我想为更广泛的受众制定一个流程以获益。
在进行技术实施之前,请注意-DO不是域名注册商。这意味着您无法从他们那里购买域名。我假设您已经有一个域名,如果您没有并且想要获得一个新的域名,那么请从Namecheap购买。
让我们开始吧…
有多种设置WordPress的方法,但我发现其中最简单的方法之一是使用EasyEngine。在本教程中,我们将使用EasyEngine安装所有必要的软件并创建WP站点。
获取DigitalOcean服务器
DO在全球多个位置拥有数据中心。选择靠近您的受众。
- 登录(如果您还没有帐户,则进入Sign Up)到DigitalOcean
- 创建新的droplet并选择Ubuntu 18.x作为操作系统
- 根据要求选择一个droplet计划,但如果您是初学者,则2GB或3GB的RAM应该可以
- 选择监视作为附加选项
- 提供主机名并点击创建
大约需要一分钟的时间,然后您应该在其中看到新创建的服务器。
DO将向您注册的电子邮件发送服务器凭据。
- 使用给定的凭据和IP地址登录服务器
当您第一次登录时,它会提示您更改密码。这是预期的,并建议更改为复杂密码。
安装EasyEngine
服务器准备就绪后,是时候安装EasyEngine(EE)了。 EE是一个很棒的自动化脚本,可以帮助您使用简单的命令创建多种类型的站点。 EE的好处是您无需担心设置独立组件(如Nginx,MariaDB,Redis,PHP等)。一切在后台都已经处理好了,而且它完全免费!
EE的最新版本利用了Docker,但是您不需要了解它们。 EE是可用于生产环境的,并且受到成千上万个高流量网站的喜爱。
让我向您展示使用EasyEngine是多么简单。我假设您仍然已经登录到DigitalOcean服务器。
- 通过执行以下命令来更新
apt-get update
- 然后,使用以下命令安装EE
wget -qO ee rt.cx/ee4 && sudo bash ee
这将花费几分钟的时间来安装后台中所需的软件,一旦完成,它将带您进入提示符。
状态:下载新版本的easyengine/redis:v4.0.0镜像
+-------------------+----------------------------------------------------------------------------+
| 操作系统 | Linux 4.15.0-45-generic #48-Ubuntu SMP Tue Jan 29 16:28:13 UTC 2019 x86_64 |
| Shell | /bin/bash |
| PHP二进制文件 | /usr/bin/php7.2 |
| PHP版本 | 7.2.15-1+ubuntu18.04.1+deb.sury.org+1 |
| 使用的php.ini文件 | /etc/php/7.2/cli/php.ini |
| EE根目录 | phar://ee.phar |
| EE供应商目录 | phar://ee.phar/vendor |
| EE phar路径 | /root |
| EE软件包目录 | |
| EE全局配置 | |
| EE项目配置 | |
| EE版本 | 4.0.10 |
+-------------------+----------------------------------------------------------------------------+
-----> 运行"ee help site"获取更多有关如何创建站点的信息。
root@yaoweibinlab:~#
EasyEngine已经安装并准备好使用。
创建WordPress站点
EE提供了一个选项来创建一个使用Redis缓存的WordPress站点,性能更好。我在Geekflare上使用Redis并且感到很满意,所以我建议尝试一下。
让我们在一个使用Redis缓存的域名上创建一个WP站点。
ee site create yaoweibinlab.com --type=wp --cache
上面的命令使用ee
命令创建一个域名为yaoweibinlab.com、类型为WordPress且带有缓存选项的站点。
这将花费几秒钟的时间,您应该会看到一个成功的消息,如下所示。
配置项目。
创建WordPress网站yaoweibinlab.com
复制配置文件。
启动网站服务。
下载并配置WordPress。
成功将/var/www/htdocs/wp-config.php移至/var/www/wp-config.php
成功:主机条目已成功添加。
检查和验证站点状态。这可能需要一些时间。
安装WordPress网站。
成功:已成功创建http://yaoweibinlab.com!
创建站点条目。
创建计划任务条目
成功:计划任务已成功创建
+——————–+—————————————-+
| 网站 | http://yaoweibinlab.com |
+——————–+—————————————-+
| 网站根目录 | /opt/easyengine/sites/yaoweibinlab.com |
+——————–+—————————————-+
| 网站标题 | yaoweibinlab.com |
+——————–+—————————————-+
| WordPress用户名 | inspiring-galois |
+——————–+—————————————-+
| WordPress密码 | xxxxxxxxxxxx |
+——————–+—————————————-+
| DB主机 | global-db |
+——————–+—————————————-+
| DB名称 | yaoweibinlab_com |
+——————–+—————————————-+
| DB用户 | yaoweibinlab.com-DRf3pP |
+——————–+—————————————-+
| DB密码 | xxxxxxxxxxxx |
+——————–+—————————————-+
| 电子邮件 | [email protected] |
+——————–+—————————————-+
| SSL | 未启用 |
+——————–+—————————————-+
| 缓存 | 已启用 |
+——————–+—————————————-+
root@yaoweibinlab:~#
太棒了,我的WP网站已经创建好了。EasyEngine负责处理Nginx、数据库、PHP优化,所以您不需要进行任何更改。
现在是时候来测试一下了。
当我点击yaoweibinlab.com时,您认为它会起作用吗?
不会!
我要更新域名的A记录,将其指向DigitalOcean服务器的IP。
- 登录域名注册商的控制台并更新A记录。
现在,我可以访问yaoweibinlab.com
您看,只用了几分钟,我就在DO云服务器上运行了WP。
我也建议进行以下操作。
更改SSH端口
默认情况下,SSH端口是22,所有人都知道这一点。这可以帮助攻击者进行一个brute force attack,如果服务器密码弱,那么您的服务器可能会被入侵。将默认端口更改为其他端口将是一个快速的胜利。
我在下面的文章中解释了如何更改SSH端口。
实施SSL/TLS证书
将您的网站设置为HTTPS是强制性的,而且好处是可以免费获得。如果您不想进行繁琐的技术实施,那么我建议尝试Cloudflare。
Cloudflare提供免费SSL证书,以及其他性能和安全优势。
保护WordPress
不要让WordPress不安全。
有多个插件可供选择,但如果预算允许,我建议选择付费解决方案。您可以选择使用Cloudflare PRO计划或SUCURI。两者都提供全面的性能和安全功能,包括免费SSL证书、DDoS攻击预防、OWASP前10名漏洞缓解等。
DigitalOcean WP网站有多快?
嗯,这很难一概而论,因为每个网站都是独特的。但是,只是为了给你一个想法,我做了一些load tests,这是结果。
我安装了StudioPress的Authority Pro theme,并发布了一些虚拟文章来测试使用Blazemeter。
非常令人惊叹,不是吗?
正如你所看到的,测试是在5分钟内从加利福尼亚北部使用50个用户进行的,结果非常棒。
- 平均响应时间 – 351.19毫秒
- 错误 – 0%
任何低于1秒的时间都令人印象深刻。
结论
如果你使用的是共享主机,并且想要转移到云端并愿意花时间进行设置,那么DigitalOcean是一个不错的选择。但是,如果你没有时间和技能进行管理,我建议你看一下Kinsta。
Kinsta是一个高级托管的WP平台,利用Google Cloud Platform来提供最佳性能和安全性。