【问题标题】:What is the right approach to deploying a production server?部署生产服务器的正确方法是什么?
【发布时间】:2012-02-17 13:18:33
【问题描述】:

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

它是从零开始构建的,我根本不是 PHP 开发人员。

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

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

有什么方法可以减轻负载吗?我有一个数据库,是否可以让另一台服务器使用同一个数据库来减轻第一个数据库的负载? (当然,这些都是一般性和长远的问题,但我想更全面地了解我在这里所做的事情)

除了我自己的代码之外,我还应该了解什么安全措施吗?例如,如果我可以追踪黑客攻击?

【问题讨论】:

    标签: php mysql deployment


    【解决方案1】:

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

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

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

    安全性,这是另一个非常模糊的问题,安全性因您的需求而异,例如银行与夫妻网站。我想研究网络是安全的,并且始终保留在我的这个,不要过度杀戮,完成任务时安全性已经足够了。

    【讨论】:

      【解决方案2】:

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

      根据您的服务器,您可以尝试在命令行中运行诸如“top”或“topaz”之类的命令,如果安装正确,这适用于 Unix 机器,并且会告诉您有多少 CPU 可用以及如何使用正在使用很多东西。如果它可以处理您向它投掷的流量,这将给出一个粗略的想法。处理流量和管理资源本身就是一个巨大的领域,可以做很多事情,例如负载平衡,例如,如果您有多个服务器,您可能会发现 VMWare 在这里也很有帮助。根据您的应用程序的用途和使用对象,还可以使用调用间隔技术。是的,您可以在多台服务器之间共享一个数据库。

      您可以购买专业的监控软件来显示您的服务器有多忙,这可能会有所帮助,例如,只需搜索“监控软件”即可。

      安全是另一个巨大的领域,解决方案取决于您部署的内容以及谁将使用它。您应该了解您的应用程序可能遭受的所有可能的攻击方法,并计划您的代码来应对这种情况,例如 SQL 注入、会话劫持等。

      您需要应急计划以防黑客入侵您的网站,最好还需要灾难恢复计划,具体取决于您的应用程序的重要性。

      最好的建议是在开始之前彻底计划好所有事情,并让你的老板批准这些计划来保护你自己。

      如果您有更准确的问题,我可以给出更准确的答案,我曾经在一家全球性银行工作,并且有将关键代码发布到生产服务器的经验,并且伴随着所有的繁文缛节

      ;-)

      【讨论】:

        猜你喜欢
        • 2018-12-05
        • 2019-05-25
        • 1970-01-01
        • 2019-04-15
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2018-02-04
        • 2017-05-14
        相关资源
        最近更新 更多