Среда тестирования движка Multi-CFML
Есть ли у кого-нибудь хороший способ настроить несколько механизмов CFML и их версии вместе в подходящей среде для перекрестного тестирования приложений на основе CFML.
В идеале я хотел бы, чтобы это был сервер на основе Ubuntu, так как я использую его с VirtualBox (под Windows 7). Кроме того, было бы полезно, если бы можно было переключаться между ними, чтобы мой ноутбук мог работать с одним за раз, а не со всеми, работающими одновременно. Я думаю о следующем:
- Adobe ColdFusion 9
- Adobe ColdFusion 10
- Railo 3.3.x
- Railo 4.x
- OpenBD 2.x
Я также хотел бы получить их обслуживание из одного общего каталога, поэтому мне не нужно иметь копию кода для каждого механизма. ура
3 ответа
Вы упомянули о возможности "переключаться между, так что мой ноутбук может справиться с одним за раз, а не со всеми запущенными одновременно", я предполагаю, что вы думаете, что каждый из них будет работать на другой виртуальной машине, или что они могут потребовать огромное количество памяти. Я не думаю, что вам нужно беспокоиться об этом. Если вам не требуется, чтобы они находились на разных машинах, я думаю, вы могли бы сделать все это на одной виртуальной машине и с одним экземпляром контейнера сервлета (например, Tomcat).
С точки зрения высокого уровня, вот как я бы это сделал.
- Установить Tomcat
- Создайте или загрузите.wars для каждого из двигателей.
- Развертывание сказал.wars для этого одного экземпляра Tomcat
- Настройте Tomcat на использование каждого из этих сервлетов с другим именем хоста (server.xml)
- Создайте каталог кодов за пределами Tomcat для одной копии кода
- Установите символическую ссылку в каждом веб-приложении, чтобы связать папку с кодом в сервлете.
После этого вы сможете получить доступ к одному и тому же источнику от каждого механизма, посетив разные имена хостов в браузере.
Я могу что-то упустить. Прошло много времени с тех пор, как я создал что-то подобное. Скорее всего, вам понадобится несколько настроек (настройки JVM, переключение на Sun/ORACLE JVM против OpenJDK и т. Д.).
Я не думаю, что запуск такого количества двигателей вызовет у вас большие проблемы. По моему опыту, для разработки у меня было 3 экземпляра CF9, работающих на Tomcat, использующих только 189 МБ ОЗУ. И каждый дополнительный экземпляр не увеличивал это число на 1/3. Гораздо меньше. Меня не удивило бы, если бы вы могли запускать все это с менее чем 512 мегабайт оперативной памяти. Возможно, даже 256 Мб, если вам действительно больно по памяти.
Надеюсь, это поможет.
Для ColdFusion 10, Railo и OpenBD вы бы хотели развернуть их с помощью автономных установок Tomcat, Jetty или JBoss.
ColdFusion 9, вероятно, самое простое решение - настройка "Настройка многосерверного предприятия".
С такими установками они практически не зависят от платформы.
Следует помнить о том, что веб-сервер, прокси-порт и порты jndi используются каждой установкой, но только если вы хотите запускать более одного сервера одновременно.
После этого вам надоело проксировать от apache или Nginx до экземпляров сервера и коннектора, который вы хотите использовать.
Не знаю, поможет ли это...
Поскольку вы упомянули VirtualBox, я поделюсь своим личным подходом к этой задаче. Он включает в себя несколько довольно простых шагов:
- Установите Ubuntu Server в качестве гостя VirtualBox (хост также Ubuntu).
- Установите только базовое программное обеспечение, такое как JVM и обновления. Настроить виртуальный
- сетевой компьютер в качестве мостового адаптера для использования моего подключения Wi-Fi.
- Настройте мой маршрутизатор Wi-Fi DHCP для назначения статического IP-адреса для MAC-адреса виртуальной машины.
- Добавить запись в мою (хост) систему хостов:
ip_assigned_to_vm virtual.ubuntu
- Установите гостевые дополнения и смонтируйте мой каталог ~/www внутри машины для доступа к веб-приложениям.
Теперь, когда мне нужна другая машина для экспериментов или какая-то другая конфигурация программного обеспечения (я тестировал ACF 10 и Railo 4 таким образом), я делаю две вещи:
- Клонировать существующую чистую машину.
- Убедитесь, что он использует тот же MAC-адрес с мостовым интерфейсом.
Вот и все.
Неважно, на каких машинах я работаю, все они могут быть доступны как http://virtual.ubuntu/ (конечно, для гостя требуется правильная настройка веб-сервера). В то же время они независимы, и совершенно безопасно делать все, что я захочу, и тестировать все, что работает в Ubuntu.
Очевидным недостатком является то, что я могу запускать только одну машину за раз, плюс гораздо больше места на диске. Не проблема для меня.
Я пробовал подход с Tomcat и несколькими WAR, но у него есть пара проблем: я не могу использовать разные настройки JVM и Tomcat, даже если я испортил настройку - все хосты Tomcat не работают.
Надеюсь это поможет.