[CENTOS] Créer un serveur d'applications Web (Java) sur VPS

J'ai construit un serveur Web pour étudier le serveur et j'ai essayé d'exécuter l'application Java.

table des matières

  1. Environnement d'exploitation
  2. Que faire
  3. Procédure de construction
  4. Site de référence

1. Environnement d'exploitation

2. Que faire

Après enquête, il semble que vous pouvez le déplacer pour le moment en procédant comme suit.

--Construction de l'environnement d'exécution Java --Préparation du conteneur de servlet --Construire un serveur Web

3. Procédure de construction

Construction de l'environnement d'exécution Java

Installez le JDK pour exécuter l'exécution Java sur le serveur. Le site suivant était facile à comprendre. ■ Référence: J'ai mis Tomcat 9 dans CentOS 7

Exécutez la commande suivante sur le serveur à installer (JDK8).

# yum install java-1.8.0-openjdk-devel.x86_64

(Si vous souhaitez rechercher un autre JDK, exécutez la commande suivante.)

# yum search openjdk

Confirmez qu'il est installé avec la commande suivante.

# java -version

Il est OK si la sortie suivante est sortie.

openjdk version "1.8.0_252"
OpenJDK Runtime Environment (build 1.8.0_252-b09)
OpenJDK 64-Bit Server VM (build 25.252-b09, mixed mode)

Préparation du conteneur de servlet

Installez tomcat, un conteneur de servlets, pour exécuter les servlets Java (programmes Java qui s'exécutent sur le serveur). J'entends souvent tomcat, mais je l'ai utilisé sans le savoir ... Tout d'abord, ajoutez un utilisateur pour exécuter Tomcat (nom d'utilisateur: tomcat).

# useradd -s /sbin/nologin tomcat

■ Référence: Comment exécuter des commandes en tant qu'utilisateur ne pouvant pas se connecter + bonus

Ensuite, téléchargez le fichier sur le serveur pour l'installation de Tomcat.

# curl -O https://ftp.jaist.ac.jp/pub/apache/tomcat/tomcat-9/v9.0.37/bin/apache-tomcat-9.0.37.tar.gz

Décompressez le fichier téléchargé avec la commande suivante.

# tar -xzvf apache-tomcat-9.0.37.tar.gz

Accédez à / usr / local / tomcat avec la commande suivante.

# mv apache-tomcat-9.0.37 /usr/local/tomcat

Propriétaire de l'utilisateur: remplacez le propriétaire du groupe par l'utilisateur "tomcat" créé précédemment avec la commande suivante

# chown -R tomcat:tomcat /usr/local/tomcat

Créez un fichier d'unité systemd avec la commande suivante pour que Tomcat soit reconnu comme un service exécutable par le serveur.

■ Référence: Introduction à Systemd

# vi /etc/systemd/system/tomcat.service

Écrivez le contenu suivant dans le fichier créé et enregistrez-le. Pour être honnête, je ne comprends pas vraiment le contenu. Comprenant que nous déclarons que nous allons créer un tel service.

[Unit]
Description=Apache Tomcat 9
After=syslog.target network.target

[Service]
User=tomcat
Group=tomcat
Type=oneshot
PIDFile=/usr/local/tomcat/tomcat.pid
RemainAfterExit=yes

ExecStart=/usr/local/tomcat/bin/startup.sh
ExecStop=/usr/local/tomcat/bin/shutdown.sh
ExecReStart=/usr/local/tomcat/bin/shutdown.sh;/usr/local/tomcat/bin/startup.sh

[Install]
WantedBy=multi-user.target

En outre, définissez les autorisations de lecture, d'écriture et d'exécution pour le fichier créé.

# chmod 755 /etc/systemd/system/tomcat.service

■ Référence: [chmod] autorisations de fichier / répertoire de changement de commande (attributs d'autorisation)

Définir le démarrage automatique et activer le service

# systemctl enable tomcat
Created symlink from /etc/systemd/system/multi-user.target.wants/tomcat.service to /etc/systemd/system/tomcat.service.
# systemctl start tomcat

Démarrez Tomcat.

Accédez à l'URL suivante et OK lorsque l'écran par défaut de Tomcat apparaît.

[http: // adresse IP du serveur: 8080 /](http: // [adresse IP du serveur]: 8080 /)

スクリーンショット 2020-07-25 18.18.47.png

Construire un serveur Web

Il semble qu'il vaut mieux installer le serveur HTTP Apatch, Il semble que Tomcat dispose également d'une fonction Web Server, alors utilisez-la (donc ne l'installez pas en particulier). Ensuite, j'ai pensé que je n'avais pas besoin d'Apache HttpServer en premier lieu, mais le serveur Web de tomcat semble être un bonus, et compte tenu des performances, il semble préférable de l'avoir.

■ Référence: [Session d'étude interne] Apache et Tomcat (2017/03/09)

Placement d'applications Java

Il semble que l'application java devrait être placée dans les webapps (/ usr / local / tomcat / webapps /) directement sous le Tomcat installé. Je n'étais pas au courant de ce domaine non plus, donc je ne l'ai pas vraiment compris. Le site suivant était très facile à comprendre.

■ Référence: Hello World with Tomcat

Pour le moment, créez un dossier de projet avec la commande suivante

# mkdir /usr/local/tomcat/webapps/javaproject

Après cela, créez un fichier de classe et web.xml. Créez un répertoire de classes avec la commande suivante.

# mkdir /usr/local/tomcat/webapps/javaproject/WEB-INF/classes

Créez un fichier source Java avec la commande suivante.

# vi /usr/local/tomcat/webapps/javaproject/WEB-INF/classes/HelloWorld.java

Modifiez et enregistrez comme suit.

HelloWorld.java


import java.io.*;
import javax.servlet.*;
import javax.servlet.http.*;

public class HelloWorld extends HttpServlet {
    public void doGet(HttpServletRequest request,
    HttpServletResponse response) throws IOException, ServletException {
        PrintWriter out = response.getWriter();
        out.println("<html>");
        out.println("HelloWorld");
        out.println("</html>");
        out.close();
    }    
}

Compilez avec la commande suivante.

# cd /usr/local/tomcat/webapps/javaproject/WEB-INF/classes/
# javac -classpath /usr/local/tomcat/lib/servlet-api.jar HelloWorld.java 

Hello World. Dans le même répertoire. OK si vous avez un cours. Après cela, créez web.xml et liez l'URL et le servlet. Créez web.xml avec la commande suivante.

# vi /usr/local/tomcat/webapps/javaproject/WEB-INF/web.xml

Modifiez et enregistrez comme suit

web.xml


<?xml version="1.0" encoding="ISO-8859-1"?>
<!DOCTYPE web-app
PUBLIC "-//Sun Microsystems, Inc.//DTD Web Application 2.3//EN"
"http://java.sun.com/dtd/web-app_2_3.dtd">

<web-app>
<servlet>
<servlet-name>hello</servlet-name>
<servlet-class>HelloWorld</servlet-class>
</servlet>

<servlet-mapping>
<servlet-name>
hello
</servlet-name>
<url-pattern>
/servlet/hello
</url-pattern>
</servlet-mapping>

</web-app>

Il approche enfin de la fin. Ça a été long parce que j'en étais accro ... Redémarrez tomcat avec la commande suivante.

# systemctl restart tomcat

Accédez à l'URL suivante et lorsque Hello World est affiché, c'est OK!

[http: // adresse IP du serveur: 8080 / javaproject / servlet / hello](http: // [adresse IP du serveur]: 8080 / javaproject / servlet / hello) スクリーンショット 2020-07-25 22.32.50.png

Recommended Posts

Créer un serveur d'applications Web (Java) sur VPS
Création d'applications Web Java sur Windows Server 2016
Volume d'essais pour créer une application Web Java sur Windows Server 2016
Serveur Web et serveur d'applications Rails
Créer un serveur Minecraft sur AWS
Essayez d'utiliser le framework Java Nablarch [Application Web]
Kick ShellScript sur le serveur depuis Java
Créer un environnement de développement Java sur Mac
Créer un environnement de développement Java 8 avec AWS Cloud 9
Déployer des applications Web Java sur Heroku
Rôle de JSP dans les applications Web [Java]
[Java] Déployer une application Web créée avec Eclipse + Maven + Ontology avec Heroku
Essayez de créer un environnement Java 8 sur Amazon Linux2
build java vagrant
Placez le projet Java à l'aide de la base de données sur le serveur créé dans VPS jusqu'à présent
État de l'application Java 9+
[Java] Créer un environnement de développement Java sur Ubuntu et vérifier l'exécution
J'ai créé un environnement Java EE sur AWS et essayé d'exécuter une application Web
Construire Java x Spring x VSCode x Gradle sur Docker (1)
Essayez la communication en utilisant gRPC sur un serveur Android + Java
[Pour les débutants] Jusqu'à la création d'un environnement de développement d'applications Web utilisant Java sur Mac OS
Créer un environnement de développement Java avec VS Code sur Mac
Créer un conteneur Docker pour un serveur Web simple Python
[Tutoriel] Télécharger Eclipse → Lancer l'application Web avec Java (Pléiades)
J'ai essayé d'utiliser Log4j2 sur un serveur Java EE
Créez une application JAVA WEB et essayez OMC APM
Bluetooth Web sur Ubuntu20.04
Installez Java sur Mac
Exécutez PostgreSQL sur Java
java construire un triangle
Construction de premier niveau (Java)
Automatisation des tests d'applications Web
JPS (pages Java Server)
Construire Java avec Wercker
Construction d'environnement de développement d'applications Web en Java (pour les personnes inexpérimentées)
Comment créer un serveur d'applications sur une instance EC2 d'AWS
Utiliser Java Web Start dans un environnement OpenJDK sous Windows
Emplacement d'extraction du fichier d'application du serveur Tomcat sur l'hôte local
Construction d'environnement de développement d'applications Web Java avec VS Code (struts2)
1. Exécutez rapidement des modules Web Java sur Google Kubernetes Engine (GKE)
Afficher une erreur détaillée dans Logger lors de l'exécution de Java sur le serveur