ec2共享www文件夹

时间:2011-06-20 10:06:22

标签: linux apache amazon-ec2 amazon-web-services

以前没有问过这个问题,虽然我已经搜索过,发现没有任何东西像这样......

首先,我的问题:我在弹性Load Balencer后面运行了2个EC2 linux实例。它运作良好!非常满意。

在服务器上放置/更新应用程序代码时,我的问题就开始了。目前,我正在修改我本地机器上的代码。压缩它,将其上传到我的个人主机,然后Wget'ing到每个ec2实例并解压缩..

有更简单的方法吗?我能够创建某种跨越两个实例的共享文件夹吗?

简而言之:在2台服务器上更新WWW根目录的简单方法是什么?

非常感谢,

汤姆。

3 个答案:

答案 0 :(得分:4)

1。解决此问题的一种方法是使用continuous integration可以使用rsync传输文件并在服务器上构建项目,这不仅仅是然而。

有很多可用的插件(PHPUnit,代码覆盖率,代码分析等):

Jenkins

如何:

  1. Install Jenkins
  2. 使用Jenkins配置您的项目(可能您的代码应该在某些代码版本系统中)
    1. 配置服务器,项目路径,作业前,作业后等。
  3. 安排工作/工作。
  4. 就是这样,完成了。
  5. 参考:

    1. 配置:
      1. configuring - ex.1
      2. Initial configuration
        1. Configuring the jobs
    2. http://agile.dzone.com/news/continuous-integration-php
    3. 2。您需要代码版本控制,它可以帮助您维护稳定的代码和让他们在所有环境中平等地交付。

      有两个主要版本系统可用,一个是Git& Subversion

      可以做些什么(适合您的情况):

      1. 创建存储库
      2. 在存储库中创建项目
      3. svn add <files>&amp;将所有代码转储到此项目中svn commit .
      4. 登录您的EC2机器。
      5. 运行svn checkout <repository-url-to-project>,它将获取计算机上的代码。
      6. 如果您对任何文件进行了更新/更改,则:

        1. 您可以向存储库提交(添加)一些更改。
        2. 在您从存储库中签出代码的计算机中运行svn update <modified-or-newly-created-file-path>
        3. 在任何其他EC2机器中执行以下步骤。

          <强>的cheatsheet

          GIT - http://help.github.com/git-cheat-sheets/ SVN - http://www.abbeyworkshop.com/howto/misc/svn01/

答案 1 :(得分:0)

使用Puppet等工具来维护您的服务器配置。

答案 2 :(得分:0)

@tornup

这是一个更可行的解决方案。如果您不熟悉JenkinsPuppet,则可以执行以下操作:

转到bitbucket.com并启动存储库

在那里创建一个存储库

使用sourcetree将本地源代码推送到该存储库

从您的两台机器上执行git pull(按照bitbucket说明)

之后,修改本地代码,进行多次提交以进行测试

然后转到两台服务器并发出git pull

........................................ bitbucket.repo/your main source
...........local...server1.server2 share the same source as bitbucket repo

从本地推送到bitbucket repo

一旦您从此设置中毕业,请尝试puppetjenkins* - puppet更适合站起来的服务器。