云服务器:简介

云服务器简介

什么是云服务器?

云服务器 是远程向用户提供计算资源的互联网基础设施。您可以将云服务器视为一台私有计算机,您可以像设置和控制本地计算机一样设置和控制它,例如笔记本电脑或台式机。这篇概念性文章概述了云服务器体系结构的几个关键组件、云服务器与其他云产品之间的区别,以及如何确定哪种云产品适合您的网站或Web应用程序。

请注意,您有时会看到)。

云软件

要了解云服务器,了解在云中运行的软件类型是很有帮助的。

操作系统 :要设置云服务器,首先需要安装操作系统。今天,由于广泛的支持、免费或灵活的许可以及服务器计算的普遍存在,几乎所有的云客户都使用基于Linux的操作系统(如Ubuntu或Rocky Linux)。您可以参考如何选择linux Distribution》。

服务器端 软件:这是一类运行在云环境下的软件,云环境没有桌面环境,也没有连接显示器。通常,这意味着软件是通过命令行界面安装和配置的,然后由普通用户通过Web浏览器或其他应用程序访问。尽管您在云服务器上安装的软件和工具的类型可能有很大差异,但了解一些关键组件将有助于您为规划和设置您自己的云服务器做好准备。

Web服务器 :该软件使您的云服务器能够使用HTTP协议与互联网上的用户或应用程序进行通信。服务器端软件和Web服务器一样,必须以明确的方式响应来自** 客户端** 或** 客户端软件** 的特定类型的请求。例如,当用户在Web浏览器中输入URL时,Web浏览器(这里称为** 客户端** )向服务器发出请求。作为响应,服务器获取该HTML文档并将其发送回浏览器,在浏览器中将其作为网页加载。如果您要从头开始设置云服务器来托管网站或Web应用程序,您可能需要安装和设置服务器软件,NginxApacheHTTP Web Server,]是两个最受欢迎的选项。您可以在我们的指南Web Servers.简介》中阅读有关Web服务器软件的更多信息

API服务器 :API(Application Programming Interfaces,应用程序编程接口)是一种软件中介,可以让应用程序之间进行通信。Web服务器是一种实现HTTP API的API服务器。还有许多其他不同类型的API,使您的云服务器能够向外部应用程序和数据资源发送数据或从外部应用程序和数据资源接收数据,例如提取天气数据、航班信息或其他类型的数据以用于您的应用程序。单个API实现有时也被称为API endpoints,或简称为endpoints

数据库服务器 :数据库服务器,也叫数据库服务器,是API服务器的另一种类型。与Web服务器不同,Web服务器可以通过Web浏览器访问并通常呈现一个HTML界面,而数据库服务器通常通过数据库查询API访问。一些数据库部署将是面向外部的,可以为需要在浏览器中与其交互的任何人实现自己的Web界面,而其他数据库部署可能只能通过这些查询在内部供其他云软件访问。

<$>[备注] 注意: 在不与其他租户共享的专用物理机上运行任何类型的Linux,通常称为** 裸机托管** 。虽然相对较少的云提供商仍然提供非常高端以外的裸机服务器,但现代最常见的裸机服务器是在Raspberry PI上运行Linux环境,通常用于较小的项目。 <$>

云服务器及其替代方案

由于云服务器实际上是一台完整的虚拟计算机,因此可以理解与它们相关的其他云产品。例如,一些云提供商将提供专用的Web托管或专用的数据库托管。任何提供数据库或Web服务器的产品都有效地将实际的云服务器抽象出来。有多种方法可以实现这一点,通常仍然涉及虚拟化服务器集群,但原则是一致的。主要区别在于云服务器(有时称为 VPS 或** 虚拟专用服务器 ** ,以澄清它是一个虚拟机)可以以任何方式运行任何软件,而任何其他云产品实际上是服务器功能的优化和约束子集。

这些产品的市场在过去几十年中发生了很大变化。在虚拟化被广泛使用之前,曾经有一个网络主机市场,他们会提供像Nginx(或者当时的Apache)这样的网络服务器来支持数十个不同的用户,他们拥有自己独特的权限集,并为每个用户提供托管服务。这很方便,因为它不需要用户承担任何服务器管理职责,但实际上仅限于支持 静态 网站(即,HTML、CSS和JavaScript,没有后端引擎)或插入式PHP应用程序,除了Web服务器之外没有其他依赖关系。

从那时起,VPS产品-全云服务器-变得更加常见。致力于运行整个云服务器,特别是在生产部署中,需要一定的Linux最佳实践知识,通常在专门的系统管理 ()或** 开发操作** ()角色中形式化,用于处理安全、部署等。能够偶尔或根据需要扮演这些角色是非常有用的,但可能会很复杂。考虑到开发大多数软件并不一定要知道如何与Linux服务器或命令行交互,这一点尤其正确。

我应该使用云服务器吗?

云服务器通常内置了许多安全功能,无需配置商业规模的生产部署即可在云服务器上安全可靠地运行开源软件。大多数服务器包都带有经过仔细配置的默认设置,并且经常更新以避免任何安全风险。部署像ufw这样的防火墙通常就足够了,它可以在单个基础上暴露网络端口,以确保服务器的安全,或者至少将安全责任卸给像Nginx这样的软件的维护者,该软件在全球数百万台服务器上使用。

也有其他现代服务,更像是即兴提供的网络主机。在某些情况下,现代静态网站可以使用现代的Java脚本功能来完全消除对后端服务器的需求。一些云提供商将这种类型的托管称为无头CMS,并将其他创作工具和Web表单作为更大的软件即服务产品的一部分提供。

除了这种静态站点功能外,一些提供商还支持部署所谓的无服务器 功能。这些是一次性脚本,可以在不同的基础上利用后端服务器功能,并部署到可以直接运行它们的环境中。当与静态站点部署一起使用时,此方法有时称为** Jamstack** .

静态站点和无服务器部署具有高度的可移植性,并且与传统Web托管一样,它们几乎避免了围绕完整服务器部署的所有安全和维护问题。然而,它们在范围上要有限得多。例如,作为堆栈的一部分,您可能需要以特定的方式在Nginx Web服务器后面部署Docker容器:为此,或任何类似的配置,您需要整个云服务器。

通常,可以部署到云服务器的任何软件也可以部署到本地计算机。尽管这些差异可能具有启发意义--值得注意的是,许多人并不在本地计算机上运行Linux,而且服务器端软件并不总是打包成直接在MacOS或Windows上运行--但在实践中,这些差异很小。这是云服务器的主要价值所在:无论出于何种目的,它都是一台完整的计算机,您可以用它做任何事情。

如何设置服务器的作用域

与裸机一样,云服务器的性能将取决于其硬件规格,并会相应定价。每个云服务器在集群内被分配一定量的资源。与裸机不同,云服务器规格可以根据需要快速扩展和缩小。在评估服务器时,您应该了解这些规范将如何影响您的需求。

云服务器通常根据它们的可用CPU核心数、它们的总可用内存(RAM)和它们连接的磁盘存储来配置。虽然磁盘速度和CPU速度在实际条件下通常会有所不同,但大多数云提供商的标准平均磁盘速度大致相当于消费者固态硬盘驱动器(SSD),而CPU速度与Intel Xeon内核相当。一些提供商还会通过磁盘输入/输出操作总数(IOPS)或允许的网络流量总量来约束较低层的云服务器,在此之后流量可能会被限制,从而导致一些软件出现瓶颈。

几乎所有云提供商都允许您购买额外的存储,例如_块存储_或Object storage,],它们可以根据需要附加到您的VP上。使用这种额外的存储通常是一个好主意,而不是继续扩展您的VPS的基准存储分配。将所有数据存储在单个根分区上会使扩展更具挑战性。

要在开放的互联网上访问,云服务器必须分配有公共IP地址。这可以是遵循模式123.123.123.123‘的an_ipv4地址_,或者遵循模式2001:0DB8:0000:0000:0000:0000:ff00:0042:8329的an_ipv6地址_。几乎所有具有网络功能的软件都可以直接解析和访问这些IP地址,尽管大多数情况下,服务器IP地址会在指定的域名之后,例如https://my_domain.com`.一些云提供商会自动为每个VPS分配一个IP地址,而其他云提供商可能会要求您购买IP地址并将其单独分配给您的服务器。这些IP称为保留IP,在大型部署中可以更加灵活。

域名通常使用_DNS records_从不同的注册商购买和配置,尽管一些云提供商将同时提供这两种产品

访问

要连接和使用云服务器,您需要知道如何在终端环境中工作,包括本地和远程。远程终端连接通常使用一种名为 SSH 或** Secure Shell** 的协议。与HTTP一起,SSH是最常用的协议之一,尽管SSH通常由管理员而不是最终用户使用。HTTP在端口80上运行(HTTPS在端口443上运行)。SSH通常在端口22上运行。云管理可以从这些协议、服务器和服务的角度来广泛理解。

总结

本课程概述了如何评估、使用和了解云服务器。了解产品的范围以及部署首选项随时间变化的方式对于利用现有软件文档满足您自己的使用案例很有帮助。对于许多不同的项目来说,DigitalOcean水滴--一种云VPS--是一个很好的起点:

额外资源

教程

  • 云Computing.简介本教程概述了云计算的历史和业务环境。它对比了不同的服务模式,并解释了有关风险、成本和隐私的其他考虑事项。
  • 初始服务器Setup.这是DigitalOcean针对许多流行的Linux环境的初始服务器设置文章的集合,旨在让您尽可能高效地使用SSH、包管理器和防火墙来启动和运行。
  • A LINUX命令行Primer.本教程介绍了使用命令行的基本知识,包括许多核心Linux命令、快捷方式以及参数语法和目录导航的基础知识。
  • SSH要点:使用SSH服务器、客户端和Keys.本教程介绍SSH或安全外壳的机制,这是使用终端连接和使用远程服务器的普遍首选方法。

产品展示

  • 有关定价、备份或浮动IP地址等附加组件以及入门的信息,请参阅DigitalOcean的Droplet overview]。
  • 您可以观看此为您的business.选择合适的虚拟机的视频指南
  • 查看DigitalOcean的DifferentDroplet plans],了解可用于更快的CPU、存储或内存的优化选项。
Published At
Categories with 技术
comments powered by Disqus