Назад | Перейти на главную страницу

Установите Tomcat7 на EC2

Я пытаюсь установить Tomcat7 на инстанс Amazon EC2, но это не работает. Ниже представлен вывод консоли:

[ec2-user@ip-XXX ~]$ sudo yum install tomcat7
Loaded plugins: amazon-id, rhui-lb, security
Setting up Install Process
No package tomcat7 available.
Error: Nothing to do

Кроме того, я также хотел бы установить собственные библиотеки коннектора Tomcat.

[ec2-user@ip-XXX ~]$ sudo yum repolist
Loaded plugins: amazon-id, rhui-lb, security
rhui-REGION-client-config-server-6  | 2.6 kB   00:00
rhui-REGION-rhel-server-releases    | 3.7 kB   00:00
rhui-REGION-rhel-server-releases-optional | 3.5 kB     00:00
repo id                                     repo name                          status
rhui-REGION-client-config-server-6          Red Hat Update Infrastructure 2.0 Client Configuration Server 6  5
rhui-REGION-rhel-server-releases            Red Hat Enterprise Linux Server 6 (RPMs)                  11,976
rhui-REGION-rhel-server-releases-optional   Red Hat Enterprise Linux Server 6 Optional (RPMs)   6,833
repolist: 18,814

[ec2-user@ip-XXX ~]$ sudo yum list tomcat7*
Loaded plugins: amazon-id, rhui-lb, security
Error: No matching Packages to list

Tomcat7 недоступен в yum Repo на EC2. Итак, вот как установлен tomcat 7 на моем экземпляре RHEL 6.4 EC2:

Во-первых, мне понадобился oracle jdk.

Установка Oracle JDK:

Удалите все существующие JDK

# rpm -qa | grep jdk
java-1.6.0-openjdk-1.6.0.0-1.62.1.11.11.90.el6_4.x86_64
java-1.7.0-openjdk-1.7.0.25-2.3.10.4.el6_4.x86_64
# rpm -e java-1.6.0-openjdk-1.6.0.0-1.62.1.11.11.90.el6_4.x86_64 java-1.7.0-openjdk-1.7.0.25-2.3.10.4.el6_4.x86_64

Загрузите и установите Oracle JDK

# wget --no-cookies --no-check-certificate --header "Cookie: gpw_e24=http%3A%2F%2Fwww.oracle.com%2F" "http://download.oracle.com/otn-pub/java/jdk/7u45-b18/jdk-7u45-linux-x64.rpm"
# mv jdk-7u45-linux-x64.rpm\?AuthParam\=1385533795_9ebb9bbbd4d15a8ca5d17a0dab41fedc jdk-7u45-linux-x64.rpm
# rpm -ivh jdk-7u45-linux-x64.rpm

Проверка

# java -version
java version "1.7.0_45"
Java(TM) SE Runtime Environment (build 1.7.0_45-b18)
Java HotSpot(TM) 64-Bit Server VM (build 24.45-b08, mixed mode)
# javac -version
javac 1.7.0_45

Установить JAVA_HOME

# echo "export JAVA_HOME=/usr/java/default" >> /etc/profile
# source /etc/profile

Установка Tomcat 7:

Скачать Tomcat

# wget http://www.trieuvan.com/apache/tomcat/tomcat-7/v7.0.47/bin/apache-tomcat-7.0.47.tar.gz
# tar -xvzf apache-tomcat-7.0.47.tar.gz
# mv apache-tomcat-7.0.47 /usr/share/

Запустите Tomcat как сценарий.

# cat > /etc/init.d/tomcat < EOF
#!/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.47/

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
EOF

Команды службы Tomcat:

# chmod 755 /etc/init.d/tomcat
# chkconfig  --add tomcat
# chkconfig  tomcat on
# chkconfig  --list tomcat
# service tomcat start
Using CATALINA_BASE:   /usr/share/apache-tomcat-7.0.47
Using CATALINA_HOME:   /usr/share/apache-tomcat-7.0.47
Using CATALINA_TMPDIR: /usr/share/apache-tomcat-7.0.47/temp
Using JRE_HOME:        /usr/java/default
Using CLASSPATH:       /usr/share/apache-tomcat-7.0.47/bin/bootstrap.jar:/usr/share/apache-tomcat-7.0.47/bin/tomcat-juli.jar

Добавить JAVA_OPTS как показано ниже на 2-й строке /usr/share/apache-tomcat-7.0.47/bin/catalina.sh чтобы это выглядело так:

#!/bin/sh
JAVA_OPTS="-Xms1024m -Xmx2048m"

Перезапустите Tomcat

# service tomcat restart

Проверка:

# netstat  -anp | grep 8080
tcp        0      0 :::8080                     :::*                        LISTEN      1792/java

Вы также можете настроить tomcat для запуска обычного пользователя. В моем случае в этом не было необходимости, и поэтому я этого не делал. Надеюсь это поможет.

просто ищите tomcat вместо tomcat7 *

#yum search tomcat
apache-tomcat-apis.noarch : Tomcat Servlet and JSP APIs
jakarta-commons-dbcp-tomcat5.noarch : DBCP dependency for Tomcat5
jakarta-commons-pool-tomcat5.x86_64 : Pool dependency for Tomcat5
tomcat6-jsp-2.1-api.noarch : Apache Tomcat JSP API implementation classes
tomcat6-lib.noarch : Libraries needed to run the Tomcat Web container
tomcat6-servlet-2.5-api.noarch : Apache Tomcat Servlet API implementation classes
tomcatjss.noarch : JSSE implementation using JSS for Tomcat
tomcat6.noarch : Apache Servlet/JSP Engine, RI for Servlet 2.5/JSP 2.1 API
tomcat6-el-2.1-api.noarch : Expression Language v1.0 API