如何部署和运行需要在云提供商上进行频繁更新的php应用程序

时间:2012-08-26 10:22:06

标签: cloud cloud-hosting elastic-beanstalk openshift phpfog

我正在努力创建一个php应用程序 - 该应用程序将有两种类型的更新 -

(a)应用程序本身需要定期更新 - 管理应用程序的用户将收到更新通知,他可以初始化更新。

(b)最终用户可以上传自己的文件(如主题的自定义css / js文件),以便他的自定义设计用于呈现php应用程序。用户还可以将自己的文本内容添加到应用程序

现在,我想将此应用程序部署到云提供商 - 最好使用像Amazon Elastic beanstalk,或者PHP Fog或Red Hat Open Shift这样的PaaS--我对此感到困惑的是以下内容 -

(1)根据我的理解,要部署php应用程序的初始版本,我首先必须创建应用程序的本地安装,正确配置,然后将此配置版本部署到云提供程序。但是,如上所述,我是否必须初始化本地安装的每个更新,然后将新版本上传到PaaS平台?

(2)现在,通过参考用户对已在云上运行的应用程序版本所做的更改,我如何确保他对应用程序所做的更改(无论他做出的任何更改是存储在数据库中或他上传的那些文件)保持不变?如果我只是上传我本地的版本(我使用定期更新升级) - 那么我将丢失工作者在之前版本的云版本上所做的文件/数据库更改?如何保持这些文件+数据库更改不变?

我能想到的一件事是使用我想用于云版本的数据库,即使是本地版本的应用程序 - 这样即使用户进行更改(我指的是更改) (即使我将新版本上传到云端) - 对数据库所做的更改仍然完好无损......现在我只需要考虑用户上传的文件 - 即使我是在此更正,我如何保存这些文件?如果我不正确,我如何保留最终用户在数据库和文件中所做的更改?我该怎么做并升级到我的php应用程序。

1 个答案:

答案 0 :(得分:0)

我知道这是一个老问题,但我会提出一些建议:

1。)是的,您需要从本地工作站发起所有更新,而不是使用git,具体取决于您选择的PaaS。

2.。)如果您有用户对应用程序(代码)进行更改,那么您需要授予他们访问权限以使用git或您正在使用的任何vcs。或者,您只需使用SFTP或SCP上传文件,每个人都可以根据这个概念工作。

提供有关您正在谈论的确切类型的应用程序的更具体信息可能会有所帮助。我不确定您是在谈论让您的用户更改运行应用程序的代码,还是让他们更新内容,例如使用drupal / wordpress。