Servidor AWS S2 tomcat não sobe ao copiar app para webapps
07/04/2015 11:17
0
Estou procurando um servidor de hospedagem para minha aplicação.

Vi que o Henrique usa o Amazon EC2 e decidi começar por ele, mas ele é muito complexo. Baixei o Java e instalei setando a variável JAVA_HOME. Liberei as portas 80, 22, 3452, 8080, 443 do meu servidor pelo grupo de segurança.

Instalei o banco de dados postgres que minha aplicação usa tudo ok. Acessei o banco de dados e criei o database local.

Baixei e instalei o tomcat7. Tentei fazer o deploy de minha aplicação através da interface do Tomcat porém quando coloco meu pacote WAR, a página deixa de responder.

Assim, tentei colocar minha app diretamente na pasta webapps do tomcat e reiniciá-la para fazer o deploy, porém não funcionou e se eu deixar minha aplicação ali nem a página de configuração do tomcat consigo visualizar.

Usei vários tutoriais, mas nenhum funcionou. Tentei usar o Amazon BeansTalk porém também não faz o deploy de minha aplicação.

Pensei que fosse minha aplicação, porém quando faço o deploy em meu computador com windows ele roda normalmente.

Alguém sabe o que estou fazendo de errado?
Tags: deploy, tomcat7, ec2, aws


1
O que tem nos logs do Tomcat? Deve estar na pasta /var/log/


0
Ola Rodrigo,

Eu estou usando aquele plano grátis por 1 ano da Amazon EC2.

fui lá no var/log e abri todos os Logs. O mais relevante é do Catalina.out que fala que está faltando memória no Java (Cannot allocate memory) o que posso fazer aqui?:

Configuring Spring Security Core ...
... finished configuring Spring Security Core


Configuring Spring Security UI ...
... finished configuring Spring Security UI

Starting Quartz Scheduler in QuartzFactoryBean
Java HotSpot(TM) 64-Bit Server VM warning: INFO: os::commit_memory(0x00000000e5d35000, 29843456, 0) failed; error='Cannot allocate memory' (errno=12)
#
# There is insufficient memory for the Java Runtime Environment to continue.
# Native memory allocation (malloc) failed to allocate 29843456 bytes for committing reserved memory.
# An error report file with more information is saved as:
# //hs_err_pid2172.log
Apr 08, 2015 12:13:46 AM org.apache.catalina.startup.VersionLoggerListener log
INFO: Server version: Apache Tomcat/7.0.59
Apr 08, 2015 12:13:46 AM org.apache.catalina.startup.VersionLoggerListener log
INFO: Server built: Jan 28 2015 15:51:10 UTC
Apr 08, 2015 12:13:46 AM org.apache.catalina.startup.VersionLoggerListener log
INFO: Server number: 7.0.59.0
Apr 08, 2015 12:13:46 AM org.apache.catalina.startup.VersionLoggerListener log
INFO: OS Name: Linux
Apr 08, 2015 12:13:46 AM org.apache.catalina.startup.VersionLoggerListener log
INFO: OS Version: 3.14.35-28.38.amzn1.x86_64
Apr 08, 2015 12:13:46 AM org.apache.catalina.startup.VersionLoggerListener log
INFO: Architecture: amd64
Apr 08, 2015 12:13:46 AM org.apache.catalina.startup.VersionLoggerListener log
INFO: Java Home: /usr/java/jdk1.7.0_75/jre
Apr 08, 2015 12:13:46 AM org.apache.catalina.startup.VersionLoggerListener log
INFO: JVM Version: 1.7.0_75-b13
Apr 08, 2015 12:13:46 AM org.apache.catalina.startup.VersionLoggerListener log
INFO: JVM Vendor: Oracle Corporation
Apr 08, 2015 12:13:46 AM org.apache.catalina.startup.VersionLoggerListener log
INFO: CATALINA_BASE: /usr/share/apache-tomcat-7.0.59
Apr 08, 2015 12:13:46 AM org.apache.catalina.startup.VersionLoggerListener log
INFO: CATALINA_HOME: /usr/share/apache-tomcat-7.0.59
Apr 08, 2015 12:13:46 AM org.apache.catalina.startup.VersionLoggerListener log
INFO: Command line argument: -Djava.util.logging.config.file=/usr/share/apache-tomcat-7.0.59/conf/logging.properties
Apr 08, 2015 12:13:46 AM org.apache.catalina.startup.VersionLoggerListener log
INFO: Command line argument: -Djava.util.logging.manager=org.apache.juli.ClassLoaderLogManager
Apr 08, 2015 12:13:46 AM org.apache.catalina.startup.VersionLoggerListener log
INFO: Command line argument: -Xms128m
Apr 08, 2015 12:13:46 AM org.apache.catalina.startup.VersionLoggerListener log
INFO: Command line argument: -Xmx1024m
Apr 08, 2015 12:13:46 AM org.apache.catalina.startup.VersionLoggerListener log
INFO: Command line argument: -XX:PermSize=64m
Apr 08, 2015 12:13:46 AM org.apache.catalina.startup.VersionLoggerListener log
INFO: Command line argument: -XX:MaxPermSize=256m
Apr 08, 2015 12:13:46 AM org.apache.catalina.startup.VersionLoggerListener log
INFO: Command line argument: -Djava.endorsed.dirs=/usr/share/apache-tomcat-7.0.59/endorsed
Apr 08, 2015 12:13:46 AM org.apache.catalina.startup.VersionLoggerListener log
INFO: Command line argument: -Dcatalina.base=/usr/share/apache-tomcat-7.0.59
Apr 08, 2015 12:13:46 AM org.apache.catalina.startup.VersionLoggerListener log
INFO: Command line argument: -Dcatalina.home=/usr/share/apache-tomcat-7.0.59
Apr 08, 2015 12:13:46 AM org.apache.catalina.startup.VersionLoggerListener log
INFO: Command line argument: -Djava.io.tmpdir=/usr/share/apache-tomcat-7.0.59/temp
Apr 08, 2015 12:13:46 AM org.apache.catalina.core.AprLifecycleListener lifecycleEvent
INFO: The APR based Apache Tomcat Native library which allows optimal performance in production environments was not found on the java.library.path: /usr/java/packages/lib/amd64:/usr/lib64:/lib64:/lib:/usr/lib
Apr 08, 2015 12:13:46 AM org.apache.coyote.AbstractProtocol init
INFO: Initializing ProtocolHandler ["http-bio-8080"]
Apr 08, 2015 12:13:46 AM org.apache.coyote.AbstractProtocol init
INFO: Initializing ProtocolHandler ["ajp-bio-8009"]
Apr 08, 2015 12:13:46 AM org.apache.catalina.startup.Catalina load
INFO: Initialization processed in 1678 ms
Apr 08, 2015 12:13:46 AM org.apache.catalina.core.StandardService startInternal
INFO: Starting service Catalina
Apr 08, 2015 12:13:46 AM org.apache.catalina.core.StandardEngine startInternal
INFO: Starting Servlet Engine: Apache Tomcat/7.0.59
Apr 08, 2015 12:13:46 AM org.apache.catalina.startup.HostConfig deployDirectory
INFO: Deploying web application directory /usr/share/apache-tomcat-7.0.59/webapps/host-manager
Apr 08, 2015 12:13:47 AM org.apache.catalina.startup.HostConfig deployDirectory
INFO: Deployment of web application directory /usr/share/apache-tomcat-7.0.59/webapps/host-manager has finished in 1,069 ms
Apr 08, 2015 12:13:47 AM org.apache.catalina.startup.HostConfig deployDirectory
INFO: Deploying web application directory /usr/share/apache-tomcat-7.0.59/webapps/examples
Apr 08, 2015 12:13:48 AM org.apache.catalina.startup.HostConfig deployDirectory
INFO: Deployment of web application directory /usr/share/apache-tomcat-7.0.59/webapps/examples has finished in 600 ms
Apr 08, 2015 12:13:48 AM org.apache.catalina.startup.HostConfig deployDirectory
INFO: Deploying web application directory /usr/share/apache-tomcat-7.0.59/webapps/manager
Apr 08, 2015 12:13:48 AM org.apache.catalina.startup.HostConfig deployDirectory
INFO: Deployment of web application directory /usr/share/apache-tomcat-7.0.59/webapps/manager has finished in 142 ms
Apr 08, 2015 12:13:48 AM org.apache.catalina.startup.HostConfig deployDirectory
INFO: Deploying web application directory /usr/share/apache-tomcat-7.0.59/webapps/appContrato
Apr 08, 2015 12:14:00 AM org.apache.catalina.startup.TaglibUriRule body
INFO: TLD skipped. URI: http://java.sun.com/jsp/jstl/core is already defined
Apr 08, 2015 12:14:00 AM org.apache.catalina.startup.TaglibUriRule body
INFO: TLD skipped. URI: http://java.sun.com/jsp/jstl/fmt is already defined
Apr 08, 2015 12:14:00 AM org.apache.catalina.startup.TaglibUriRule body
INFO: TLD skipped. URI: http://www.springframework.org/tags is already defined

Configuring Spring Security Core ...
... finished configuring Spring Security Core


Configuring Spring Security UI ...
... finished configuring Spring Security UI

Starting Quartz Scheduler in QuartzFactoryBean
Java HotSpot(TM) 64-Bit Server VM warning: INFO: os::commit_memory(0x00000000e5945000, 35483648, 0) failed; error='Cannot allocate memory' (errno=12)
#
# There is insufficient memory for the Java Runtime Environment to continue.
# Native memory allocation (malloc) failed to allocate 35483648 bytes for committing reserved memory.
# An error report file with more information is saved as:
# /tmp/hs_err_pid2172.log


Não sei bem como resolver isso. Já tentei vários tutoriais, mas nenhum funcionou. Não sei se é a máquina da EC2 que limita a memória ou se alguma configuração na JVM.
07/04/2015 21:34


1
Na pasta conf, tem o arquivo BuildConfig, com essas opções:

  // configure settings for the test-app JVM, uses the daemon by default
test: [maxMemory: 768, minMemory: 64, debug: false, maxPerm: 256, daemon:true],
// configure settings for the run-app JVM
run: [maxMemory: 768, minMemory: 64, debug: false, maxPerm: 256, forkReserve:false],
// configure settings for the run-war JVM
war: [maxMemory: 768, minMemory: 64, debug: false, maxPerm: 256, forkReserve:false],
// configure settings for the Console UI JVM
console: [maxMemory: 768, minMemory: 64, debug: false, maxPerm: 256]



Já tentou diminuir o maxMemory do war? Porque o plano grátis da Amazon tem 1 GiB de RAM, e acredito que tu esteja rodando o Mysql/Postgresql/<DB> também, fora o próprio sistema operacional.

Mas o Kiko saberia dizer como tá a config dele, já que ele também roda nesse tipo de instância.


0
Rodrigo eu já tentei isso.

Inclusive meu war está menor:

war: [maxMemory: 512, minMemory: 64, debug: false, maxPerm: 128, forkReserve:false]

Como faço para contatar o kiko para resolvermos essa dúvida?
08/04/2015 09:51


0
Pessoal,

consegui resolver e colocar o servidor no ar.

O problema estava ocorrendo porque na definição de memória do tomcat eu havia definido um valor maior do que a memória real do servidor do EC2. Quando a máquina tentava alocar tal memória a mesma era insuficiente o que gerava o erro.

Corrigi o valor e o servidor subiu.

Só postar aqui para quem passar por isso, já temos aqui a resposta. A configuração do tomcat bastou criar um arquivo chamado 'setenv.sh' na pasta /bin com o seguinte valor:

export JAVA_OPTS="-Dfile.encoding=UTF-8 -Xms128m -Xmx512m -XX:PermSize=64m -XX:MaxPermSize=256m"


Esses valores funionam na versão free da Amazon EC2.

Abraço a todos e muito obrigado Rodrigo.
08/04/2015 11:56



Ainda não faz parte da comunidade???

Para se registrar, clique aqui.


Aprenda Groovy e Grails com a Formação itexto!

Newsletter Semana Groovy

Assinar

Envie seu link!


Livro de Grails


/dev/All

Os melhores blogs de TI (e em português) em um único lugar!

 
Creative Commons
RSS Grails Brasil é mantido por itexto Consultoria.
Em caso de problemas contacte Henrique Lobo Weissmann (Kico) por e-mail: kico@itexto.com.br
Todo o conteúdo presente neste site adota o Creative Commons como licença padrão.
Ver: 4.14.0
itexto