Installation Linux et configuration de Tomcat (détaillé)

1. Conditions préalables

Pour installer tomcat, vous devez d'abord installer jdk

2. Installez Tomcat sur Linux

1. Téléchargez Apache Tomcat

Lien de téléchargement du site officiel : https://tomcat.apache.org/download-90.cgi
Téléchargement du site officiel

2. Vérifiez si Tomcat est installé sous Linux

Vérifiez si Tomcat est installé : rpm -qa|grep tomcat
Vérifiez l'ID de processus de Tomcat : ps -ef|grep tomcat
Vérifiez le répertoire Tomcat : find / -name tomcat
Vérifiez les informations système pour confirmer s'il s'agit de 32 bits 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. Téléchargez le serveur, décompressez Tomcat

Utilisez l'outil Xftp pour télécharger le package compressé tar.gz dans le répertoire /usr/local. Les commandes suivantes doivent être exécutées sous le compte root.
Entrez le répertoire pour décompresser le package d'installation
Entrez le répertoire : cd /usr/local
Décompressez le fichier : tar -zxvf apache-tomcat-8.5.78.tar.gz
Renommez le répertoire apache-tomcat-8.5.37 en tomcat pour plus de commodité
Renommez le fichier :mv apache-tomcat-8.5.78 tomcat8

4. Configurer les variables d'environnement

Entrée : vim /etc/profileouvrez le fichier de configuration, appuyez sur i pour entrer dans le mode d'édition, et ajoutez le contenu suivant unset -f pathmunge à la :

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

Après l'édition, appuyez sur la touche Échap pour quitter et entrez :wq(minuscules) pour enregistrer, ou appuyez sur :wq!pour forcer l'enregistrement, puis entrez la commande suivante : source /etc/profileActualisez la configuration de l'environnement pour que le fichier de profil prenne effet immédiatement.

5. Démarrage normal

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

insérez la description de l'image ici

6. Arrêt gracieux

Courir /usr/local/tomcat8/bin/shutdown.shéteindra Tomcat

7. Modifier la configuration de Tomcat

Entrez /usr/local/tomcat8/confle répertoire pour modifier le port tomcat dans server.xml

Exécutez vim server.xmlavec "/8080" pour localiser le port 8080. Comme indiqué ci-dessous:

Appuyez sur i pour entrer en mode édition, vous pouvez modifier le port, la valeur par défaut est 8080, puis appuyez sur ESC pour quitter, et entrez :wq(notez qu'il y a deux points en anglais) pour enregistrer, ou appuyez sur :wq!pour forcer l'enregistrement.

8. La solution à l'impossibilité d'accéder au LAN

L'accès au local : http://localhost:8080/ est correct. Mais le LAN n'est pas accessible et le serveur peut être cinglé.

Remarque : S'il exécute firewall-cmd --zone=public --add-port=3690/tcp --permanent,
il affiche l'erreur FirewallD is not running, ce qui signifie que le pare-feu n'est pas activé.

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

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

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

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

Vérifiez d'abord la liste des ports ouverts du pare-feu pour le système Centos7firewall-cmd --zone=public --list-ports

S'il n'y a pas de port 8080, ajoutez le port
1 S'il s'agit d'un pare-feu avec pare-feu (pour le système Centos7), ouvrez le port du pare-feu firewall-cmd --zone=public --add-port=8080/tcp --permanentet rechargez le pare-feu firewall-cmd --reload

2 S'il s'agit d'un pare-feu iptables, exécutez vi /etc/sysconfig/iptables
et ajoutez le contenu suivant. Configurez -A RH-Firewall-1-INPUT -m state --state NEW -m tcp -p tcp --dport 8080 -j ACCEPT
comme et redémarrez iptables pour accéder au port 8080 dans le LAN

Dans différents systèmes Linux, les instructions de fonctionnement seront légèrement différentes, commandes liées au pare-feu Centos6 :

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

Pour le système Centos7, seules les commandes suivantes peuvent être utilisées pour démarrer et arrêter le pare-feu 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. Quelques autres problèmes

Après le démarrage, vous pouvez utiliser la commande ps -ef|grep tomcatpour vérifier si tomcat démarre normalement.

Si vous ne pouvez pas accéder après un démarrage normal, vous pouvez essayer d'accéder avec le port 8080 sans modifier le port 8080. S'il est accessible normalement via le port 8080, cela signifie que le port 80 est occupé par d'autres applications.

Ou utilisez netstat -an|grep 8080 la commande pour vérifier si un programme occupe le port 8080.

3. Configurez Tomcat pour qu'il démarre automatiquement au démarrage

1. Sous le répertoire tomcat/bin, ajoutez la configuration setenv.sh, qui sera appelée au démarrage du service, et configurez les paramètres de mémoire java en même temps.

Saisissez la commande à modifier :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. Ajoutez tomcat.service, ajoutez tomcat.service dans le répertoire /usr/lib/systemd/system

Saisissez la commande à modifier :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]配置了使用用户。

Lorsque plusieurs tomcats doivent être démarrés, copiez plusieurs fichiers d'installation de tomcat sous /usr/local/, tels que /usr/local/tomcat2, et configurez plusieurs tomcat.services tels que tomcat2.service, tomcat3.service dans la configuration pour modifier le chemin correspondant.

Étant donné que le pid est configuré, le fichier tomcat.pid sera généré dans le répertoire racine de tomcat au démarrage et supprimé après l'arrêt.

ps: En même temps, lorsque tomcat est démarré, l'exécution de start ne démarrera pas deux tomcats, garantissant qu'un seul service tomcat est toujours en cours d'exécution.

ps : plusieurs tomcats peuvent être configurés dans plusieurs répertoires et utiliser différents ports sans s'affecter mutuellement.

3. Configurer le démarrage automatique

systemctl enable tomcat.service

4. Démarrez Tomcat

systemctl start tomcat.service

5. Test dans le navigateur (omis)

6. Une fois les étapes ci-dessus terminées, si vous ne pouvez toujours pas accéder au service tomcat, vous pouvez essayer de redémarrer le serveur linux, commande : reboot

Commandes courantes Systemctl
où .service peut être omis

systemctl daemon-reload##Recharger la commande de service système : (opération après modification du script)

systemctl list-unit-files --type service## Afficher toutes les commandes de service :

systemctl status name.service## Afficher l'état du service

systemctl enable name.service## Définir le démarrage automatique du démarrage

systemctl disable name.service## Arrêter le démarrage automatique au démarrage

systemctl start name.service## Démarrer le service

systemctl stop name.service## Hors service

systemctl restart name.service## Redémarrez le service

Je suppose que tu aimes

Origine blog.csdn.net/weixin_44161444/article/details/129032464
conseillé
Classement