Windows 服务器和 LAMP 服务器之间具体有哪些区别,我应该了解哪一个?

Windows 服务器和 LAMP 服务器之间具体有哪些区别,我应该了解哪一个?

在过去的 6 到 8 个月里,我一直在使用 .NET。我了解了 Web 服务(尽管我不是专家),最近我对 Web 服务器产生了浓厚的兴趣,我真的很想建立自己的服务器。我有一台运行 Windows Server 2008 的旧台式计算机,但我住在宿舍里,没有静态 IP。我知道有解决方案,但我想先更好地了解我在做什么。我想设置的是一台多用途服务器,可以用来托管网站/Android 应用程序。

我听说 LAMP 服务器比 Windows/IIS 服务器更具可定制性(因此通常更高效)。这是真的吗?由于 Apache 如此普遍,我真的很想更多地了解它的工作原理,并真正学习如何使用它。唯一让我对采用 LAMP 路线感到紧张的是命令行(我 19 岁,在 GUI 的环境中长大)。我以前使用过 unix 命令行,并且熟悉基本命令/文件系统导航,但从命令行配置诸如 Web 服务器之类的东西让我头晕目眩。我可以获得几乎所有 Microsoft 软件的免费副本(必须喜欢做学生),但我不想仅仅为了 GUI 而牺牲我对 Web 服务器的理解。

有什么建议吗?我担心使用 Windows 会让我永远无法真正理解 Web 服务器,因为一切都会为我封装和简化。我还想知道一台出色而高效的服务器需要什么。有什么建议/书籍/资源推荐吗?

答案1

您选择的平台(Windows IIS、Linux 和 Apache)主要取决于您的需求。目前,您的需求基本上不存在,因为您只是设置一个 Web 服务器来试用。选择与您的长期目标最相关的技术堆栈(由于您已经使用过 .NET,因此可能会选择 Windows IIS)并使用它、深入研究和学习它。

使用 LAMP 堆栈并不会本质上让您成为超级管理员(就 LAMP 而言可能是超级管理员...),使用 IIS 也不会本质上让您成为超级管理员"never really understand web servers because everything would always be encapsulated and simplified for me"

你想学习多少以及你想理解多少给定的技术,很大程度上取决于你的兴趣和动机,而不是技术本身。

答案2

您想设置一个 Web 服务器吗?那就去做吧。这不需要花一年时间去学习,您可以在几分钟内运行 IIS,并在一两个小时内在虚拟机中安装 Linux 并使用 Apache 配置。

从命令行配置 Apache 大致意味着“yum install apache”,然后“使用文本编辑器编辑 /etc/httpd/httpd.conf”(特定于 Linux 发行版)。它不是一串庞大的控制台命令来更改大量设置。

我听说 LAMP 服务器更具可定制性(因此通常更高效)

这并不合理。更可定制,是的,更高效,完全取决于你对“高效”的定义。LAMP 中的 P 通常指“PHP、Perl、Python、(Ruby)”,如果你声称它们比 IIS/ASP.Net 更高效,你会遭到一些争论。

如果您想要一个轻量级(快速、高效?)的网络服务器,nginx 更值得一看。

对于该走哪条路,有什么建议吗?我担心使用 Windows 会让我永远无法真正理解 Web 服务器,因为一切都会为我封装和简化。

什么,没有人知道 IIS 是如何工作的?

我还想知道如何才能打造出一台出色而高效的服务器。

StackOverflow(Serverfault.com 及其朋友)在 Windows/ASP.Net/SQL Server 上运行,并且网络上有一些关于他们如何实现它的有趣帖子(例如http://highscalability.com/blog/2009/8/5/stack-overflow-architecture.html

答案3

根据您所寻求的理解水平,有几种方法可以解决这个问题。

  • 为了全面深入地理解,请仔细研究代码。显然,你需要一些高超的技能才能做到这一点。

  • 否则,最好的学习方式就是阅读和尝试。以不同的配置建立网站。免费为一些朋友的网站提供托管服务(只要确保他们知道这是实验性的),托管一些你自己的网站。尝试不同的功能。阅读在线文档。在图书馆随便拿一本关于该主题的书,在通勤时阅读。

此外,Windows Web 服务器还具有一些非常高级的功能。认为 LAMP 必然具有更大的可定制性并不总是正确的。我自己是 Linux 用户,但我见过 Windows 用户使用 IIS 做非常高级的事情。使用 GUI 可以消除 1337-command-line-mad-skills 的印象,但请记住,这可能只是一种印象。

举个例子,据我所知,Stack Exchange 网络(包括这个网站)是在 Windows Web 服务器上运行的。这表明你可以用 Windows 做很多事情。

答案4

如果你学习并使用LAMP,你会比学习Windows+IIS更能理解各种技术。

相关内容