Vin*_*rdo 44 networking webserver
我有一个关于将计算机用作 Web 服务器的问题。为什么某台电脑可以作为网络服务器?什么特性使它能够成为一个网络服务器?有没有电脑不能作为网络服务器的情况?
dav*_*dgo 96
几乎任何计算机都可以用作 [web] 服务器,前提是它可以连接到网络,并且可以运行 Web 服务器软件。由于 Web 服务器可以非常简单,并且有免费和开源的 Web 服务器,因此在实践中,任何设备都可以充当 Web 服务器。
更大的问题是网络方面。为了让系统充当服务器,其他机器需要能够访问它。如果只是在局域网中使用,则没有问题;但是,如果要从更广泛的 Internet 使用它,则需要将数据路由到它。这需要与服务器关联的静态 IP 地址(或通过路由器转发的端口),或者可以将域名/子域映射到不断变化的动态 IP 地址的外部服务。
(FWIW,您可以购买10 美元的计算机,它可以充当基本的 Web 服务器。)
当然,虽然任何设备都可以充当网络服务器,但网站的功能可能会千差万别,便宜的设备(或慢速连接)可能无法满足特定网站的需求。
我注意到上面的所有内容都是关于 Web 服务器的 - 但对于几乎任何类型的服务器都可以这样说。
Jou*_*eek 25
这一点都不棘手。这仅取决于您对“网络服务器”的定义。
完全有可能在像微控制器这样简单的设备上运行“网络服务器”。
让我们考虑一下最小的 Web 服务器需要做什么。它需要输出一些文本 - 甚至不一定是 HTML 到客户端。它需要知道一个请求是一个请求,并做出适当的响应。如果您的“客户端”是本地的,您甚至不需要网络连接。这将是一个完全没有意义的网络服务器。
它相当于其中之一的 Web 服务器。
为客户端添加网络连接(以太网很好,但没有技术原因您无法连接到在 wifi 上运行的 Web 服务器)并且能够从客户端路由会更好。
一个 5 美元的ESP8266——一个便宜、最小的带 wifi 的微控制器可以处理大部分内容,甚至可能是基本的动态内容
我使用类似的东西来使用 Python 进行快速文件共享。仍然完全有可能在微控制器上编写这样的东西,甚至在手机上运行它。
静态内容很无聊。添加动态语言,您需要开始考虑更重的权重系统。运行 Linux 或 Windows 的东西很好。
在这一点上,您指的是消费者路由器、在 UI 上使用网页的小型应用程序等等。
Web 服务器甚至不是一个复杂的问题,可以用五行 bash编写并在 Linux 上运行。现在厄运……但是任何可以运行厄运的系统都可以运行网络服务器。
一个良好的网络服务器建立能够处理给定负载是有点棘手。
小智 11
从字面上看,任何具有以下条件的计算机都可以成为 Web 服务器:
但这就足够了吗?现在,这是一个棘手的问题。
让计算机成为网络服务器,为整个社区(例如学校、公司、博物馆)提供现代网页或网络应用程序:
但这只是小型操作的最低要求。当您的操作变得更大时(即您获得更重的流量并提供复杂的 Web 应用程序而不是静态页面),您的需求就会增长。您最终将需要:
要利用互联网基础设施为全世界服务,您需要:
没有这些,您所拥有的只是一个潜在的Web 服务器。
小智 8
编程/软件视角:
能够侦听网络适配器上的端口 80 的程序。它在您拥有的操作系统上运行。并且可以根据 HTTP 定义处理请求。
可以从同一网络中的每台计算机访问侦听任何端口的程序。理想情况下,它应该是一个已知的标准端口(HTML 服务器为 80 和 8080;自定义应用程序选择 1024 以上)。在您进行开发的同一台计算机上运行网络可达程序的开发甚至是常见的做法。
如果您可以通过 localhost 访问它,那么您可以从同一网络中的任何地方访问它,并且可以从任何其他地方访问这台机器及其网络适配器。
警告:默认安装中的许多一体式开发环境会限制对 Localhost 的访问。毕竟,您不希望从 Internet 访问您的管理工具。
硬件:
硬件从“运行 XP 或 Linux 的 10 年前的计算机”开始,到“128 核,2 TiB RAM 和 256 TiB SSD”结束,数据库也在不同的服务器上运行. Web 应用程序往往具有令人愉悦的可并行性,因此您可以/必须使用这些服务器的集群进行更多操作。和 Geocast。和分布式设计。还有很多其他的东西。这完全取决于我们所谈论的规模。
您可能遇到的最简单的 Web 服务器是您正在使用的路由器,顺便说一句。它们都运行一个用于配置目的的 Web 服务器,托管在 Linux 上(执行所有 DHCP 和 NAT 工作)。
联网:
拥有来自其他网络的路径——包括互联网上的任何地方——现在这是一个完全不同的故事,比编写应用程序更难。在路由器的 NAT 和运营商级 NAT 之间,这件事变得非常困难。
| 归档时间: |
|
| 查看次数: |
12845 次 |
| 最近记录: |