优化的 WordPress 托管:DIY 还是托管?

VPS1352主机测评网(www.vps1352.com)
本文链接:https://www.vps1352.com/7601.html

使用 WordPress 优化托管,您应该自己动手还是让其他人为您管理?在本指南中,我们探讨了这两个选项并向您展示如何设置您自己的 VPS...

在为您的 WordPress 网站设置托管时,有很多选择.您可以选择共享托管计划(您的站点性能受过度配置服务器的支配),支付更多费用来运行您自己的具有专用资源的 VPS(虚拟专用服务器),或者只支付一点额外费用让其他人为您管理 VPS.

如果您不确定适合您需求的托管类型,请查看我们的了解不同托管类型的指南.

在本指南中,我们将重点介绍第二个选项,并帮助您了解为 WordPress 托管设置 VPS 需要付出哪些努力.

更具体地说,我们将引导您完成设置自己的 VPS 所需的所有步骤,然后查看选择此选项的利弊.

为了便于参考,您可以使用下面的链接跳转到任何部分或浏览整个分步教程:

什么是 WordPress 的 DIY VPS 托管?

VPS 托管是使用虚拟专用服务器的网络托管.正如我们在此处所解释的那样,VPS 是共享主机和专用主机之间的一个很好的折衷方案.

您可以自定义 VPS 资源以满足您在磁盘空间、内存、处理能力和带宽方面的需求,并在您网站的流量增加时进行扩展.

DIY VPS 托管通常是指运行非托管 VPS(而对于"托管"VPS,网络托管公司会处理系统设置、控制面​​板安装和技术支持等所有事情,让您可以自由地管理您的网络托管帐户).

尽管选择非托管或 DIY VPS 托管往往比托管 VPS 托管更实惠,但您需要自己处理一切.

WordPress 有自己的服务器要求,因此如果您打算选择专门用于 WordPress 的 DIY VPS 托管,您需要具备管理服务器和运行 WordPress 的技术经验.

设置 WordPress 优化的 VPS

VPS 网络主机数量众多,许多都以合理的成本提供出色的云托管服务器.

在本教程中,我们将使用 DigitalOcean 作为我们的主机.

DigitalOcean
让我们导航到 DigitalOcean 并设置一个 DIY VPS.

注意:下面的教程将带您完成 DigitalOcean 的 WordPress 优化 VPS 设置过程.或者,您可以使用 SpinupWP 之类的工具来设置、配置、访问和管理您的服务器远程使用 NGINX.

DigitalOcean 可以轻松设置您自己的 WordPress 优化 VPS,因为他们提供一键式解决方案,可以使用 WordPress 构建 Ubuntu 20.04 VPS,并且预装了所有必需的软件.

话虽如此,为了完成 WordPress 的安装并强化 WordPress 和服务器本身,仍然需要进行一些配置.

让我们完成每一步.

1.创建一个非root用户SSH到服务器

首先,在 Ubuntu 20.04 droplet 上创建一个 Digital Ocean One-Click WordPress 5.5.1.

Set up WordPress.
选择WordPress.

注意:确保为 root 帐户使用强密码(例如使用 32 个字符的密码)

在您计算机上的记事本中保留一份该密码的副本.这将使连接到液滴更容易.您将创建一个单独的用户以供将来连接,因此这只是为将不再被主动使用的 root 用户设置一个强密码.

A 32-character password.
选择一个强密码-建议至少 32 个字符.来源:passwordsgenerator.net

完成此操作后,使用初始设置中的 IP 和 root 密码SSH 到服务器.

系统会提示您输入域名.按 CTRL+C 暂时退出此脚本.我们稍后会回到这个配置.

创建一个非 root 用户(用您的用户名替换 myusername):

adduser myusername
usermod-aG sudo myusername
usermod-aG www-data myusername

测试以确保 myusername 具有 sudo 访问权限:

su myusername
ls-la/root
sudo ls-la/root

注意:上面的第二个命令应该给出权限被拒绝的错误,但是在命令前加上 sudo 将允许你将你的权限提升到 root 的权限.

2.保护 MySQL 安装

使用以下命令查看你的root mysql账户密码.

cat/root/.digitalocean_password

mysql_secure_installation

在上述命令的提示下,输入:

否 >根密码>是 >是 >是 >是的

然后,删除包含您的默认密码的文件,以便它们在您的服务器目录中不明显可用:

rm-rf/root/.digitalocean_password

3.为您的域配置虚拟主机

这样您的 Apache 服务器就可以处理来自 Droplet 的多个域的服务.

即使您可能只从这个 Droplet 服务一个域,最好设置虚拟主机,以便您在将来需要时做好准备.

mkdir-p/var/www/mydomainname.com/html/
chown-R www-data:www-data/var/www/mydomainname.com/html/
rsync-avP/var/www/html//var/www/mydomainname.com/html/
cp/etc/apache2/sites-available/000-default.conf/etc/apache2/sites-available/mydomainname.com.conf
vi/etc/apache2/sites-available/mydomainname.com.conf

使用以下几行编辑您的 mydomainname.com.conf 文件,根据需要修改现有内容:

ServerAdmin [email protected]
ServerName www.mydomainname.com
ServerAlias mydomainname.com
DocumentRoot/var/www/mydomainname.com/html

<Directory/var/www/mydomainname.com/html/>

将更改保存到您的.conf 并运行以下命令,让 Web 服务器知道您的新虚拟主机:

a2ensite mydomainname.com.conf
a2dissite 000-default.conf
a2enmod expires
service apache2 reload

您的网络服务器现在知道您的自定义虚拟主机!

归档预先构建的一键 WordPress 文件夹结构

mv/var/www/html/var/www/html.bak

4.安装 PHPMyAdmin,以便您可以通过 Web GUI 管理您的数据库(可选)

apt-get update
apt-get install phpmyadmin

"执行此操作后,将使用 51.4 MB 的额外磁盘空间." >>是的

"自动配置网络服务器"或"自动重新配置网络服务器">>否(TAB 然后确定)

"使用 dbconfig-common 为 phpmyadmin 配置数据库?" >>否

echo "#Include/etc/phpmyadmin/apache.conf">>/etc/apache2/sites-enabled/mydomainname.com.conf

注意:只需通过 SSH 连接到您的 Droplet 并从上面的行中删除注释分隔符 (#) 即可快速禁用 PHPMyAdmin,如果您想在需要之前一直禁用它.

vi/etc/phpmyadmin/apache.conf

将别名更新为:

/my_db/usr/share/phpmyadmin

注意:最后一行使您可以在 mydomainname.com/my_db 上访问 PHPMyAdmin 安装

service apache2 reload

5.更改默认的 WordPress 数据库表前缀

让我们在安装前强化一键式 WordPress 数据库.

我们将通过将默认 wp_ 数据库前缀重命名为自定义名称来实现此目的,以便黑客尝试根据默认名称提取您的数据库表数据将失败:

sed-i 's/wp_/wp_510942_/g'/var/www/mydomainname.com/html/wp-config.php

注意:这将使您的数据库表以 wp_510942_ 而不是 wp_ 为前缀.您可以使用任何随机数或单词使其唯一.

6.配置新 Droplet 的域 DNS 设置

登录 DigitalOcean 并转到 Networking.

对于有问题的液滴,请使用以下配置:

NS ns1.digitalocean.com
NS ns2.digitalocean.com
NS ns3.digitalocean.com
A mydomainname.com
CNAME http://www.mydomainname.com
CNAME *.mydomainname.com

7.安装 Let’s Encrypt 证书

sudo certbot--apache-d www.mydomainname.com-d mydomainname.com

  • 支持电子邮件: [电子邮件受保护]
  • 选择 YES 到服务条款和 NO 共享电子邮件地址
  • 选择选项 2:安全-将所有请求重定向到安全 HTTPS

8.修补您服务器上的常见漏洞

额外的强化 #1:防止 LIBWWW-PERL 漏洞:

编辑您的.htaccess 并在 RewriteEngine On 之后粘贴这两行

sudo vi/var/www/mydomainname.com/html/.htaccess

RewriteCond %{HTTP_USER_AGENT} libwww-perl.*
RewriteRule.* ? [F,L]

额外的强化 #2:禁用服务器签名

编辑apache2.conf,搜索两个字符串,如果不存在则在文件末尾追加,然后重新加载apache2:

sudo vi/etc/apache2/apache2.conf

ServerSignature Off
ServerTokens Prod

service apache2 reload

额外的强化 #3:通过.htaccess 防止 Apache 信息泄露:

sudo vi/var/www/mydomainname.com/html/.htaccess

## Prevent information disclosure ##
<FilesMatch ".(txt|md|exe|sh|bak|inc|pot|po|mo|log|sql)$">
Require all denied
</FilesMatch>
<Files robots.txt>
Require all granted
</Files>
<Files ads.txt>
Require all granted
</Files>
## End ## 

额外的强化 #4:使用非 root SSH 的密钥并禁用密码和 root 登录

SSH 密钥提供了一种简单、安全的方式来登录您的服务器,建议所有用户使用.

对于这一步,我们建议遵循 DigitalOcean 关于 为 Ubuntu 20.04 安装设置 SSH 密钥.

注意: 以上绝不是一个详尽的、包罗万象的强化措施列表(这本身就是一个完整的主题),但如果您打算设置,这是一个非常好的开始并运行您自己的 VPS.

9.提高 WordPress 性能的 PHP 限制:

sudo vi/etc/php/7.0/apache2/php.ini

搜索这些设置,并将任何现有值提高到以下值:

  • 最大执行时间:60
  • 内存限制:128M
  • post_max_size:48M
  • upload_max_filesize:48M

sudo service apache2 restart

完成此操作后,导航到您的域并逐步完成 WordPress 安装向导.

DIY WordPress VPS 与托管 WordPress 托管

如果这一切看起来只是为了拥有一个运行 WordPress 的安全 VPS 服务器,那么您是对的!

值得庆幸的是,上述许多步骤都可以放入脚本中以自动执行此过程,但事实仍然是拥有自我管理的 VPS 的代价是……嗯……自己管理!

这不仅需要具备设置和运行服务器的技术经验,还需要排除故障和修复任何问题.

或者,如果您希望拥有与 DigitalOcean VPS 同等的性能和安全性,而不必自己动手,那么可以考虑使用 WPMU DEV 托管!每月只需​​比自托管 DigitalOcean Droplet 多花几美元,即可获得世界一流的 VPS 性能以及世界一流的 24/7 全天候技术和托管支持……一切都为您完成!

贡献者

本文与以下人员合作撰写:

Capital Web Design-Ottawa Web Design

Phil MartinCapital 网页设计.Phil 利用他 20 年的网页设计经验来实现一个目标:通过为加拿大首都的企业和非营利组织构建现代网站来回馈家乡!

***

注意:我们不接受来自外部来源的文章.但是,WPMU DEV 成员可以通过 Blog XChange 为我们博客上的教程和文章贡献想法和建议.

3

发表回复