Наш текущий стек - Apache + Tomcat + MySQL, используя ProxyPass
AJP для отправки запросов от Apache к Tomcat. Мы также запускаем PHP для Wordpress на тех же сайтах, поэтому нам нужно работать .htaccess
файлы. В ответ на раздражающая проблема (см. эту страницу переполнения стека), мы рассматриваем альтернативные стеки. Обратите внимание, что нам обычно очень нравится apache, но эта проблема является препятствием для демонстрации: если мы не можем ее исправить, мы не можем использовать Apache.
Альтернативы включают:
На мой взгляд, решения делятся на два лагеря: лагерь чисто Java, такой как Glassfish; или разделенный лагерь, такой как наш текущий Apache + Tomcat. Нам нравится идея чистого Java-решения, поскольку меньшее количество движущихся частей должно означать меньше ошибок; но поддерживает ли какой-либо из них PHP, .htaccess
файлы и т. д.?
Теоретически мы могли бы сделать разделение другим способом - иметь простой интерфейс, который проксирует в Apache только те биты, которые нуждаются в этих функциях, - но на практике это будет 80% запросов.
Какие варианты предлагают люди?
Я сильно подозреваю, что ваша проблема связана с AJP.
Несколько недель назад я был на курсе с одним из основных разработчиков Tomcat (он его запускал), он посоветовал избегать AJP, mod-JK и т. Д. И придерживаться обычного HTTP-прокси-сервера.
Причины:
Мой совет, попробуйте использовать обычный HTTP-мод-прокси с вашей текущей настройкой. Для вас это наименьшее изменение, и вы перейдете к наиболее широко используемой и стабильной архитектуре развертывания Tomcat.
/ Ричи
Мой текущий предпочтительный стек - использовать nginx в качестве замены Apache. Везде, где это необходимо, php-fpm восполняет потребность в PHP. Такая установка отлично подходит для развертывания таких приложений, как Rails, Magento и SugarCRM.
Glassfish будет более масштабируемым, чем Tomcat, потому что он использует Grizzly (на основе NIO). У вас не так много вариантов, кроме Tomcat, Jetty или Glassfish, из-за требований Java. PHP можно запустить с помощью Quercus, но может быть лучше просто развернуть его с помощью Nginx.
На Java есть реализации PHP. Я знаю (но не использовал) вот этот. В блоге есть сообщение как установить на GlassFish (включая WordPress), но я предполагаю, что установка на Tomcat такая же. Что касается .htaccess, вы не написали, что именно у вас там есть, но если это для перезаписи URL, то есть UrlRewriteFilter кто делает то же самое с той же семантикой.
Чероки? где он ? http://www.cherokee-project.com/