Я новичок в Java для Интернета, и мой вопрос в том, могу ли я использовать Java и PHP вместе? Я знаю, что могу использовать их вместе, давайте перефразируем вопрос, есть ли способ получить к ним доступ через один и тот же порт?
Java использует Tomcat, может ли PHP также использовать Tomcat?
Tomcat не поддерживает PHP, и (если что-то не случилось в недавнем прошлом) не существует "смешанного" сервера приложений, поддерживающего одновременно java и php. Однако вы можете установить и настроить сервер Apache для PHP. Таким образом, вы получаете сервер приложений PHP, настроенный на некоторый порт. Затем вы настраиваете этот Apache для перенаправления определенных шаблонов URL-адресов на сервер Tomcat (например, все URL-адреса с префиксом / java / app / * переходят в Tomcat, все остальные обрабатываются Apache напрямую). Теперь эффективно, если вы развертываете веб-приложения, выполненные на PHP, на сервере Apache и веб-приложения Java на сервере Tomcat, все они будут «отвечать» на один и тот же порт.
В дополнение к предложению Андрея установите стандартную комбинацию Apache + PHP для прослушивания на [your-ip]: 80 и / или [your-ip]: 443, а затем установите Tomcat, прослушивая на localhost: 8080. Затем просто сделайте это в обычной конфигурации Apache:
<Location /myjavapps>
order deny,allow
allow from all
ProxyPass http://localhost:8080/
ProxyPassReverse http://localhost:8080/
</Location>
Вы можете использовать mod_jk или proxy_pass в своей конфигурации apache для взаимодействия с вашим приложением tomcat через порт 80.
т.е.
ProxyPass / сервлеты ajp: // localhost: 8009 / servlets ProxyPassReverse / servlets ajp: // localhost: 8009 / servlets
Это будет означать / servlets - apache отправляет запросы на tomcat
PHP - это скомпилированный модуль, который определяется там, где вы хотите, чтобы он находился на вашем виртуальном хосте.