Implantação de um exemplo de aplicativo no contêiner Apache Tomcat
- 4994
- 402
- Randal Kuhlman
Objetivo
Nosso objetivo é desenvolver um aplicativo Java Servlet simples usando o NetBeans IDE e implantá -lo em um contêiner de aplicativo Tomcat usando a linha de comando e o aplicativo do gerente.
Sistema operacional e versões de software
- Sistema operacional: qualquer distribuição recente do Linux
- Programas: Apache Tomcat 8, NetBeans 8.2
Requisitos
Acesso privilegiado ao sistema
Dificuldade
FÁCIL
Convenções
- # - requer que os comandos Linux sejam executados com privilégios root diretamente como usuário root ou por uso de
sudo
comando - $ - dados os comandos do Linux a serem executados como um usuário não privilegiado regular
Introdução
Aplicativos baseados em Java em execução em contêineres de aplicativos são uma das configurações de aplicativos mais comuns agora-dias. Java é uma linguagem de programação robusta, independente de plataforma e de alto nível. Um contêiner de aplicativos, como Tomcat ou Wildfly (anteriormente JBoss), é capaz de fornecer um contexto padrão para os aplicativos implantados nele, facilitando as tarefas comuns como o registro de registro, também lidando com a função do servidor (ouvindo solicitações de entrada dos clientes), adicionando Recursos como cluster e ativação de compartilhamento ou caixa de areia de recursos dentro do contêiner. Esses recursos permitem que os desenvolvedores se concentrem no processamento das solicitações e no fornecimento das respostas, pois não precisam desenvolver mais um aplicativo de servidor para cada serviço.
Neste guia, desenvolveremos um servlet java trivial usando o NetBeans IDE 8.2, e implantá -lo em um contêiner Apache Tomcat 8.5, então os serviços do servlet estão acessíveis na rede. Usamos uma área de trabalho do Fedora 28 como a máquina de laboratório para executar o servidor Tomcat e usados como um ambiente de desenvolvimento, mas observe que você pode escrever o servlet em um editor de texto e construí -lo em servidores de construção dedicados e também usar qualquer tomcat recente Para implantar seu aplicativo, possivelmente longe da máquina de desenvolvedor. Embora o NetBeans possa lidar com a implantação em todo o seu comprimento, abordaremos o caso quando as ferramentas de desenvolvimento não tiverem acesso direto aos servidores (o que deve ser o caso em produção).
Tomcat é tão comum que é enviado com os repositórios base de qualquer distribuição principal (e também disponível em um alcatrão.gz) e a natureza independente da plataforma do Java facilita a implantação de contêineres de aplicativos em quase qualquer lugar - portanto, sua popularidade. Se o desenvolvedor não usar pacotes dependentes da plataforma, seu aplicativo será executado da mesma maneira. Os problemas mais comuns vieram das versões Java (por exemplo, você não deseja implantar um aplicativo desenvolvido em Java 1.8 Em um servidor executando o Java 1.6), ou pacotes ausentes (um pacote Java personalizado usado no aplicativo, mas não incluído no pacote distribuído), mas estes devem ser lançados nas fases iniciais do desenvolvimento.
Configurar
Configurar o ambiente de laboratório é bem direto. Instalaremos e configuraremos o servidor Tomcat e integraremos o IDE com ele, ambos em execução na mesma JVM (Java Virtual Machine), e a implantação feita automática. Isso garante que não haverá problemas de versão Java e facilita o teste. O servidor Tomcat só ouvirá no local de localhost usando portas padrão e aplicativos de gerenciamento enviados com a distribuição.
Servidor tomcat
Primeiro, precisamos instalar o próprio servidor Tomcat. Adicionamos os aplicativos da Web do Admin que podem lidar com a implantação da interface da web.
yum instalar tomcat tomcat-webapps.Noarch Tomcat-Admin-Webapps.Noarch
Observe que adicionamos Tomcat-Webapps
para a instalação. Eles não serão necessários neste tutorial, mas são bons aplicativos de exemplo com código -fonte para se acostumar ainda mais com servlets, jsp (javaserver páginas), etc.
Configurando usuários administrativos no tomcat
A instalação padrão deixa os aplicativos de administrador instalados fechados. Para abri -los, precisamos adicionar senhas aos usuários no tomcat. Poderíamos adicionar usuários e funções personalizados ou integrar o servidor com algum gerenciamento de identidade central, como um servidor LDAP, mas isso está além do escopo deste tutorial. Simplesmente usaremos as funções padrão enviadas com a instalação.
No Rhel sabores, o arquivo de configuração que precisamos ajustar está no seguinte caminho:
/usr/share/tomcat/conf/tomcat-users.xml
O arquivo XML não pode ser editado por um usuário com privilégios normais. Você precisa trabalhar com o Tomcat
Usuário adicionado automaticamente pela instalação, ou raiz
.
É um arquivo longo, mas precisamos modificar apenas o fim.
Você verá as seguintes linhas, todos comentados:
Essas linhas devem ser não declaradas e uma senha precisa ser adicionada ao admin
Usuário para ativar a implantação na interface da web. O resultado deve ser algo como o seguinte:
Para o ambiente de laboratório, não precisamos de uma senha forte, mas, além dos testes, sempre usem senhas fortes. Depois de adicionar as mudanças acima, salve o arquivo.
Iniciando o servidor
Estamos prontos para iniciar o servidor Tomcat usando Systemd
:
# SystemCtl Start TomCat
Para iniciar o tomcat após a inicialização, também podemos habilitá -lo, mas esta etapa é opcional.
# SystemCtl Ativar Tomcat
Testando as configurações
Agora que o servidor está em alta, testaremos nossas configurações. Direcionar um navegador da web para port 8080
da máquina e clique no "aplicativo do gerente" ao canto superior direito da página fornecida pelo tomcat. Uma janela pop -up deve aparecer, pedindo credenciais para o aplicativo Tomcat Manager. Forneça o nome de usuário admin
e a senha que foi definida na seção anterior:
Se nossa configuração estiver correta e fornecemos as credenciais certas, devemos ver uma página colorida e, além dela, a lista de aplicativos implantados, fornecidos pelo aplicativo do gerente, semelhante à captura de tela abaixo:
Lista de aplicativos implantados no tomcat
Note o /exemplos
aplicativo implantado - isso é fornecido pelo Tomcat-Webapps
pacote instalado anteriormente.
Com isso, a configuração do tomcat é concluída e podemos acessar a interface de gerenciamento.
Configurar NetBeans
Para ter um ambiente para o desenvolvimento, instalaremos o NetBeans IDE (ambiente de desenvolvimento integrado). Poderíamos usar qualquer outro, ou mesmo um simples editor de texto. O NetBeans IDE pode ser baixado da página inicial do NetBeans. Depois de baixar o instalador, precisamos adicionar executar o script de execução diretamente:
$ chmod +x netbeans-8.2-Linux.sh
E comece:
./netbeans-8.2-Linux.sh
Um assistente gráfico será exibido e orientará o processo de instalação. Após a instalação bem -sucedida, um ícone NetBeans aparece na área de trabalho. Clicar nele começará o IDE.
Desenvolvendo o aplicativo de amostra
Como este tutorial não é sobre desenvolvimento principal, usaremos os assistentes fornecidos pelo IDE para criar o aplicativo de amostra que planejamos implantar no tomcat.
Criando um projeto da web
Vamos criar um projeto da web dentro do NetBeans. Esse processo garantirá que nosso projeto esteja pronto para ser implantado em um contêiner do Tomcat com o mínimo de esforço. Para fazer isso, comece o IDE e selecione Arquivo -> Novo projeto
No menu, depois escolha Java Web -> Aplicativo da Web
:
Criando aplicativos da web em NetBeans
Precisamos nomear o projeto e selecionar caminho para ele no sistema de arquivos. Observe que na captura de tela abaixo, um caminho não padrão /var/projetos
é selecionado. Este diretório é criado manualmente e dado ao usuário do sistema operacional que executa o IDE. O caminho padrão está dentro do diretório inicial do usuário executando o IDE; portanto, por padrão, os direitos do sistema de arquivos não serão um problema enquanto trabalha no projeto. Se você precisar colocar seus projetos em outro lugar, precisará garantir que você possa escrever para esse local específico.
O nome do projeto pode ser de maneira justa, mas à medida que avançamos principalmente com os padrões, usamos webApp01
Isso fará parte do URL onde o aplicativo é alcançado.
Na próxima tela, precisamos especificar o servidor de destino, a versão Java e o caminho de contexto. Nós escolhemos Apache Tomcat ou Tomee
, e deixe as outras opções nos padrões.
Precisamos fornecer o caminho para o servidor Tomcat, a saber, o Catalina_home
variável de ambiente, que é /usr/share/tomcat
por padrão em sabores de Rhel.
Podemos ver que nosso novo projeto não está muito vazio, o IDE gerou um conteúdo padrão na criação do projeto. Adicionamos um novo pacote aos pacotes de origem que substituirão o pacote padrão:
Adicionando pacote ao projeto em NetBeans
Precisamos nomear o pacote. Observe que o novo pacote será criado no caminho do projeto:
Nomeando o novo pacote em NetbeansEm seguida, adicionamos um novo servlet ao nosso projeto e o colocamos no novo pacote que criamos:
Adicionando um novo servlet ao projeto em NetbeansPrecisamos nomear o servlet. Seu código -fonte será colocado no pacote (que é um diretório nesta fase de desenvolvimento) no caminho do projeto.
Nomeando o novo servlet em netbeansO nome que escolhemos para o servlet aqui é Informação do sistema
, como fornecerá algumas informações sobre o ambiente de software em que está sendo executado. Este nome também fará parte do URL, a saber, o ponto final em que o serviço é acessível.
Código de escrita
Veremos que nosso novo servlet já está preenchido com código de amostra. Vamos manter a maior parte, substituiremos as linhas destacadas:
Substitua o código do modelo em NetBeans
Usando o editor de código -fonte do IDE, substituímos as linhas destacadas com o seguinte:
fora.println ("Informações do sistema"); fora.println (""); fora.println (""); fora.println ("Servlet SystemInfo em " + solicitação.getContextPath () + "
"); fora.println (""")
- « Unificar scripts personalizados em todo o sistema com rpm no Red Hat/CentOS
- Como adicionar repositórios ao Red Hat Linux com e sem proxy »
Melhores artigos
Como executar comandos a partir de entrada padrão usando tee e xargs no Linux
Neste artigo simples, descreveremos como construir e executar vários comandos a partir de comandos p...
Sccpy - exibir e controlar seu dispositivo Android via Linux Desktop
Sccpy é um aplicativo gratuito, de código aberto e de plataforma cruzada usada para exibir e control...