Instalação Linux e configuração do Tomcat (detalhado)

1. Pré-condições

Para instalar o tomcat, você precisa instalar o jdk primeiro

2. Instale o Tomcat no Linux

1. Baixe o Apache tomcat

Link para download do site oficial: https://tomcat.apache.org/download-90.cgi
Download do site oficial

2. Verifique se o tomcat está instalado no linux

Verifique se o Tomcat está instalado: rpm -qa|grep tomcat
Verifique o ID do processo do Tomcat: ps -ef|grep tomcat
Verifique o diretório do Tomcat: find / -name tomcat
Verifique as informações do sistema para confirmar se é de 32 ou 64 bits:uname -a

[root@YIWEI /]# uname -a   
Linux YIWEI.SERVER 3.10.0-1160.53.1.el7.x86_64 #1 SMP Fri Jan 14 13:59:45 UTC 2022 x86_64 x86_64 x86_64 GNU/Linux
[root@YIWEI /]# 

3. Carregar servidor, descompactar tomcat

Use a ferramenta Xftp para carregar o pacote compactado tar.gz para o diretório /usr/local.Os seguintes comandos precisam ser operados na conta root.
Entre no diretório para descompactar o pacote de instalação
Entre no diretório: cd /usr/local
Descompacte o arquivo: tar -zxvf apache-tomcat-8.5.78.tar.gz
Renomeie o diretório apache-tomcat-8.5.37 para tomcat por conveniência
Renomeie o arquivo:mv apache-tomcat-8.5.78 tomcat8

4. Configurar variáveis ​​de ambiente

Entrada: vim /etc/profileAbra o arquivo de configuração, pressione i para entrar no modo de edição e adicione o seguinte conteúdo unset -f pathmunge no :

unset i
unset -f pathmunge
export JAVA_HOME=/usr/local/java/jdk1.8.0_221
export JRE_HOME=${JAVA_HOME}/jre
export CATALINA_HOME=/usr/local/tomcat8
export CLASSPATH=.:${JAVA_HOME}/lib:${JRE_HOME}/lib:$CLASSPATH
export JAVA_PATH=${JAVA_HOME}/bin:${JRE_HOME}/bin:${CATALINA_HOME}/bin
export PATH=$PATH:${JAVA_PATH}:$PATH

Após a edição, pressione a tecla Esc para sair e digite :wq(minúsculas) para salvar ou pressione :wq!para forçar salvamento e digite o seguinte comando: source /etc/profileAtualize a configuração do ambiente para que o arquivo de perfil entre em vigor imediatamente.

5. Partida normal

运行  `/usr/local/tomcat8/bin/startup.sh ` 就会启动tomcat,
在浏览器中访问http://localhost:8080了,能看到界面,说明访问成功。

insira a descrição da imagem aqui

6. Desligamento normal

A execução /usr/local/tomcat8/bin/shutdown.shdesligará o tomcat

7. Modifique a configuração do tomcat

Digite /usr/local/tomcat8/confo diretório para modificar a porta tomcat em server.xml

Execute vim server.xmlcom "/8080" para localizar a porta 8080. Como mostrado abaixo:

Pressione i para entrar no modo de edição, você pode modificar a porta, o padrão é 8080, pressione ESC para sair e digite :wq(observe que há dois pontos em inglês) para salvar ou pressione :wq!para forçar salvamento.

8. A solução para a impossibilidade de acesso na LAN

O acesso ao local: http://localhost:8080/ está correto. Mas a LAN não pode ser acessada e o servidor pode ser pingado.

Nota: Se executar firewall-cmd --zone=public --add-port=3690/tcp --permanent,
ele avisa que o firewallD não está executando o erro, o que significa que o firewall não está ativado.

   1. 通过 systemctl status firewalld 查看firewalld状态,发现当前是Active: inactive (dead)状态,即防火墙未开启。

   2. 通过  systemctl start firewalld  开启防火墙,没有任何提示即开启成功。

   3. 再次通过 systemctl status firewalld 查看firewalld状态,显示running即已开启了。

   4. 如果要关闭防火墙设置,可通过 systemctl stop firewalld 这条指令来关闭该功能。 

Primeiro, verifique a lista de portas abertas do firewall para o sistema Centos7firewall-cmd --zone=public --list-ports

Se não houver porta 8080, adicione a porta
1 Se for um firewall d firewall (para sistema Centos7), abra a porta do firewall firewall-cmd --zone=public --add-port=8080/tcp --permanente recarregue o firewall firewall-cmd --reload

2 Se for um firewall iptables, execute vi /etc/sysconfig/iptables
e adicione o seguinte conteúdo: Configure -A RH-Firewall-1-INPUT -m state --state NEW -m tcp -p tcp --dport 8080 -j ACCEPT
como e reinicie o iptables para acessar a porta 8080 na LAN

Em diferentes sistemas Linux, as instruções de operação serão ligeiramente diferentes, comandos relacionados ao firewall Centos6:

service  iptables  status        查看防火墙状态
service  iptables  start         开启防火墙
service  iptables  stop          关闭防火墙
service  iptables  restart       重启防火墙

Para o sistema Centos7, apenas os seguintes comandos podem ser usados ​​para iniciar e parar o firewall do Linux.

#查看防火墙开放端口列表命 
firewall-cmd --zone=public --list-ports 或 firewall-cmd --list-port 令:  
#查看某个端口是否开放 :     
firewall -cmd --query-port=8080/tcp    					    
#防火墙开放8080端口 :
firewall-cmd --zone=public --add-port=8080/tcp --permanent 	
#批量开放区间端口: 	        
firewall-cmd --zone=public --add-port=8081-8082/tcp --permanent
#防火墙关闭8080端口	         
firewall-cmd --zone=public --remove-port=8080/tcp --permanent		  

systemctl status firewalld		#查看防火墙状态命令:
systemctl start firewalld 		#开启防火墙命令:
systemctl stop firewalld 		#关闭防火墙命令:
systemctl disable firewalld			 #禁止防火墙开机自启动命令:
systemctl enable firewalld 			#开启防火窗开机自启动命令:
firewall-cmd --reload			 #重新加载防火墙命令:

9. Algumas outras questões

Após a inicialização, você pode usar o comando ps -ef|grep tomcatpara verificar se o tomcat inicia normalmente.

Se você não conseguir acessar após a inicialização normal, tente acessar com a porta 8080 sem modificar a porta 8080. Se puder ser acessado normalmente pela porta 8080, significa que a porta 80 está ocupada por outros aplicativos.

Ou use netstat -an|grep 8080 o comando para verificar se existe algum programa ocupando a porta 8080.

3. Defina o tomcat para iniciar automaticamente na inicialização

1. No diretório tomcat/bin, adicione a configuração setenv.sh, que será chamada quando o serviço iniciar, e configure os parâmetros de memória java ao mesmo tempo.

Digite o comando para editar:vim /usr/local/tomcat/bin/setenv.sh

#add tomcat pid  
CATALINA_PID="$CATALINA_BASE/tomcat.pid"  
#add java opts  
JAVA_OPTS="-server -XX:PermSize=256M -XX:MaxPermSize=1024m -Xms512M -Xmx1024M -XX:MaxNewSize=256m" 

2. Adicione tomcat.service, adicione tomcat.service no diretório /usr/lib/systemd/system

Digite o comando para editar:vim /usr/lib/systemd/system/tomcat.service

[Unit]
Description=Apache Tomcat Web Application Container
After=syslog.target network.target remote-fs.target nss-lookup.target
[Service]
Type=forking
Environment='JAVA_HOME=/usr/local/java/jdk1.8.0_221/'
Environment='CATALINA_PID=/usr/local/tomcat/tomcat.pid'
Environment='CATALINA_HOME=/usr/local/tomcat/'
Environment='CATALINA_BASE=/usr/local/tomcat/'
Environment='CATALINA_OPTS=-Xms512M -Xmx1024M -server -XX:+UseParallelGC'
PIDFile=/usr/local/tomcat/tomcat.pid
ExecStart=/usr/local/tomcat/bin/startup.sh
ExecReload=/bin/kill -s HUP $MAINPID
ExecStop=/bin/kill -s QUIT $MAINPID
PrivateTmp=true
[Install]
WantedBy=multi-user.target
[unit]配置了服务的描述,规定了在network启动之后执行。
[service]配置了环境变量,JAVA_HOME,服务的pid,服务的启动,停止,重启,内存参数。
[install]配置了使用用户。

Quando vários tomcats precisam ser iniciados, copie vários arquivos de instalação do tomcat em /usr/local/, como /usr/local/tomcat2, e configure vários tomcat.services, como tomcat2.service, tomcat3.service na configuração para modificar o caminho correspondente.

Como o pid está configurado, o arquivo tomcat.pid será gerado no diretório raiz do tomcat na inicialização e excluído após a interrupção.

ps: Ao mesmo tempo, quando o tomcat é iniciado, a execução de start não iniciará dois tomcats, garantindo que apenas um serviço tomcat esteja sempre em execução.

ps: Vários tomcats podem ser configurados em vários diretórios e usar portas diferentes sem afetar uns aos outros.

3. Configure a inicialização automática

systemctl enable tomcat.service

4. Inicie o Tomcat

systemctl start tomcat.service

5. Teste no navegador (omitido)

6. Depois que as etapas acima forem concluídas, se você ainda não conseguir acessar o serviço tomcat, tente reiniciar o servidor linux, comando: reboot

Comandos comuns Systemctl
onde .service pode ser omitido

systemctl daemon-reload##Recarregue o comando de serviço do sistema: (operar após modificar o script)

systemctl list-unit-files --type service## Veja todos os comandos de serviço:

systemctl status name.service##Ver estado do serviço

systemctl enable name.service## Definir inicialização automática de inicialização

systemctl disable name.service## Interromper a inicialização automática na inicialização

systemctl start name.service## Inicie o serviço

systemctl stop name.service## Fora de serviço

systemctl restart name.service## Reinicie o serviço

おすすめ

転載: blog.csdn.net/weixin_44161444/article/details/129032464