Ich habe einen Webserver erstellt, um Server zu studieren, und versucht, Java Application auszuführen.
Nach der Untersuchung scheint es, dass Sie es vorerst verschieben können, indem Sie die folgenden Schritte ausführen.
Installieren Sie das JDK, um die Java-Ausführung auf dem Server auszuführen. Die folgende Seite war leicht zu verstehen. ■ Referenz: Ich habe Tomcat 9 in CentOS 7 eingefügt
Führen Sie den folgenden Befehl auf dem zu installierenden Server aus (JDK 8).
# yum install java-1.8.0-openjdk-devel.x86_64
(Wenn Sie nach einem anderen JDK suchen möchten, führen Sie den folgenden Befehl aus.)
# yum search openjdk
Stellen Sie sicher, dass es mit dem folgenden Befehl installiert ist.
# java -version
Es ist in Ordnung, wenn die folgende Ausgabe ausgegeben wird.
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)
Installieren Sie tomcat, einen Servlet-Container, um Java-Servlets (Java-Programme, die auf dem Server ausgeführt werden) auszuführen. Ich höre oft Kater, aber ich habe es benutzt, ohne es zu wissen ... Fügen Sie zunächst einen Benutzer hinzu, um Tomcat auszuführen (Benutzername: tomcat).
# useradd -s /sbin/nologin tomcat
■ Referenz: Ausführen von Befehlen als Benutzer, der sich nicht anmelden kann + Bonus
Laden Sie dann die Datei für die Tomcat-Installation auf den Server herunter.
# curl -O https://ftp.jaist.ac.jp/pub/apache/tomcat/tomcat-9/v9.0.37/bin/apache-tomcat-9.0.37.tar.gz
Entpacken Sie die heruntergeladene Datei mit dem folgenden Befehl.
# tar -xzvf apache-tomcat-9.0.37.tar.gz
Wechseln Sie mit dem folgenden Befehl nach / usr / local / tomcat.
# mv apache-tomcat-9.0.37 /usr/local/tomcat
Benutzereigentümer: Ändern Sie den Gruppeneigentümer in den Benutzer "tomcat", der zuvor mit dem folgenden Befehl erstellt wurde
# chown -R tomcat:tomcat /usr/local/tomcat
Erstellen Sie mit dem folgenden Befehl eine systemd-Einheitendatei, damit Tomcat als Dienst erkannt wird, den der Server ausführen kann.
■ Referenz: Einführung in Systemd
# vi /etc/systemd/system/tomcat.service
Schreiben Sie den folgenden Inhalt in die erstellte Datei und speichern Sie sie. Um ehrlich zu sein, verstehe ich den Inhalt nicht wirklich. Verstehen, dass wir erklären, dass wir einen solchen Service schaffen werden.
[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
Legen Sie außerdem die Leseberechtigung, die Schreibberechtigung und die Ausführungsberechtigung für die erstellte Datei fest.
# chmod 755 /etc/systemd/system/tomcat.service
■ Referenz: [chmod] Befehlsänderungs- / Verzeichnisberechtigungen (Berechtigungsattribute)
Stellen Sie den automatischen Start ein und aktivieren Sie den Dienst
# systemctl enable tomcat
Created symlink from /etc/systemd/system/multi-user.target.wants/tomcat.service to /etc/systemd/system/tomcat.service.
# systemctl start tomcat
Starten Sie Tomcat.
Greifen Sie auf die folgende URL zu und klicken Sie auf OK, wenn der Tomcat-Standardbildschirm angezeigt wird.
[http: // Server-IP-Adresse: 8080 /](http: // [Server-IP-Adresse]: 8080 /)
Es scheint besser zu sein, den Apatch HTTP-Server zu installieren. Es scheint, dass Tomcat auch eine Webserver-Funktion hat. Verwenden Sie diese also (installieren Sie sie also nicht speziell). Dann dachte ich, dass ich Apache HttpServer überhaupt nicht brauche, aber der Webserver von Tomcat scheint ein Bonus zu sein, und angesichts der Leistung scheint es besser, ihn zu haben.
■ Referenz: [Inhouse-Studiensitzung] Apache und Tomcat (09.03.2017)
Es scheint, dass die Java-Anwendung in den Webanwendungen (/ usr / local / tomcat / webapps /) direkt unter dem installierten Tomcat platziert werden sollte. Ich war mir dieses Gebiets auch nicht bewusst, also habe ich es nicht wirklich verstanden. Die folgende Seite war sehr einfach zu verstehen.
■ Referenz: Hallo Welt mit Tomcat
Erstellen Sie vorerst einen Projektordner mit dem folgenden Befehl
# mkdir /usr/local/tomcat/webapps/javaproject
Erstellen Sie danach eine Klassendatei und eine web.xml. Erstellen Sie ein Klassenverzeichnis mit dem folgenden Befehl.
# mkdir /usr/local/tomcat/webapps/javaproject/WEB-INF/classes
Erstellen Sie eine Java-Quelldatei mit dem folgenden Befehl.
# vi /usr/local/tomcat/webapps/javaproject/WEB-INF/classes/HelloWorld.java
Bearbeiten und speichern Sie wie folgt.
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();
}
}
Kompilieren Sie mit dem folgenden Befehl.
# cd /usr/local/tomcat/webapps/javaproject/WEB-INF/classes/
# javac -classpath /usr/local/tomcat/lib/servlet-api.jar HelloWorld.java
Hallo Welt. Im selben Verzeichnis. OK, wenn Sie eine Klasse haben. Erstellen Sie anschließend die Datei web.xml und verknüpfen Sie die URL und das Servlet. Erstellen Sie die Datei web.xml mit dem folgenden Befehl.
# vi /usr/local/tomcat/webapps/javaproject/WEB-INF/web.xml
Bearbeiten und speichern Sie wie folgt
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>
Es nähert sich endlich dem Ende. Es war lange, weil ich süchtig danach war ... Starten Sie tomcat mit dem folgenden Befehl neu.
# systemctl restart tomcat
Greifen Sie auf die folgende URL zu und es ist in Ordnung, wenn Hello World angezeigt wird!
[http: // Server-IP-Adresse: 8080 / javaproject / servlet / hello](http: // [Server-IP-Adresse]: 8080 / javaproject / servlet / hello)
Recommended Posts