Я следил за инструкцией по установке, доступной здесь: http://www.excelsior-usa.com/articles/tomcat-amazon-ec2-basic.html
Я запускаю экземпляр AWS EC2 с Amazon Linux AMI (Amazon Machine Image): Amazon Linux AMI 2014.03.2 (HVM) - ami-d13845e1
Я установил Java 7 на машине:
${JAVA_HOME}/bin/java -version
java version "1.7.0_65"
OpenJDK Runtime Environment (amzn-2.5.1.2.43.amzn1-x86_64 u65-b17)
OpenJDK 64-Bit Server VM (build 24.65-b04, mixed mode)
И я установил Tomcat7. Когда я запустил сервер и попытался подключиться к своему адресу компьютера на порт 8080, я получаю пустую страницу или запрос просто зависает. Я установил все пакеты Tomcat7 (см. Шаг № 5 в статье, связанный в начале этого сообщения), и поэтому я должен увидеть домашнюю страницу Tomcat по умолчанию (я был бы даже доволен кодом ответа 400!).
Я могу подтвердить, что моя группа безопасности верна (я ранее запускал Jetty с порта 8080 с той же группой безопасности). Я также выполнил команду руководства, чтобы проверить, работает ли tomcat7 и слушает порт 8080:
$ sudo fuser -v -n tcp 8080
USER PID ACCESS COMMAND
8080/tcp: tomcat 1669 F.... java
Когда я попытался запустить команду версии, я получил очень странный ответ:
$ sudo service tomcat7 version
/usr/sbin/tomcat7: line 21: .: /etc/sysconfig/: is a directory
/usr/sbin/tomcat7: line 25: cd: HOME not set
Error: Could not find or load main class org.apache.catalina.util.ServerInfo
Я пытался использовать Google для решений, и я пробовал такие вещи, но ничто не привело к успеху. Я не уверен, что вышеприведенное сообщение, которое я получаю от версии, связано с тем, почему мой tomcat7 не работает, но это единственное, что я могу придумать, чтобы попробовать и устранить неполадки.
Кто-нибудь сталкивается с подобным? У кого-нибудь есть идеи, что может быть неправильным? Кто-нибудь еще печально, когда они следуют за замечательным гидом, чтобы сделать что-то "легкое", и все равно не работает? : -P
В качестве примечания, я успешно установил Tomcat7 на своей локальной машине Windows7 через файл.exe, и он прекрасно работает. Я пытаюсь развиваться локально, а затем нажимаю на свою веб-службу Amazon, но мне кажется, что я должен сначала решить эту проблему.
Я могу подтвердить проблему, с которой вы столкнулись. Тем не менее, я отлично работал с Oracle JDK. Я выполнил следующие шаги:
создать экземпляр из ami-d13845e1
удалить существующий OpenJDK: yum -y remove java-1.7.0-openjdk
Загрузите и установите Oracle JDK: http://download.oracle.com/otn-pub/java/jdk/7u65-b17/jdk-7u65-linux-x64.rpm
Примечание: загрузка Oracle JDK сама по себе является болью. его просто не весело загружать его с помощью команды Linux wget
. Oracle заставляет вас принять условия. Поэтому выясните свой собственный способ загрузки этого файла.
Установлен Oracle JDK: rpm -ivh jdk-7u65-linux-x64.rpm
Проверьте версию java:
# java -version
java version "1.7.0_65"
Java(TM) SE Runtime Environment (build 1.7.0_65-b17)
Java HotSpot(TM) 64-Bit Server VM (build 24.65-b04, mixed mode)
Проверьте выше вывод, что он говорит "HotSpot"....
Как только это будет сделано, я установил tomcat (http://www.trieuvan.com/apache/tomcat/tomcat-7/v7.0.55/bin/apache-tomcat-7.0.55.tar.gz) из источника.
BTW, я всегда использую netstat -anp | grep 8080
netstat -anp | grep 8080
вместо user -v -n tcp 8080
.
Суть в том, что I resolved this issue by removing OpenJDK and installing Oracle JDK.
Это суть.
Если вам нужны шаги по установке tomcat из источника, то дайте мне знать.
EDIT: в соответствии с запросом. Ниже приведены шаги по установке Tomcat из источника:
Загрузите Tomcat и переместите его в /usr/share/
:
# wget http://www.trieuvan.com/apache/tomcat/tomcat-7/v7.0.55/bin/apache-tomcat-7.0.55.tar.gz
# tar -xvzf apache-tomcat-7.0.55.tar.gz
# mv apache-tomcat-7.0.55 /usr/share/
Создайте сценарий /etc/init.d/tomcat
как /etc/init.d/tomcat
ниже:
#!/bin/bash
# description: Tomcat Start Stop Restart
# processname: tomcat
# chkconfig: 234 20 80
JAVA_HOME=/usr/java/default/
export JAVA_HOME
PATH=$JAVA_HOME/bin:$PATH
export PATH
CATALINA_HOME=/usr/share/apache-tomcat-7.0.55
case $1 in
start)
sh $CATALINA_HOME/bin/startup.sh
;;
stop)
sh $CATALINA_HOME/bin/shutdown.sh
;;
restart)
sh $CATALINA_HOME/bin/shutdown.sh
sh $CATALINA_HOME/bin/startup.sh
;;
esac
exit 0
Выполните команды ниже (они должны быть понятны):
# chmod 755 /etc/init.d/tomcat
# chkconfig --add tomcat
# chkconfig tomcat on
# chkconfig --list tomcat
Я обычно останавливаю iptables на время, чтобы избежать ненужных проблем:
# service iptables stop
Запустите Tomcat:
# service tomcat start
Убедитесь, что tomcat запущен:
# netstat -anp | grep 8080
tcp 0 0 :::8080 :::* LISTEN 1704/java
Это !!
Существуют различные методы установки tomcat. Я всегда следую этому методу для установки и запуска tomcat как службы.
$TOMCAT_HOME/bin/startup.sh
но я хотел бы иметь возможность использоватьservice tomcat7 start
. Можете ли вы предоставить руководство по установке?