Instalación y configuración de Linux de Tomcat (detallada)

1. Condiciones previas

Para instalar Tomcat, primero debe instalar jdk

2. Instalar Tomcat en Linux

1. Descarga Apache tomcat

Enlace de descarga del sitio web oficial: https://tomcat.apache.org/download-90.cgi
Descarga del sitio web oficial

2. Compruebe si Tomcat está instalado en Linux

Compruebe si Tomcat está instalado: rpm -qa|grep tomcat
Compruebe el ID de proceso de Tomcat: ps -ef|grep tomcat
Compruebe el directorio de Tomcat: find / -name tomcat
Compruebe la información del sistema para confirmar si es de 32 bits o de 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. Subir servidor, descomprimir tomcat

Utilice la herramienta Xftp para cargar el paquete comprimido tar.gz en el directorio /usr/local Los siguientes comandos deben ejecutarse con la cuenta raíz.
Ingrese al directorio para descomprimir el paquete de instalación
Ingrese al directorio: cd /usr/local
Descomprima el archivo: tar -zxvf apache-tomcat-8.5.78.tar.gz
Cambie el nombre del directorio apache-tomcat-8.5.37 a tomcat para mayor comodidad.
Cambie el nombre del archivo:mv apache-tomcat-8.5.78 tomcat8

4. Configurar variables de entorno

Entrada: vim /etc/profileabra el archivo de configuración, presione i para ingresar al modo de edición y agregue el siguiente contenido unset -f pathmunge al :

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

Después de editar, presione la tecla Esc para salir e ingrese :wq(en minúsculas) para guardar, o presione :wq!para forzar el guardado y luego ingrese el siguiente comando: source /etc/profileActualice la configuración del entorno para que el archivo de perfil surta efecto inmediatamente.

5. Comienzo normal

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

inserte la descripción de la imagen aquí

6. Apagado elegante

Correr /usr/local/tomcat8/bin/shutdown.shapagará Tomcat

7. Modificar la configuración de Tomcat

Ingrese /usr/local/tomcat8/confal directorio para modificar el puerto tomcat en server.xml

Ejecute vim server.xmlcon "/8080" para ubicar el puerto 8080. Como se muestra abajo:

Presione i para ingresar al modo de edición, puede modificar el puerto, el predeterminado es 8080, luego presione ESC para salir e ingrese :wq(tenga en cuenta que hay dos puntos en inglés) para guardar, o presione :wq!para forzar guardar.

8. La solución a la imposibilidad de acceso en la LAN

El acceso a local: http://localhost:8080/ es correcto. Pero no se puede acceder a la LAN y se puede hacer ping al servidor.

Nota: si se ejecuta firewall-cmd --zone=public --add-port=3690/tcp --permanent,
indica que FirewallD no se está ejecutando, lo que significa que el firewall no está habilitado.

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

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

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

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

Primero verifique la lista de puertos abiertos del firewall para el sistema Centos7firewall-cmd --zone=public --list-ports

Si no hay puerto 8080, agregue el puerto
1 Si es un firewall con firewall (para el sistema Centos7), abra el puerto del firewall firewall-cmd --zone=public --add-port=8080/tcp --permanenty vuelva a cargar el firewall firewall-cmd --reload

2 Si se trata de un firewall de iptables, ejecute vi /etc/sysconfig/iptables
y agregue el siguiente contenido: Configure -A RH-Firewall-1-INPUT -m state --state NEW -m tcp -p tcp --dport 8080 -j ACCEPT
como se y reinicie iptables para acceder al puerto 8080 en la LAN

En diferentes sistemas Linux, las instrucciones de operación serán ligeramente diferentes, comandos relacionados con el firewall Centos6:

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

Para el sistema Centos7, solo se pueden usar los siguientes comandos para iniciar y detener el firewall de 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. Algunas otras cuestiones

Después del inicio, puede usar el comando ps -ef|grep tomcatpara verificar si Tomcat se inicia normalmente.

Si no puede acceder después del inicio normal, puede intentar acceder con el puerto 8080 sin modificar el puerto 8080. Si se puede acceder normalmente a través del puerto 8080, significa que el puerto 80 está ocupado por otras aplicaciones.

O use netstat -an|grep 8080 el comando para verificar si hay un programa que ocupa el puerto 8080.

3. Configure Tomcat para que se inicie automáticamente en el arranque

1. En el directorio tomcat/bin, agregue la configuración setenv.sh, que se llamará cuando se inicie el servicio, y configure los parámetros de memoria java al mismo tiempo.

Introduzca el 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. Agregue tomcat.service, agregue tomcat.service en el directorio /usr/lib/systemd/system

Introduzca el 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]配置了使用用户。

Cuando sea necesario iniciar varios tomcat, copie varios archivos de instalación de tomcat en /usr/local/, como /usr/local/tomcat2, y configure varios tomcat.services como tomcat2.service, tomcat3.service en la configuración para modificar el camino correspondiente.

Debido a que el pid está configurado, el archivo tomcat.pid se generará en el directorio raíz de tomcat al inicio y se eliminará después de detenerse.

pd: al mismo tiempo, cuando se inicia tomcat, ejecutar start no iniciará dos tomcats, lo que garantiza que solo se esté ejecutando siempre un servicio de tomcat.

PD: se pueden configurar múltiples tomcats en múltiples directorios y usar diferentes puertos sin afectarse entre sí.

3. Configurar inicio automático

systemctl enable tomcat.service

4. Iniciar gato

systemctl start tomcat.service

5. Prueba en el navegador (omitido)

6. Después de completar los pasos anteriores, si aún no puede acceder al servicio Tomcat, puede intentar reiniciar el servidor Linux, comando: reiniciar

Comandos comunes de Systemctl
donde se puede omitir .service

systemctl daemon-reload##Vuelva a cargar el comando de servicio del sistema: (operar después de modificar el script)

systemctl list-unit-files --type service## Ver todos los comandos de servicio:

systemctl status name.service##Ver el estado del servicio

systemctl enable name.service## Establecer inicio automático de arranque

systemctl disable name.service## Detener el inicio automático en el arranque

systemctl start name.service## Iniciar el servicio

systemctl stop name.service## Fuera de servicio

systemctl restart name.service## Reiniciar el servicio

Supongo que te gusta

Origin blog.csdn.net/weixin_44161444/article/details/129032464
Recomendado
Clasificación