Nous avons parlé du processus de création d'un service Web et de l'aperçu du service. Pour plus d'informations, cliquez ici "La route vers la création de services Web (partie 1)".
Cette fois, je publierai le travail de construction de l'environnement serveur. Le contenu du travail est le suivant. ・ Installation du système d'exploitation ・ Installation JDK -Installation et paramètres de démarrage automatique de tomcat et Apache httpd -Paramètres du gestionnaire d'applications Web pour un déploiement facile sur tomcat ・ Coopération entre tomcat et Apache httpd Permet de transmettre le traitement à tomcat en accédant à Apache
Pourquoi avez-vous choisi Apache au lieu du Nginx branché? C'est parce que, suite à l'examen du contenu du service et des fonctionnalités de cette époque, j'ai pensé qu'Apache était préférable. Nginx semble avoir été créé pour résoudre le problème C10K d'Apache, mais ce service n'est pas un service auquel 10 000 personnes peuvent accéder en même temps. Et bien que Nginx piloté par les événements consomme moins de mémoire et soit plus rapide, il n'a pas beaucoup de fonctionnalités depuis le début. Comme Apache a depuis le début de nombreuses fonctions de serveur Web, j'ai pensé qu'il serait facile pour moi, qui suis inexpérimenté, de le construire sans le travail.
Installer CentOS 7.4 sur VMware
Suivez les étapes du lien ci-dessus pour installer CentOS sur VMware. J'utilise généralement CentOS comme système d'exploitation principal. Cela peut être Ubuntu s'il est populaire, mais comme Linux est utilisé uniquement à des fins de serveur en premier lieu, l'interface graphique n'est pas utilisée principalement. Par conséquent, je ne trouve pas Ubuntu attrayant. De plus, je me sens mal à l'aise avec Ubuntu, qui est fréquemment mis à jour. CentOS est un clone RHEL qui a un sens de la stabilité et est fréquemment utilisé par les entreprises pour une utilisation en entreprise, je voudrais donc m'y habituer pour l'avenir. Cependant, la raison principale est que c'est le plus simple à utiliser avec RHEL sur le terrain.
# yum -y install java-1.8.0-openjdk java-1.8.0-openjdk-devel
Créez un utilisateur dédié à tomcat pour la sécurité sans créer de shell de connexion
# useradd -s /sbin/nologin tomcat
# cd /opt
# wget http://ftp.riken.jp/net/apache/tomcat/tomcat-9/v9.0.8/bin/apache-tomcat-9.0.8.tar.gz
Vous pouvez l'installer avec yum, mais tomcat7 est installé par défaut. Vous pouvez installer la dernière version en modifiant le référentiel yum, mais c'est un problème, alors téléchargez et décompressez le package directement.
# tar -xvzf apache-tomcat-9.0.8.tar.gz
Gérez le répertoire tomcat avec des liens symboliques en tenant compte des changements de version
# ln -s /opt/apache-tomcat-9.0.8 /opt/tomcat
Ajout du contenu suivant
# vi /etc/profile
export JAVA_HOME=/usr/lib/jvm/java-1.8.0-openjdk-1.8.0.171-8.b10.el7_5.x86_64
export JRE_HOME=/usr/lib/jvm/java-1.8.0-openjdk-1.8.0.171-8.b10.el7_5.x86_64/jre
export CATALINA_HOME=/opt/tomcat
Réfléchir
# source /etc/profile
Confirmation de réflexion
# /opt/tomcat/bin/version.sh
Using CATALINA_BASE: /opt/tomcat
Using CATALINA_HOME: /opt/tomcat
Using CATALINA_TMPDIR: /opt/tomcat/temp
Using JRE_HOME: /usr/lib/jvm/java-1.8.0-openjdk-1.8.0.171-8.b10.el7_5.x86_64/jre
Using CLASSPATH: /opt/tomcat/bin/bootstrap.jar:/opt/tomcat/bin/tomcat-juli.jar
Server version: Apache Tomcat/9.0.8
Server built: Apr 27 2018 19:32:00 UTC
Server number: 9.0.8.0
OS Name: Linux
OS Version: 3.10.0-693.el7.x86_64
Architecture: amd64
JVM Version: 1.8.0_171-b10
JVM Vendor: Oracle Corporation
Vérifiez les paramètres actuels
# firewall-cmd --list-services --zone=public --permanent
ssh dhcpv6-client
Ajouter tomcat ici
Ajout de service Créez un nouveau fichier et ajoutez le contenu suivant
# vi /etc/firewalld/services/tomcat.xml
Refléter les paramètres
# firewall-cmd --add-service=tomcat --zone=public --permanent
# firewall-cmd --reload
Vérification
# firewall-cmd --list-services --zone=public --permanent
ssh dhcpv6-client tomcat
SELINUX a été remplacé par désactivé
# vi /etc/selinux/config
# This file controls the state of SELinux on the system.
# SELINUX= can take one of these three values:
# enforcing - SELinux security policy is enforced.
# permissive - SELinux prints warnings instead of enforcing.
# disabled - No SELinux policy is loaded.
SELINUX=disabled
# SELINUXTYPE= can take one of three two values:
# targeted - Targeted processes are protected,
# minimum - Modification of targeted policy. Only selected processes are protected.
# mls - Multi Level Security protection.
SELINUXTYPE=targeted
Redémarrer
# reboot
Vérifiez les paramètres après le redémarrage
# getenforce
Disabled
# /opt/tomcat/bin/startup.sh
Using CATALINA_BASE: /opt/tomcat
Using CATALINA_HOME: /opt/tomcat
Using CATALINA_TMPDIR: /opt/tomcat/temp
Using JRE_HOME: /usr/lib/jvm/java-1.8.0-openjdk-1.8.0.171-8.b10.el7_5.x86_64/jre
Using CLASSPATH: /opt/tomcat/bin/bootstrap.jar:/opt/tomcat/bin/tomcat-juli.jar
Tomcat started.
Confirmer le démarrage avec le navigateur http://localhost:8080
Créer un fichier de service tomcat avec un nouveau fichier
# vi /etc/systemd/system/tomcat.service
[Unit] Description=Apache Tomcat 9 After=network.target
[Service] User=tomcat Group=tomcat Type=oneshot PIDFile=/opt/tomcat/tomcat.pid RemainAfterExit=yes
ExecStart=/opt/tomcat/bin/startup.sh ExecStop=/opt/tomcat/bin/shutdown.sh ExecReStart=/opt/tomcat/bin/shutdown.sh;/opt/tomcat/bin/startup.sh
[Install] WantedBy=multi-user.target
Réfléchir
Démarrage automatique activé
utilisateur, groupe changé en tomcat
Confirmation du démarrage automatique
Vérifiez l'état après le redémarrage. Doit être actif.
● tomcat.service - Apache Tomcat 9 Loaded: loaded (/etc/systemd/system/tomcat.service; enabled; vendor preset: disabled) Active: active (exited)
Au cas où, vérifiez l'affichage avec un navigateur PC
http://[IPアドレス]:8080
### Paramètres du gestionnaire d'applications Web
Rendre possible le déploiement et la gestion des applications Web à l'aide de l'interface graphique.
Ajoutez la description suivante au fichier. * XXXX est le nom et le chemin de l'administrateur que vous souhaitez définir
#### **`# vi /opt/tomcat/conf/tomcat-users.xml `**
```xml
Permet l'accès à partir de terminaux externes. Actuellement, il n'est accessible qu'à partir de l'hôte local, modifiez donc le paramètre d'autorisation.
# vi /opt/tomcat/webapps/manager/META-INF/context.xml
Redémarrez et reflétez les paramètres
Accès de l'extérieur
http://IPアドレス:8080/manager/html
[![https://gyazo.com/fd312f8dc485aa6a6e44b7270cc5b0a7](https://i.gyazo.com/fd312f8dc485aa6a6e44b7270cc5b0a7.png)](https://gyazo.com/fd312f8dc485aa6a6e44b7270cc5b0a7)
S'il est affiché en toute sécurité, c'est OK
### Installation et configuration d'Apache httpd
Installation
Vérification
Server version: Apache/2.4.6 (CentOS) Server built: Apr 20 2018 18:10:38
paramètres du pare-feu
Paramètres de démarrage automatique d'Apache
Vérifier les paramètres
Assurez-vous qu'il est activé
● httpd.service - The Apache HTTP Server Loaded: loaded (/usr/lib/systemd/system/httpd.service; enabled; vendor preset: disabled) Active: inactive (dead)
Confirmation du démarrage du service
Vérifiez l'état après le redémarrage
● httpd.service - The Apache HTTP Server Loaded: loaded (/usr/lib/systemd/system/httpd.service; enabled; vendor preset: disabled) Active: active (running)
### Coopération entre Apache et Tomcat en utilisant le protocole AJP
Confirmez que le protocole AJP est défini
#### **`# view /opt/tomcat/conf/server.xml`**
```xml
Paramètre d'activation du module Vérifiez les deux modules suivants. S'il est commenté, prenez un commentaire.
# vi /etc/httpd/conf.modules.d/00-proxy.conf
LoadModule proxy_module modules/mod_proxy.so LoadModule proxy_ajp_module modules/mod_proxy_ajp.so
Avec cela seul, je l'ai juste activé, j'ai donc ajouté un paramètre pour transmettre toutes les requêtes Apache httpd à tomcat.
ProxyPass / ajp://localhost:8009/
Redémarrez Apache httpd et confirmez le démarrage
[![https://gyazo.com/2fe182fbafc4bd9b07cbbe83609221ed](https://i.gyazo.com/2fe182fbafc4bd9b07cbbe83609221ed.png)](https://gyazo.com/2fe182fbafc4bd9b07cbbe83609221ed)
Confirmez qu'il est passé d'Apache httpd et que tomcat peut être démarré sans définir le port sur 8080
Pour ce travail, l'accès externe au gestionnaire d'applications Web de tomcat était le point clé. La plupart des fichiers de paramètres ont été stockés au mauvais endroit, et j'ai consulté mon patron expérimenté et je l'ai finalement résolu.
Ceci termine la construction de l'environnement côté serveur. En ce qui concerne la base de données, la conception des tables est également impliquée, nous le ferons donc collectivement au moment du développement de java.
La prochaine fois, je publierai le travail autour de html et Bootstrap ensemble.
Recommended Posts