Я хочу установить / настроить apache tomcat на порт 80 вместо 8080. Я запускаю Nginx на порту 80 и остановил службу Nginx.
Я изменил Shutdown, Connector port с 8005 на 8008 и 8080 на 80 соответственно. Когда я использовал ./bin/startup.sh, он не показывает ошибок, а в catlina.out написано «org.apache.catalina.startup.Catalina.start Запуск сервера через 1405 мс», но когда я получаю доступ http: // localhost он говорит ERR_CONNECTION_REFUSED
Предложите мне, если я делаю что-то не так.
Спасибо
Этот вопрос возникает часто. Предположим, вы хотите использовать некорневой подход.
Использовать authbind
, если вы не хотите использовать IP6.
Использовать iptables
и перенаправить порт 80 на 8080.
Настройка Apache / Nginx в качестве обратного прокси занимает больше времени и добавляет больше сложности, чем необходимо.
Если вы хотите, чтобы tomcat привязался к порту ниже 1024, краткий ответ - вам придется запускать его как root (в системах Unix). Это особенно плохая идея.
Однако есть несколько способов обойти это.
Одна из альтернатив - иметь обычный веб-сервер на порте 80 (и 443) и использовать один из многих способов перенаправления трафика на tomcat. Я не знаком с nginx, но, вероятно, есть способы его использовать. В Apache httpd вы можете использовать mod_jk, mod_proxy_ajp или mod_proxy_http для пересылки запросов от Apache к tomcat. Конечно, вы бы использовали брандмауэр tomcat, чтобы он не был доступен, если запросы не прошли через Apache.
Если вы хотите запустить только tomcat и ничего больше, вы можете изучить jsvc, который может запускать Tomcat как root, а затем понижать его до непривилегированного пользователя после привязки порта. Проверьте комментарии: я никогда не использовал его, и, по крайней мере, у @raupach есть аргумент против (его возраст). Вы также можете просто использовать iptables для перенаправления порта 8080 на порт 80. Однако вы должны проверить, заставляет ли Tomcat понять, что он получает запросы на порт 80: если tomcat по-прежнему считает, что его ответ на 8080, он будет генерировать URL-адреса, которые попадают в 8080 вместо 80 - iptables - еще один метод, который я никогда не использовал.
Первый вариант настройки (обратный прокси) требует больше работы, но имеет еще несколько преимуществ - например, в вашем распоряжении mod_rewrite и другие полезности. Мне он нравится больше, чем jsvc. Вы также можете обслуживать статические файлы через Apache, не беспокоя Tomcat. Это легко может быть шагом 1 в настройке производительности.
Если вы пытаетесь запустить catalina.sh как пользователь без полномочий root. Вы не может привязать к порту 80 как обычный пользователь.
Однако это не должно быть проблемой, если вы используете пакет tomcat, предоставленный вашим дистрибутивом.