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

这是关于开始Web服务器pipe理的build议规范问题 。

假设你是一个开始的SysAd,对WebOps来说是新手,或者是一个很less或没有经验丰富的Web服务器SysAd支持的小团队(现在无法负担),应该如何为您的企业configuration和保护Web服务器?

在我们开始之前:

有质量的人可以节省你的钱。 就像有一个好的律师 (可能NSFW发誓)或一个会计师,拥有一个高质量的SysAd可能会节省你的钱,通常只需帮助你避免代价高昂的错误。 您现在可能没有资金来支付专业知识,但只要可以,您就应该投资。

这个问题没有简单的答案。 如果你是一个问这个问题的人,那么你必须认识到,这个问题是专业人士投入多年的学习和实践的核心。对开发人员的类似问题是“如何编写Web应用程序? 当然,我们可以指示你安装Ruby-on-Rails和RoR“Hello World”。 虽然这将“回答这个问题”,但它并不能真正帮助你。 这个Q / A是一个实际帮助你的尝试。

你应该知道:

Web服务器pipe理是一个很大的话题,它本质上与许多不同的学科交织在一起。 为了做到这一点,您将需要对TCP / IP,主机操作系统,WebServer应用程序以及对运行应用程序堆栈的一些理解有基本的了解。

准备阅读。 很多

确定您的需求:

要求

  • 你运行一个普通的静态网站(也许有一些Javascript效果),或者
  • (更可能)你是否正在运行恰好有一个Web界面的应用程序?
  • 你有持续的数据吗? (你需要一个数据库吗?)
  • 是否有涉及用户凭据? 还有另外一个原因,你需要连接用户和网站之间的安全吗? (SSL)
  • 您是否正在处理任何types的付款? 除了具有SSL要求之外,还需要考虑其他因素(取决于地区)。 这些也将根据您使用的付款处理器而有所不同。

确定你的堆栈:

你打算怎么写和运行这个?

  • 平台(Windows,Linux,其他Unix等)
  • 应用程序需求(Ruby / Rails,Python,Perl,PHP,.NET等)
  • 数据库(…)
  • caching? (老实说,现在不要担心这个,要知道这样可以解决一些问题,并且可以创build其他的,这是一个性能问题,而现在你只是试着开始。

其中一些select会告诉其他人。 例如,如果你正在运行一个.NET应用程序,你可能想使用MSSQL和IIS; 如果您正在运行Ruby on Rails,则可能需要Linux服务器; 等等…

了解您的产品:

现在你已经决定了你的栈的样子,你需要了解它。 这是你应该花大部分时间的地方。 search“configuration[产品]”或“[产品]pipe理员指南”应该为您提供充足的资源。

例如,如果你在Ubuntu上运行Apache,你应该完全阅读:

寻找类似的文档,文章,博客文章。

安装最低限度:

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

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

保护网站:

  • 确保最小的权限来运作。 这不仅适用于文件系统,还适用于服务和stream程
  • 保持服务器端口不需要的服务。 (再次,只安装最低限度。)
  • 限制到内部环境的应用程序接口(例如,如果在同一台服务器上运行Web应用程序(例如Rails),将其限制为仅侦听本地主机)

闭幕式:

这只是你应该做的一个网站启动和运行的开始。 这甚至不会涉及维护服务器或如何处理扩展问题(如果您的项目成功)的问题,也没有知识渊博的SysAd将为您解决的其他无数问题。