云服务器是什么?云软件云服务器入门知识总结

什么是云服务器?

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

请注意,您有时会看到“云服务器”、“Web 服务器”和普通的“服务器”互换使用。通常,云服务器是指整个 Linux 环境,或者实际上是整个计算机。实际上,云服务器将始终作为虚拟机或模拟计算机的软件系统在更大的服务器集群中运行,这一过程称为虚拟化。有关此技术背景的更多信息,您可以查看云托管简介。

云软件

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

操作系统:要设置云服务器,您需要做的第一件事之一就是安装操作系统。如今,几乎所有云客户都使用基于 Linux 的操作系统(例如 Ubuntu 或 Rocky Linux),因为 Linux 受到广泛支持、免费或灵活的许可以及在服务器计算中的普遍性。您可以参考如何选择 Linux 发行版了解更多信息。

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

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

API 服务器:API(应用程序编程接口)是一种软件中介,可使应用程序相互通信。Web 服务器是一种实现 HTTP API 的 API 服务器。还有许多其他不同类型的 API,可让您的云服务器向外部应用程序和数据资源发送或接收数据,例如提取天气数据、航班信息或其他类型的数据以供应用程序使用。单个 API 实现有时也称为 API端点,或简称为“端点”。

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

注意:在专用物理机上运行 Linux 而不进行任何虚拟化通常称为裸机托管。尽管相对较少的云提供商仍然提供裸机服务器(高端除外),但运行裸机服务器最常见的现代等效物是在 Raspberry Pi 上运行 Linux 环境,通常用于较小的项目。

云服务器及其替代方案

由于云服务器实际上是一整台虚拟计算机,因此可以将其与其它云产品联系起来理解。例如,一些云提供商将提供专用网络托管或专用数据库托管。任何单独提供数据库或网络服务器的产品实际上都已将实际的云服务器从等式中抽象出来。有多种方法可以做到这一点,通常仍将涉及虚拟化服务器集群,但原理是一致的。主要区别在于,云服务器(有时称为 VPS虚拟专用服务器,以澄清它是虚拟机)可以以任何方式运行任何软件,而其它任何云产品实际上都是经过优化且受约束的服务器功能子集。

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

从那时起,VPS 产品(完整的云服务器)变得越来越普遍。致力于运行整个云服务器,特别是在生产部署中,需要一定程度的 Linux 最佳实践知识,通常由专门的系统管理(“sysadmin”)或开发运营(“DevOps”)角色正式确定,以处理安全、部署等问题。能够偶尔或根据需要执行这些角色非常有用,但可能很复杂。考虑到开发大多数软件时,并不一定需要知道如何与 Linux 服务器或命令行交互,这一点尤其正确。

我应该使用云服务器吗?

云服务器通常内置了许多安全功能,无需配置商业规模的生产部署即可在云服务器上安全可靠地运行开源软件。大多数服务器软件包都附带精心配置的默认设置,并经常更新以避免任何安全风险。部署这样的防火墙通常就足以ufw单独公开网络端口,以保证服务器的安全,或者至少将安全责任转移给 Nginx 等软件的维护者,该软件在全球数百万台服务器上使用。

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

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

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

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

如何确定服务器范围

与裸机计算机一样,云服务器的性能会根据其硬件规格而有所提升,价格也会相应调整。集群中的每台云服务器都会分配一定数量的资源。与裸机计算机不同,云服务器规格可以根据需要快速增加或减少。在评估服务器时,您应该了解这些规格将如何影响您的需求。

云服务器通常由其可用 CPU 核心数、总可用内存 ( RAM ) 和附加磁盘存储进行配置。虽然磁盘速度和 CPU 速度通常在实际条件下有所不同,但大多数云提供商已将平均磁盘速度标准化为与消费级固态磁盘驱动器 ( SSD ) 大致相当,将 CPU 速度标准化为与 Intel Xeon 核心相当。一些提供商还会通过其允许的总磁盘输入/输出操作 ( IOPS )数量或允许的总网络流量来限制较低级别的云服务器,超过此限制,流量可能会受到限制,从而导致某些软件出现瓶颈。

几乎所有云提供商还允许您购买额外的存储,例如块存储对象存储,这些存储可以根据需要连接到您的 VPS。使用这些额外的存储通常是一个好主意,而不是继续扩展 VPS 的基线存储分配。将所有数据存储在单个根分区上会使扩展更具挑战性。

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

域名通常使用DNS 记录从单独的注册商处购买和配置,尽管一些云提供商会同时提供这两种产品。

使用权

要连接和使用云服务器,您需要知道如何在本地和远程终端环境中工作。远程终端连接主要使用称为SSH安全外壳的协议。与 HTTP 一样,这是最常用的协议之一,尽管管理员自然比最终用户更常使用 SSH。HTTP 在端口上运行80(HTTPS443在端口上运行)。SSH 通常在端口上运行22。可以从这些协议、服务器和服务的角度广泛理解云管理。

本课程概述了如何评估、使用和了解云服务器的概况。了解产品范围以及部署偏好随时间的变化方式很有帮助,这样您就可以利用现有软件文档来满足自己的使用需求。DigitalOcean Droplet(云 VPS)是许多不同项目的良好起点:

建站

SiteGround主机推荐:美国SiteGround主机评测和优惠码

2024-6-26 15:01:35

建站

Bluehost评测:最好的美国主机是Bluehost吗?

2024-7-20 22:28:48

搜索