运行 Web 服务器的基本知识是什么?

运行 Web 服务器的基本知识是什么?

这是一个提议典型问题关于开始 Web 服务器管理。

假设您是一个初级 SysAd,刚接触 WebOps,或者是一个没有或只有很少经验的 Web 服务器 SysAd 支持的小团队(并且现在无法负担),您应该如何为您的企业配置和保护 Web 服务器?

答案1

开始之前:

拥有高素质人才可以为你节省资金。就像拥有一位优秀的律师(可能不适合在工作场合骂人)或会计师,拥有一个高质量的 SysAd 可能会为你省钱,通常只是帮助你避免代价高昂的错误。你现在可能没有钱支付专业知识,但只要你有钱,你就应该尽快投资。

这个问题没有简单、单一的答案。如果你问了这个问题,你必须意识到这个问题是专业人士投入多年研究和实践的领域的核心。开发人员的类似问题是“如何编写 Web 应用程序?”;当然,我们可以为你指明安装 Ruby-on-Rails 和 RoR“Hello World”的方向。虽然这会“回答问题”,但实际上不会帮助你。这个问答是试图真正帮助你。

你应该知道:

Web 服务器管理是一个大主题,本质上与许多不同的学科交织在一起。要做好它,您需要对 TCP/IP、主机操作系统、Web 服务器应用程序有基本的了解,并对运行应用程序堆栈有一定的了解。

做好阅读的准备。很多

确定您的需求:

要求

  • 您正在运行一个简单的静态网站(可能带有一些 Javascript 效果),或者
  • (更有可能)您正在运行一个恰好具有 Web 界面的应用程序吗?
  • 您有持久数据吗?(您需要数据库吗?)
  • 是否涉及用户凭证?还有其他原因需要确保用户和网站之间的连接安全吗?(SSL)
  • 您是否处理任何类型的付款?除了 SSL 要求外,您还需要研究其他注意事项(取决于地区)。这些也会因您使用的付款处理器而异。

识别您的堆栈:

您将如何编写和运行它?

  • 平台(Windows、Linux、其他 Unix 等)
  • 应用程序要求(Ruby/Rails、Python、Perl、PHP、.NET 等)
  • 数据库 (...)
  • 缓存?(说实话,现在不用担心这个问题;请注意,这可以解决一些问题,但也可能引发其他问题。这是一个性能问题,现在你才刚刚开始。)

其中一些选择会为其他人提供参考。例如,如果您正在运行 .NET 应用程序,您可能希望使用 MSSQL 和 IIS;如果您正在运行 Ruby on Rails,您可能希望使用 Linux 服务器;等等...

了解您的产品:

现在您已经决定了堆栈的样子,您需要了解它。这是您应该花费大部分时间的地方。搜索“配置 [产品]”或“[产品] 管理指南”应该会为您提供大量资源。

例如,如果您在 Ubuntu 上运行 Apache,您绝对应该阅读:

寻找与您的堆栈类似的文档、文章和博客帖子。

安装最低限度的组件:

Apache 有大量的模块,但是如果您不打算使用 PHP(例如),请不要安装 mod-php。

这里还应该说明的是,如果是 Linux 服务器,则应避免安装 GUI;GUI 会占用大量系统资源。

确保网站安全:

  • 确保最低权限才能运行。这不仅适用于文件系统,也适用于服务和进程
  • 保持服务器端口禁用不需要的服务。(再次强调,仅安装最少的服务。)
  • 将应用程序接口限制在内部环境中(例如,如果在同一台服务器上运行 Web 应用程序(如 Rails),则限制它仅监听本地主机)

结束语:

这只是您为使网站正常运行所需要做的一些事情的开始。这甚至还没有涉及维护服务器的问题或如何处理扩展问题(如果您的项目成功了),也没有涉及知识渊博的 SysAd 将为您解决的其他无数问题。

相关内容