Déploiement de service Tomcat, configuration d'hôte virtuel et optimisation des paramètres

One, Présentation de Tomcat

1.1 Introduction

Le serveur Tomcat est un serveur d'applications Web gratuit et open source. Il s'agit d'un serveur d'applications léger. Il est couramment utilisé dans les systèmes de petite et moyenne taille et où il n'y a pas beaucoup d'utilisateurs simultanés. C'est le premier choix pour le développement et le débogage de programmes JSP . De manière générale, bien que Tomcat soit le même que les serveurs Web Apache ou Nginx, il a pour fonction de traiter les pages HTML, mais comme sa capacité à traiter du HTML statique est bien inférieure à celle d'Apache ou Nginx, Tomcat est généralement utilisé comme un servlet et un conteneur JSP. , fonctionnant séparément à l'arrière.

1.2 Composition de Tomcat

Tomcat se compose d'une série de composants, dont trois composants principaux:
(1) Conteneur Web: complète la fonction du serveur Web.
(2) Conteneur de servlet: le nom est catalina, qui est utilisé pour traiter le code de servlet.
(3) Conteneur JSP: utilisé pour traduire les pages Web dynamiques JSP en code Servlet.

1.2.1 JSP

Java Servlet est un programme s'exécutant sur un serveur Web ou un serveur d'applications. Il sert de couche intermédiaire entre une requête d'un navigateur Web ou d'un autre client HTTP et une base de données ou une application sur le serveur HTTP. À l'aide de Servlet, vous pouvez collecter les entrées utilisateur à partir de formulaires Web, présenter des enregistrements à partir de bases de données ou d'autres sources et créer des pages Web de manière dynamique. Similaire à la fonction CGI (Common Gateway Interface).
JSP signifie Java Server Pages, une technologie de développement Web dynamique. Il utilise des balises JSP pour insérer du code Java dans les pages HTML. Les balises commencent généralement par <% et se terminent par%>.
JSP est un servlet Java, principalement utilisé pour implémenter la partie interface utilisateur d'une application Web Java.
JSP obtient des données d'entrée utilisateur via des formulaires Web, accède aux bases de données et à d'autres sources de données, puis crée dynamiquement des pages Web.

Deuxièmement, le déploiement du service Tomcat

2.1 Configuration du serveur Tomcat

Jdk doit être installé avant le déploiement de Tomcat, car jdk est un environnement nécessaire à l'exécution de Tomcat.

1. Désactivez le pare-feu et téléchargez les packages logiciels requis pour installer Tomcat dans le répertoire / opt

jdk-8u201-linux-x64.rpm
apache-tomcat-9.0.16.tar.gz

systemctl stop firewalld
systemctl disable firewalld
setenforce 0

Insérez la description de l'image ici

2. Installez JDK

cd /opt
rpm -qpl jdk-8u201-linux-x64.rpm      检查软件包的工作目录
rpm -ivh jdk-8u201-linux-x64.rpm
java -version

Insérez la description de l'image ici
Insérez la description de l'image ici

3. Définissez les variables d'environnement JDK

vim /etc/profile.d/java.sh

export JAVA_HOME=/usr/java/jdk1.8.0_201-amd64		#输出定义Java的工作目录
export CLASSPATH=.:$JAVA_HOME/lib/tools.jar:$JAVA_HOME/lib/dt.jar	 #输出指定Java所需的类文件					
export PATH=$JAVA_HOME/bin:$PATH		#输出重新定义环境变量,$PATH一定要放在$Java后面,让系统先读取工作目录中的版本信息

source /etc/profile.d/java.sh
java -version

Insérez la description de l'image ici
Insérez la description de l'image ici

CLASSPATH:编译、运行Java程序时,JRE 会去该变量指定的路径中搜索所需的类(.class) 文件。
dt.jar:是关于运行环境的类库,主要是swing 的包。
tools.jar:主要是一些jdk. 工具的类库,包括javac, java, javap,javadoc等。
JDK:java development kit ( java开发工具)
JRE:java runtime envi ronment (java运行时环境)
JVM:java virtuak machine ( java虚拟机),使java程序可以在多种平台上运行class文件。
vim abc.java

public class abc {
    
    
public static void main(String[] args){
    
    
System.out.println("Hello world!");
   }
}

javac abc.java
java abc



javac:负责的是编译的部分,当执行javac时,会启动java的编译器程序。对指定扩展名的.java文件进行编译。生成了jvm可以识别的字节码文件。也就是class文件,也就是java的运行程序。
java:负责运行的部分.会启动jvm.加载运行时所需的类库,并对class文件进行执行.一个文件要被执行,必须要有一个执行的起始点,这个起始点就是main函数.

Insérez la description de l'image ici
Insérez la description de l'image ici

4. Installez et démarrez Tomcat

cd /opt
tar zxvf apache-tomcat-9.0.16.tar.gz
mv apache-tomcat-9.0.16 /usr/local/tomcat
##启动tomcat ##
/usr/local/tomcat/bin/startup.sh
netstat -natp | grep 8080

Insérez la description de l'image ici
Insérez la description de l'image ici
Insérez la description de l'image ici

浏览器访问Tomcat的默认主页http://192. 168.238.40:8080

Insérez la description de l'image ici

5. Optimiser la vitesse de démarrage de Tomcat

La première fois que vous démarrez tomcat, vous constaterez peut-être que Tomcat est très lent à démarrer. Par défaut, cela peut prendre des dizaines de secondes. Vous pouvez modifier le paramètre jdk pour le changer.

vim /usr/java/jdk1.8.0_201-amd64/jre/lib/security/java.security 
--117行--修改
securerandom.source=file:/dev/urandom    	#random和urandom都属于伪终端,都会提供和数据流,但urandom速度更快
/usr/local/tomcat/bin/shutdown.sh
/usr/local/tomcat/bin/startup.sh

Insérez la description de l'image ici
Insérez la description de l'image ici

2.2.1.1 Description des répertoires principaux

ll /usr/local/tomcat/

Insérez la description de l'image ici

● bin:存放启动和关闭Tomcat 的脚本文件,比较常用的是catalina.sh、 startup.sh、 shutdown.sh 三个文件
● conf:存放Tomcat 服务器的各种配置文件,比较常用的是server. xml、 context. xml、tomcat-users. xml、web. xml四个文件。
● lib:存放Tomcat 服务器的jar包,一般不作任何改动,除非连接第三方服务,比如redis, 那就需要添加相对应的jar包
● logs:存放Tomcat 日志
● temp:存放Tomcat运行时产生的文件
● webapps:存放项目资源的目录
● work:Tomcat 工作目录,一般清除 Tomcat 缓存的时候会使用到

2.3 Configuration de l'hôte virtuel Tomcat

Plusieurs fois, l'entreprise a plusieurs projets à exécuter, il est donc certainement impossible d'exécuter plusieurs services Tomcat sur un serveur, ce qui consommera trop de ressources système. À ce stade, vous devez utiliser l'hôte virtuel Tomcat. Par exemple, deux nouveaux noms de domaine, www.xyw.com et www.abc.com sont maintenant ajoutés, et il est à espérer que différents contenus de projet pourront être accessibles via ces deux noms de domaine.

1. Créez des répertoires et des fichiers de projet xyw et abc

mkdir /usr/local/tomcat/webapps/xyw
mkdir /usr/ local/ tomcat/ webapps/abc
echo "This is xyw page\!" > /usr/local/tomcat/webapps/xyw/index.jsp
echo "This is abc page\!" > /usr/local/tomcat/webapps/abc/index.jsp

Insérez la description de l'image ici

2. Modifiez le fichier de configuration principal Tomcat

vim /usr/local/tomcat/conf/server.xml
--165行前--插入
<Host name="www.xyw.com" appBase= "webapps" unpackWARs="true" autoDeploy="true" xmlValidation="false" xmlNamespaceAware="false">
<Context docBase="/usr/local/tomcat/webapps/xyw" path="" reloadable="true" />
</Host>

<Host name="wwW.abc.com" appBase="webapps" unpackWARs="true" autoDeploy="true" xmlValidation="false" xmlNamespaceAware="false">
<Context docBase="/usr/local/tomcat/webapps/abc" path="" reloadable="true" />
</Host>

Insérez la description de l'image ici

Host name:主机名
appBase:Tomcat程序工作目录,相对路径为webapps,绝对路径为/usr/local/tomcat/webapps
unpackWARs:是否解压war包
autoDeploy:指示Tomcat运行时,如有新的WEB应用是否允许自动部署
xmlValidation:是否验证xml文件执行有效性检验的标志
xmlNamespaceAware:是否启用xml命名空间,设置该值与xmlValidation为true,表示对web.xml文件执行有效性检验
docBase:WEB应用的目录
path:设置访问的URI为WEB应用的根目录
reloadable:是否在程序有改动时重新载入
/usr/local/tomcat/bin/shutdown.sh
/usr/local/tomcat/bin/startup.sh

Insérez la description de l'image ici

3. Vérification de l'accès au navigateur client

echo "192.168.238.50 www.xyw.com www.abc.com" >> /etc/hosts

浏览器访问http://www.xyw.com:8080
页面显示This is xyw page\!
浏览器访问http://www.abc.com:8080
页面显示This is abc page\!

Insérez la description de l'image ici

Insérez la description de l'image ici

La configuration par défaut de l'installation par défaut de Tomcat n'est pas adaptée à l'environnement de production. Elle peut souvent sembler suspendue et doit être redémarrée. Ce n'est que grâce à des tests de stress et une optimisation continus qu'elle peut fonctionner de manière efficace et stable.
L'optimisation comprend principalement trois aspects: l'optimisation du système d'exploitation (optimisation des paramètres du noyau), l'optimisation des paramètres du fichier de configuration Tomcat et le réglage de la machine virtuelle Java (JVM).

Quatrièmement, l'optimisation des paramètres du fichier de configuration Tomcat

Les paramètres d'optimisation couramment utilisés sont les suivants:
[maxThreads] Tomcat utilise des threads pour traiter chaque requête reçue. Cette valeur représente le nombre maximum de threads que Tomcat peut créer. La valeur par défaut est 200.
[MinSpareThreads] Le nombre minimum de threads inactifs, le nombre de threads initialisés au démarrage de Tomcat, signifie qu'il y a tellement de threads vides en attente même si personne ne l'utilise. La valeur par défaut est 10.
[MaxSpareThreads] Le nombre maximum de threads de réserve. Une fois que les threads créés dépassent cette valeur, Tomcat ferme les threads de socket qui ne sont plus nécessaires. La valeur par défaut est -1 (illimité). Généralement pas besoin de spécifier.
[URIEncoding] Spécifiez le format de codage d'URL du conteneur Tomcat. Le format de codage de langue n'est pas aussi facile à configurer que les autres logiciels de serveur Web et doit être spécifié séparément.
[ConnnectionTimeout] Délai d'expiration de la connexion réseau, unité: millisecondes, mis à 0 signifie ne jamais expirer, ce paramètre a des dangers cachés. La valeur par défaut est généralement de 20000 millisecondes.
[EnableLookups] S'il faut inverser la vérification du nom de domaine pour renvoyer le nom d'hôte de l'hôte distant, la valeur est: true ou false, s'il est défini sur false, il retournera directement l'adresse IP, afin d'améliorer la capacité de traitement , il doit être défini sur false.
[disableUploadTimeout] Lors du téléchargement Indique s'il faut utiliser un mécanisme de temporisation. Doit être défini sur true.
[Connect ionUploadTimeout] Délai de téléchargement. Le téléchargement du fichier Bijing peut prendre plus de temps. Ajustez cela en fonction des besoins de votre entreprise afin que le servlet ait plus de temps pour terminer son exécution. Il doit être comparé au paramètre précédent. Il prendra effet lorsqu'ils sont utilisés ensemble.
[AcceptCount] Spécifie la longueur maximale de la file d'attente des demandes de connexion entrantes lorsque tous les threads disponibles pour le traitement des demandes sont utilisés. Les demandes dépassant ce nombre ne seront pas traitées. La valeur par défaut est 100.
[Compression] S'il faut effectuer une compression GZIP sur les données de réponse, off: signifie que la compression est interdite: on: signifie que la compression est autorisée (le texte sera compressé), force: signifie que la compression est effectuée dans tous les cas, la valeur par défaut est désactivée, il peut être efficace après des données compressées. La taille de la page peut généralement être réduite d'environ 1/3 pour économiser de la bande passante.
[CompressionMinsize] indique la valeur minimale de la réponse compressée. Ce n'est que lorsque la taille du message de réponse est supérieure à cette valeur que le message sera compressé. Si la fonction de compression est activée, la valeur par défaut est 2048.
[CompressableMimeType] Type de compression, spécifiez les types de fichiers compressés.
[NoCompress ionUserAgents = "gozilla, traviata"] Pour les navigateurs suivants, n'activez pas la compression. Voici
quelques paramètres de configuration couramment utilisés, ainsi que de nombreux autres paramètres. Vous pouvez continuer à optimiser les paramètres de HTTP Connector et AJP Connector Valeur, vous pouvez vous référer à la description détaillée du document officiel pour l'apprentissage.

vim /usr/local/tomcat/conf/server.xml
<Connector port="8080" protocol="HTTP/11.1"
connectionTimeout="20000"
redirectPort="8443"
--71行--插入
minSpareThreads="50"
enableLookups="false"
disableUploadTimeout="true"
acceptCount="300"
maxThreads="500"
processorCache="500"
URIEncoding="UTF-8"
compression="on"
compressionMinSize="2048"
compressableMimeType= "text/html,text/xml,text/javascript,text/css,text/plain,image/gif,image/jpg,image/png"/>

Insérez la description de l'image ici
Insérez la description de l'image ici

Je suppose que tu aimes

Origine blog.csdn.net/IvyXYW/article/details/112665002
conseillé
Classement