Изолировать версии PHP на AWS EC2
Я на самом деле использую PHP 5.3 во всех моих проектах. Но по всем причинам, которые вы знаете, я хочу обновить до PHP 5.4 (или 5.5).
Мы также собираемся перейти на AWS EC2 в ближайшее время, на "нормальный" Linux, например Debian Wheezy.
Но проблема в том, что у нас есть некоторые старые проекты, которые мы не можем перенести на PHP 5.3 по некоторым причинам, и мы не можем удалить их также по некоторым другим причинам.
Поэтому мне было интересно, как лучше изолировать эти проекты в нашем экземпляре AWS EC2, чтобы использовать несколько версий PHP/Apache.
Я думал об использовании Docker, поэтому мы можем легко установить другой PHP / Apache, чем в основной системе. Кроме того, зная, что это своего рода виртуальная машина, звучит хорошо, поэтому она не окажет никакого влияния на основной "сервер".
Это лучшее решение?
РЕДАКТИРОВАТЬ: Кроме того, мы не можем позволить себе другой экземпляр EC2 по некоторым причинам стоимости
2 ответа
Вы не упомянули ОС, но предполагая, что она основана на Linux, лучшим решением будет создание нескольких пользователей и установка разных версий php путем компиляции в домашнем каталоге пользователя соответствующего приложения.
Например, создайте пользователей user1 (домашний каталог:/home/user1/) и user2 (домашний каталог:/home/user2/). Теперь переключитесь на user1 и установите php5.3 и apache путем компиляции по пути /home/user1/app/php и /home/user1/app/apache соответственно. Сделайте то же самое для user2, но на этот раз с другой версией php. Помните, что apache должен работать на разных портах, чтобы избежать конфликтов портов. Вы можете установить третий apache в качестве обратного прокси-сервера с несколькими vhosts, которые будут принимать трафик через порт 80 и отправлять их в различные серверные apache на основе запроса.
Трафик будет таким
client http request <--> apache rp <---> app1 based on apache1 or app2 based on apache2
С уважением
Раджарши Халдар
Почему бы не использовать php-fpm и установить два из них? Затем вы можете решить, какой из них использовать с каким vhost. Таким образом, каждый vhost может иметь свою собственную версию php. И в этом случае у вас работает только 1 сервер Apache.
Это должно быть довольно легко найти учебник в Google об этом.