通常,当网站超出其共享托管计划时,最大的问题不是升级到更强大的 VPS 的相关成本。相反,它是网站所有者对运行整个服务器的前景的焦虑。但这些担心是否合理?拥有和配置虚拟服务器真的像听起来那样令人生畏吗?
什么是 VPS 主机?
VPS 托管可让您在自己的虚拟机上容纳 Web 项目。由于有保证的硬件资源和只有您可以使用的专用 IP ,您可以获得更好的性能。有两种类型的 VPS 托管 -托管和自我托管。
托管虚拟服务器带有预配置的设置。您的托管服务提供商负责安装操作系统和托管您的网站所需的所有其他软件。通常,您可以访问管理平台来控制托管在服务器上的项目、监控服务器的运行状况并停止各个进程。
您通常不会通过托管 VPS 获得 root 访问权限,因为坦率地说,您不需要它。您的托管服务提供商负责更新和配置底层软件,而您可以专注于运行您的网站。这是迄今为止对用户更友好的选项,但这并不是所有管理员都想要的。
一些网站所有者希望完全控制VPS。他们想要安装和配置特定的软件,因此他们需要完全访问服务器的内部结构。对他们来说,具有 root 访问权限的自我管理 VPS是最好的解决方案。
什么时候应该考虑自我管理的 VPS 托管?
尽管这是一个相对较新的市场,但托管行业已经发展了很多。供应商和开发商不断创新和使用新技术,让用户的生活更轻松。现在有基于 GUI 的控制面板 和管理系统,它们的选项和工具范围非常广泛,足以满足几乎每个站点所有者的需求。
通常,这些工具附带托管 VPS 解决方案。自我管理的虚拟服务器适用于具有特定要求的项目,通常更受具有更高级技术技能的人的青睐。使用自行管理的 VPS,您将全权负责配置托管您的网站所需的软件并确保服务器的流畅性能。从本质上讲,您将获得一台裸机服务器机器——一块空白画布,您可以在其中调整项目的每一个小细节。
您的 VPS 托管服务提供商如何提供帮助?
由主机来部署您的虚拟机并安装操作系统(通常是 Linux,尽管一些主机提供商也提供 Windows VPS 选项)。在向您发送登录说明并将您交给它之前,您的提供商可能也会设置Apache或Nginx 。从那时起,你几乎是靠自己了。如果您有任何具体问题,房东的支持团队可能只是愿意为您提供正确的资源,但您将不得不自己做一些跑腿工作。让我们看看这涉及到什么。
设置你的 VPS
设置 VPS 的具体步骤主要取决于您的操作系统。在本指南中,我们假设它运行的是Linux——网络托管服务器的主要操作系统。大多数网站所有者都喜欢它,不仅因为它的开源特性使其更具成本效益,而且还因为它的多功能性。现在,第一步是从您的个人计算机访问服务器。
通过 SSH 访问服务器
多种通信协议可让您建立与 VPS 的连接。例如,使用FTP ,您可以上传、管理和编辑文件。但是,要正确配置您的 VPS,您需要SSH(或 Secure Shell)——一种网络协议,可让您建立与服务器的加密连接并在其上执行命令。
SSH 仅通过命令行界面工作,如果您的计算机使用基于Unix 的操作系统,如 Linux 或 macOS,您可以使用终端建立连接。
2018 年,微软也将 SSH 集成到了 Windows PowerShell 中,如果你使用的是旧版本的Windows——你需要使用像PuTTY这样的 SSH 客户端。
首次通过 SSH 访问服务器需要您的主机提供的 root 登录凭据。您需要使用的命令是:
ssh [root 用户名]@[服务器 IP]
服务器将通过端口 22接收请求,识别用户名(通常是“root”),并询问您的密码。提供正确的登录详细信息后,服务器将在命令行界面中显示欢迎消息。
这样,您就第一次登录到您的自我管理的 VPS。
更新服务器
请记住,您不仅要对服务器的平稳性能负责,还要对托管在其上的项目的安全性负责。使您的 VPS 保持最新是其中的主要部分,因为它保证安装了所有新的安全补丁和功能。
不同的 Linux 发行版使用不同的包管理器,因此命令因发行版而异。
例如,对于Ubuntu和其他基于 Debian 的发行版,您将首先使用:
适当的更新
对于CentOS和RHEL,命令将是:
yum 检查更新 或dnf 检查更新
服务器将检查操作系统的软件包并挑选出需要更新的软件包。接下来,您需要告诉它继续更新。
对于基于 Debian 的发行版,命令是:
适当升级
对于 CentOS 和 RHEL,您需要使用:
yum 更新 或 dnf 更新
该过程可能需要一段时间。更新后,最好使用reboot 命令重新启动服务器。
定期更新服务器的软件是保持其良好状态的重要部分。如果不应用最新的稳定版本,您不仅会错过新添加的特性和功能,还会让服务器面临安全漏洞。
创建一个新用户
到目前为止,您一直在使用服务器的root用户。
Linux 中的 root 用户基本上是系统的所有者。它的权限是无限的——只要您以 root 身份登录,您几乎可以对服务器执行任何操作。
尽管如此,由于特权提升,任何小错误都可能产生可怕的后果,因此通常认为创建具有超级用户权限的第二个帐户是个好主意。有了它,您仍然可以配置服务器最重要的设置,但是您需要将sudo 前缀添加到每个需要管理权限的命令中。
这似乎是一个微小的差异,但是当您尝试执行没有所需前缀的命令时出现的错误消息保证会让您谨慎行事。要创建新用户,请使用:
adduser [新用户的用户名]
服务器将要求您为新帐户选择密码并提供一些其他详细信息。接下来,您需要将新用户帐户分配给正确的组。这是命令
usermod -aG sudo [新用户的用户名]
为确保一切正常,您可以终止当前的 SSH 会话并使用新用户帐户登录。
更改默认 SSH 端口
如前所述,端口 22 是 SSH 的默认监听端口。这是许多 SSH 用户都知道的事实,但也有讨厌的黑客。严格来说,如果您的密码足够强大,他们将很难进入。
不过,最好不要冒险更改 SSH 默认侦听端口。
这样做意味着编辑 SSH 配置文件。为了在出现问题时为自己省去很多麻烦,最好在继续之前备份它。
使用以下命令:
cp /etc/ssh/sshd_config /etc/ssh/sshd_config_old
大多数 Linux 发行版都附带Nano——一个基于命令行的文本编辑器。您将使用它来编辑 SSH 配置文件:
纳米 /etc/ssh/sshd_config
找到显示以下内容的行:
#端口 22
删除#字符,并将22替换为 1024 和 65535 之间的任意数字 。确保记住新端口,因为下次登录时需要使用它。其他服务无法使用您刚刚分配的 SSH 端口。
要应用更改,请保存 SSH 配置文件并使用以下命令重新启动 SSH 服务:
systemctl 重启 ssh
如果您没有使用 root 帐户登录,则需要在其中一些命令中使用sudo前缀。
生成 SSH 密钥
更改 SSH 的默认侦听端口可保护您的服务器免受自动脚本的影响,这些脚本会扫描互联网并尝试随机入侵服务器。但是,要阻止有针对性的攻击,最好加强您的身份验证机制。
如果您选择足够强的密码,传统的用户/密码系统通常会很有效。尽管如此,SSH 还可以使用公钥和私钥对来验证个人用户的身份——这是一种更加安全的设置。
要使用它,您首先需要生成 SSH 密钥。在 Windows 中,您可以通过与流行的 SSH 客户端捆绑的PuTTYgen应用程序轻松完成此操作。打开应用程序并单击生成。PuTTYgen 将生成一个公钥和一个私钥。
公钥在顶部的框中可见。在继续之前,您还需要设置一个密码短语作为密码,与密钥对一起使用。
单击保存私钥将密钥保存在您的计算机上。现在为公众号。
以 root 身份重新登录服务器并使用以下命令打开您帐户的主目录:
su - [你的用户名]
首先,您需要创建一个存放您的公钥的文件夹并设置允许您在其中创建文件的权限。
命令是:
mkdir ~/.ssh
chmod 700 ~/.ssh
接下来,您需要创建一个文件,您将在其中粘贴 PuTTYgen 生成的公钥。再一次,我们将使用 Nano 文本编辑器:
纳米 ~/.ssh/authorized_keys
要使用密钥对并使用 PuTTY 连接到您的帐户,请打开 SSH 客户端设置并转到Connection > SSH > Auth。使用Private Key File for Authentication字段选择您的私钥并保存更改。唯一剩下的就是禁用您帐户的密码验证。为此,您需要编辑 SSH 配置文件 - etc/ssh/sshd_config。就像将PasswordAuthentication值从Yes更改为No一样简单。
设置防火墙
防火墙是网络托管服务器最重要的安全机制之一。它的工作是过滤传入和传出的流量,并确保数据仅对授权访问它的人可用。大多数 Linux 发行版使用称为iptables的防火墙来过滤进出服务器的流量。在大多数情况下,它是默认安装的。但是,对于不同的发行版,您可以使用各种实用程序来配置防火墙规则。
例如,Ubuntu 的默认防火墙配置工具称为UFW,而CentOS 的等效工具是Firewalld。所有这些工具的目的是简化配置 iptables 的任务。它们以不同的方式工作,它们使用的语法也不相同。要弄清楚它们是如何工作的,您需要阅读您的 操作系统文档。
结论
配置自我管理的 VPS 不是一劳永逸的任务。确保机器始终处于最佳状态取决于您,但互联网上充斥着有用的资源,告诉您需要做什么并引导您朝着正确的方向前进。只要您投入足够的时间和精力,您就可以毫不费力地掌握 VPS 操作。如果管理虚拟服务器不是您的菜 - 只需将其留给专业人士并选择一流的托管 VPS 解决方案即可。