部署生产服务器的正确方法是什么?

时间:2012-02-17 13:18:33

标签: php mysql deployment

我正在开发一个主要用于注册用户的服务器应用程序,并根据请求提供服务。

它是从头开始构建的,我不是一个基本上是PHP开发人员。

我必须说这是我第一次将作品部署到网上。 第1阶段即将结束,我想知道您认为部署此服务器的最佳方法是什么。

  • 如何在生产服务器上进行调试?如何将所有操作记录到日志文件中?
  • 我应该如何处理资源和流量?我怎么知道服务器是否达到了极限?

任何平衡负荷的方法?我有一个数据库,是否可以让另一台服务器使用相同的数据库从第一个数据库中取消负载? (当然这些是一般性的和长镜头的问题,但我想更全面地了解我在这里做的事情)

除了我自己的代码之外,我还应该了解一些安全措施吗?比如我可以追查黑客企图吗?

2 个答案:

答案 0 :(得分:0)

如果您要问所有这些基本问题,那么您不应该部署生产服务器。但不用说,你是。

在生产服务器上调试通常绝不是一个好主意,这就是QA或开发或测试服务器的用途。如果您正在部署Apache,PHP,MySQL的组合,通常用于PHP,那么有一个php_error.log文件供您查看。它的位置基于您的httpd.conf

处理资源流量取决于您的数量,您必须自己回答这个问题。谷歌MySQL配置优化,你会发现许多有用的技巧,以正确配置和优化它的速度,当你达到你的极限时,你会知道。

安全性,这是另一个非常模糊的问题,安全性根据您的需求而有所不同,例如银行与妈妈和流行音乐网站。我猜研究网络安全,并且始终保持在我的这个,不要过度杀戮,安全性在完成任务时足够好。

答案 1 :(得分:0)

如上所述,您不应在生产服务器上进行调试,所有测试都应在您的开发环境中完成。但是,当然,您应该在生产服务器上彻底测试所有内容并修复可能出现的任何问题。通过确保您的开发环境在设置等方面尽可能接近实时环境,您可以降低风险,但您永远无法完全消除任何潜在问题。

根据您的服务器,您可以尝试在命令行运行命令,例如“top”或“topaz”,如果安装正确,它可以在Unix机器上运行,并告诉您有多少CPU是免费的以及如何正在使用很多。如果它可以处理你投掷的流量,这将给出一个粗略的想法。处理流量和管理资源本身就是一个很大的领域,可以做很多事情,例如负载平衡,例如,如果你有多个服务器,你可能会发现VMWare也很有帮助。还有一些呼叫间隙技术可用于降低您的应用程序的用途以及使用者的用途。是的,您可以在多个服务器之间共享一个数据库。

您可以购买专业的监控软件来显示服务器的繁忙程度,例如搜索“监控软件”。

安全性是另一个巨大的领域,解决方案取决于您正在部署的内容以及将要使用它的人员。您应该了解应用程序可能遇到的所有可能的攻击方法,并计划您的代码来应对此问题,例如SQL注入,会话劫持等。

您需要应急计划,以防黑客破坏您的网站,理想情况下也会出现灾难恢复计划,具体取决于您的应用程序的重要程度。

最好的建议是在开始之前彻底规划一切,让老板批准自己的计划。

如果您有更精确的问题我可以提供更准确的答案,我曾经在全球银行工作,并且有将关键代码发布到生产服务器的经验,其中包含所有与之相关的繁文缛节

- )