服务器基础

服务器基础

最通俗的理解来说,一个服务器就是一个物理的计算机,作为主机它致力于运行一个或多个服务,为网络上其他用户的电脑提供服务,根据计算机服务器服务种类,又可以分类为数据库服务器(database server), 文件服务器(file server), 邮件服务器(mail server), 打印服务器(print server), Web服务器(web server), 游戏服务器(gaming server)或其他种类的服务器。

CS结构(client-server architecture)中的server一般称为服务端而不是服务器,它指的是运行在物理计算机服务器上的程序代码,这一个/组程序用来响应其他客户端(clients)程序的请求。

网络协议(Internet Protocol)中的server,是一个运行/操作socket的监听器的程序。

服务器通常通过网络提供基本服务,无论是在一个大型组织里面的私人用户还是通过互联网的公共用户。下面让我们看下图1

 

图1 服务器在某地区的一个数据中心。几个服务器安装在一个钢架上并连接到一个KVM switch

用途 

Server这个术语在信息技术领域用得相当广泛,尽管许多标有server标签的产品可用(如服务器硬件,服务器软件,服务器操作系统),但理论上共享资源到一个或多个客户端进程的任意计算机化的过程就是server。为了说明这一点,以常见的文件共享举例。尽管保存在机器上的文件一般人并不把它看作一个服务器,但通过操作系统共享这些文件到其他客户端的机制,就是一个服务器。同样的,考虑一个Web服务器应用程序(比如多平台的Apache HTTP服务器),这个web服务器软件可以运行在任何硬件配置合适的计算机上,例如一台笔记本电脑和个人计算机通常不被称为服务器,但如果它们能扮演一个服务器功能的角色,那么它们也可以被称为服务器,只是看做配置比较低的服务器而已。在硬件意义上,服务器这个词通常用来指定用于运行服务器程序软件并大量需求网络环境下的计算机型号,在CS结构下一个或多个机器彼此共享信息,并其中有一个扮演主机的角色。几乎任意个人电脑都能作为一个网络服务器,那一个专用的服务器包含的功能只是让它更适合工作环境而已。这些功能包括一个更强大的CPU,内存,更大的硬盘空间。服务器通常也有可靠性、可用性和可服务性(RAS)和容错特性,比如稳定电源或电池组、磁盘阵列和能适应高并发网络连接。互联网本身也是一个服务器和客户端的大森林。云计算引入就是允许服务器存储的内容和其他资源共享在一个池中并提供与服务器更高程度的容错。

服务器硬件 

服务器的硬件需求取决于你将要在上面运行的程序。绝对的CPU速度通常不是一个服务器至关重要的因素。服务器的职责就是提供服务,许多网络上不同的用户可能有不同的需求,如快速的网络连接或高I/O吞吐量。因为服务器通常是通过网络访问,他们可能没有显示器或输入装置。许多服务器没有图形用户界面(GUI),因为它不必要,避免消耗资源,而且可以分配到其他地方。同样,音频和USB接口可以省略。服务器是长期运行的,有效性必须非常高,硬件的稳定性和耐用性非常重要。虽然服务器可以是组装的,但企业服务器更为理想,它们容错性更高,并使用专门的硬件,最大化正常运行时间。你要知道服务器硬件出错一次带来的损失很多时候远比服务器本身的价钱更高。所以大多数服务器使用内存错误检测和校正,备用硬盘与备用电源。这样的组件也可以经常热切换,使技术人员可以在服务器没有关闭的情况下换掉它们。当然最考虑的就是服务器温度过高带来的问题,我们需要更多更强大的风扇,甚至使用冷凝技术。一般服务器就存储在专门的数据中心,因为专业环境会让你的服务器更好的运行,比如空调,网络和供电情况。当然服务器通常使用远程管理来配置、启动和关闭服务器。

服务器操作系统 

面向服务器操作系统往往都有一些共同的特点,使其更适合于服务器环境,如

◆    图形化用户界面(GUI)不可用或是可选

◆    在某种程度上不重启就能够重新配置和更新硬件和软件

◆    先进的备份工具,允许定期和经常性的在线备份的关键数据

◆    在不同的容量或设备之间转移数据更通透

◆    灵活的和先进的网络功能

◆    自动化功能,如UNIX中的守护进程(daemons)和Windows中的services,严密的系统安全机制

面向服务器的操作系统可以在许多情况下,与硬件传感器来检测如过热、处理器和磁盘故障,来警报操作员或本身采取补救措施。相比Windows和Mac OS X服务器操作系统来说,基于UNIX的Linux系统是目前服务器操作系统的主流。

服务器种类

在一个通用网络环境以下类型的服务器可能经常出现。

◆应用程序服务器(Application server), 一个专门用于运行某些软件应用程序的服务器

◆目录服务器(Catalog server), 一个跨分布式网络的信息中心搜索点

◆通讯服务器(Communications server),用于电信级通讯网络的计算机平台

◆数据库服务器(Database server), 提供数据库服务到其他计算机程序或计算机

◆传真服务器(Fax server), 为客户提供传真服务

◆打印服务器(Print server), 为客户提供打印服务

◆文件服务器(File server), 提供远程访问文件

◆游戏服务器(Game server), 用于连接在线视频化游戏客户端的玩家的服务器

◆域名服务器(Name server), DNS

◆代理服务器(Proxy server),作为媒介(中转单位)为来自客户机的请求其他服务器的资源

◆音频服务器(Proxy server),提供多媒体广播、流

◆Web服务器(Web server),用于响应一个HTTP客户端连接到服务器,以将命令发送和接收响应以及数据内容

互联网的整个结构是基于CS结构,下面让我们看下世界互联网下的服务器结构

◆World Wide Web:万维网WWWW

◆Domain Name System:动态域名系统DNS

◆E-mail:电子邮件

◆FTP file transfer:FTP文件传输

◆Chat and instant messaging:聊天与即时消息

◆Voice communication:语音通讯

◆Streaming audio and video:音频视频流

◆Online gaming:在线游戏

◆Database servers:数据库服务

最后请注意,并不是所有的服务器程序都需要单独的一台PC来运行,根据自己项目的实际情况,也许有多个服务器程序运行在一台PC的可能。

原文地址:https://www.cnblogs.com/tianjian/p/2773458.html