首页 > 其他分享 >云计算入门——云服务器:简介

云计算入门——云服务器:简介

时间:2024-01-22 10:05:25浏览次数:35  
标签:Web 入门 部署 简介 Linux API 软件 服务器

前些天发现了一个人工智能学习网站,通俗易懂,风趣幽默,最重要的屌图甚多,忍不住分享一下给大家。点击跳转到网站

云计算入门——云服务器:简介

云服务器简介

什么是云服务器?

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

请注意,我们有时会看到“云服务器”、“Web 服务器”和普通“服务器”互换使用。通常,云服务器是指整个 Linux 环境,或者实际上是整个计算机。实际上,云服务器将始终在更大的服务器集群中作为虚拟机或模拟计算机的软件系统运行,这一过程称为虚拟化

云软件

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

操作系统:要设置云服务器,我们需要做的第一件事就是安装操作系统。如今,由于广泛的支持、免费或灵活的许可以及服务器计算中的普遍存在,几乎所有云客户都使用基于 Linux 的操作系统(例如 Ubuntu 或 Rocky Linux)。

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

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

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

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

注意:在不与其他租户共享的专用物理机上运行没有任何类型虚拟化的 Linux 通常称为裸机托管。尽管相对较少的云提供商仍然提供除非常高端之外的裸机服务器,但运行裸机服务器的最常见的现代等效方式是在 Raspberry Pi 上运行 Linux 环境,通常适用于较小的项目。

云服务器及其替代方案

由于云服务器实际上是一个完整的虚拟计算机,因此可以联系它们来理解其他云产品。例如,一些云提供商将提供专用网络托管或专用数据库托管。任何单独提供数据库或 Web 服务器的产品都有效地抽象出了等式中的实际云服务器。执行此操作的方法有多种,通常仍会涉及虚拟化服务器集群,但原理是一致的。主要区别在于,云服务器(有时称为VPS虚拟专用服务器,以澄清它是虚拟机)可以以任何方式运行任何软件,而任何其他云产品实际上都是优化和受限的服务器功能的子集。

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

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

我应该使用云服务器吗?

云服务器通常内置有许多安全功能,无需提供商业规模的生产部署即可在云服务器上安全可靠地运行开源软件。大多数服务器软件包都附带精心配置的默认设置,并经常更新以避免任何安全风险。通常部署这样的防火墙就足够了,ufw可以单独暴露网络端口以确保服务器安全,或者至少将安全责任转移给 Nginx 等软件的维护人员,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 记录从单独的注册商那里购买和配置的。

使用权

要连接并使用云服务器,我们需要了解如何在本地和远程终端环境中工作。远程终端连接主要使用称为SSHSecure Shell的协议。与 HTTP 一样,这是最常用的协议之一,尽管 SSH 自然更常由管理员而不是最终用户使用。HTTP 在端口上运行80(以及 HTTPS 的端口443)。SSH 通常在端口 上运行22

结论

本问概述了评估、使用和理解云服务器的概况。了解产品范围以及部署首选项随时间变化的方式有助于将现有软件文档用于我们自己的用例。

标签:Web,入门,部署,简介,Linux,API,软件,服务器
From: https://blog.51cto.com/TiMi/9360730

相关文章

  • [转]Java Stream API入门篇
    原文地址:JavaStreamAPI入门篇-CarpenterLee-博客园本文github地址你可能没意识到Java对函数式编程的重视程度,看看Java8加入函数式编程扩充多少功能就清楚了。Java8之所以费这么大功夫引入函数式编程,原因有二:代码简洁,函数式编程写出的代码简洁且意图明确,使用stream接口......
  • kafka入门(十):副本数据同步
    副本副本(Replica),指的是分布式系统对数据和服务提供的一种冗余方式。Kafka通过多副本机制实现故障自动转移,在Kafka集群中某个broker节点失效的情况下仍然保证服务可用。失效副本在ISR集合之外,也就是处于同步失效或功能失效(比如副本处于非存活状态)的副本统称为失效副本,失效副本......
  • Make简介和Makefile编写规则
    1.什么是make?(1)make定义make工程管理器,是Linux下自动编译管理器;为了维护C程序文件,防止不必要的重新编译;对于维护具有相互依赖关系的文件特别有用,对文件和命令的联系提供一套编码方法自动化编译。运行环境,需要一个命令程序make和一个文本文件makefile。例......
  • 无涯教程-CodeIgniter - 简介
    CodeIgniter是一个函数强大的PHP框架,无涯教程喜欢简称它叫CI,由EllisLab创建,现在是不列颠哥伦比亚技术学院的一个项目。是一套给PHP网站开发者使用的应用程序开发框架和工具包。它提供一套丰富的标准库以及简单的接口和逻辑结构,其目的是使开发人员更快速地进行项目开发。本教程是......
  • 【Tomcat】Web服务器Tomcat简介及配置
    Tomcat简介Tomcat配置及虚拟路径配置<build><plugins><plugin><groupId>org.apache.tomcat.maven</groupId><artifactId>tomcat7-maven-plugin</artifactId><version>2.1</version>......
  • 【Servlet】Servlet快速入门
    Servlet简介在Java的Web开发中,Servlet是一种用于处理HTTP请求和响应的Java程序。Servlet通常被部署在支持Java的Web服务器上,如ApacheTomcat。在Servlet中,Request对象和Response对象是两个重要的接口,它们用于处理客户端发来的请求和向客户端发送响应。Servlet快速入门创......
  • python3使用socket模块实现简易syslog服务器
    废话不多说直接上代码1importsocket2importtime345defsocket_bind(server_socket,host,port=514,max_retries=5):6retries=07whileretries<max_retries:8try:9server_socket.bind((host,port))10......
  • 服务器端口被占用怎么解决
    服务器端口指的是用一个程序向服务器发起连接时的请求端口。比如FTP:23,HTTP:80,SMTP:25这些都是TCP的端口,有的也用到UDP的端口。1、公认端口:这种类型的端口通常称为“常用端口”。这些端口的端口号范围从0到1024,并且与某些特定服务紧密绑定。通常这些端口的通信清楚地指示了某种服......
  • 【C++入门到精通】C++入门 —— 类和对象(了解类和对象)
     目录一、类和对象的历史由来 二、面向过程和面向对象的初步认识三、类1.引子2.类的定义 3.类的访问限定符及封装        ⭕访问限定符 ......
  • 服务器反复自动重启/死机的原因
    服务器需要全年不间断地运行,而且它还承载各种应用程序。很多用户在租用服务器的时候会遇到各类问题,本文写的是服务器自动重启/死机可能会出现的原因及解决办法~1.电源是否接触不良首先,第一步就是检查插头是否插紧,检查电源插座是否正常。大概有四分之一的此类故障其实都是因为这样......