[LINUX] Ich werde die Infrastruktur weiterhin meiden, weil es schwierig erscheint ... Der Programmierer hat sich bemüht, einen Server zu bauen, um sie zu überwinden. WebAP Server Edition

Einführung

Der Server, das Netzwerk und so weiter ... Ich denke, dass ich es eines Tages tun muss * n. Während der Arbeit habe ich oft die für die Infrastruktur zuständige Person gefragt, und ich habe immer die Gelegenheit vermieden, sie zu berühren.

** "Aber das ist okay> <!" ** Also, ~~ Black Screen Allergie ~~ Dies ist ein Memorandum, das von Anfängern während der Untersuchung erstellt wurde. Wenn Sie Auslassungen oder Fehler in den Einstellungen finden, lassen Sie es uns bitte wissen ...

Ich habe versucht, einen einfachen WebAP-Server ohne Apache-Integration zu erstellen.

Konstruktionsbild

img.JPG

Schreiben Sie in diesem Artikel den Aufbau des WebAP-Servers auf. img_web.jpg

Umgebung

Gebaut mit EC2 auf AWS. OS:Red Hat Enterprise Linux 7

Dieses Mal ist 8080 für die Sicherheitszone eingestellt. Nehmen Sie gegebenenfalls die entsprechenden Einstellungen vor.

Was von nun an vorzubereiten ... ・ Kater ・ JDK -JDBC-Treiber

** * Die Version ist ab Januar 2019. Verwenden Sie die richtige. ** **.

Umgebung

davor

Es ist notwendig, den Pfad zu kennen, wenn die Umgebung erstellt wird. Ich fuhr mit der Konstruktion fort, während ich mit dem folgenden Befehl nach dem installierten Pfad suchte. (Im Text wird der detaillierte Pfad nicht beschrieben und mit [Installierter Pfad] vereinheitlicht.)

$ find / -name "Dateiname, den Sie nachschlagen möchten" -ls

Der Dateiname, nach dem Sie suchen möchten, ist ein Platzhalter (*) Kann für die Fuzzy-Suche verwendet werden.
Beispiel) finden/ -name "tomcat*" -ls

Außerdem erforderten einige Befehle Root-Rechte, aber ich habe sie mit sudo ausgeführt. (Die Beschreibung wird diesmal weggelassen.)

JDK

Installation

$ yum -y install java-1.8.0-openjdk-devel

Bestätigung

$ java -version

openjdk version "1.8.0_191"
OpenJDK Runtime Environment (build 1.8.0_191-b12)
OpenJDK 64-Bit Server VM (build 25.191-b12, mixed mode)
$ javac -version

javac 1.8.0_191

Tomcat -Finden Sie die URL für die Installation Offizielle Tomcat-Website

Installation


$ wget http://ftp.jaist.ac.jp/pub/apache/tomcat/tomcat-8/v8.5.37/bin/apache-tomcat-8.5.37.tar.gz
$ yum -y install wget

Bereitstellung und Platzierung von tar.gz

$ tar -xzvf installierter Pfad/apache-tomcat-8.5.37.tar.gz
$ mkdir /opt/apache-tomcat-8.5.37
$mv installierter Pfad/apache-tomcat-8.5.37 /opt/apache-tomcat-8.5.37

Festlegen der Dateierstellung

Erstellen Sie einen neuen tomcat.service und öffnen Sie ihn

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

Beschreiben Sie Folgendes

[Unit]
Description=Apache Tomcat 8
After=syslog.target 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

Autorität erteilen

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

Starten Sie Tomcat

$ systemctl start tomcat

Bonus: Automatische Starteinstellung

$ systemctl enable tomcat

Bonus: Tomcat-Verwaltungsbildschirm

Ändern Sie tomcat-users.xml

$vi installierter Pfad/tomcat-users.xml

Fügen Sie beim Öffnen von tomcat-users.xml Berechtigungen hinzu

<role rolename="admin"/>
<role rolename="admin-gui"/>
<role rolename="admin-script"/>
<role rolename="manager"/>
<role rolename="manager-gui"/>
<role rolename="manager-script"/>
<role rolename="manager-jmx"/>
<role rolename="manager-status"/>
<user name="xxxxxxxx" password="yyyyyyyy" roles="admin,manager,admin-gui,admin-script,manager-gui,manager-script,manager-jmx,manager-status" />

Ändern Sie context.xml

$vi installierter Pfad/manager/META-INF/context.xml

Kommentieren Sie Folgendes aus

<Valve className="org.apache.catalina.valves.RemoteAddrValve"
         allow="127\.\d+\.\d+\.\d+|::1|0:0:0:0:0:0:0:1" />

↓

<!--
<Valve className="org.apache.catalina.valves.RemoteAddrValve"
         allow="127\.\d+\.\d+\.\d+|::1|0:0:0:0:0:0:0:1" />
-->

Starten Sie Tomcat neu

$ systemctl restart tomcat

Zugriff und Überprüfung

[http: // öffentliche IP: 8080 / manager / html](http: // öffentliche IP: 8080 / manager / html)

OK, wenn der Tomcat-Katzenbildschirm angezeigt wird

Wenn Sie nicht darauf zugreifen können, legen Sie die Firewall fest

Firewall

Fügen Sie Port 8080 hinzu

$ firewall-cmd --add-port=8080/tcp --zone=public --permanent
$ yum -y install firewalld

Neustart

$ systemctl restart firewalld

Einstellungen für den automatischen Start

$ systemctl enable firewalld

Bestätigen

$ firewall-cmd --list-all

ports: 8080/tcp ← OK, wenn hinzugefügt

JDBC-Treiber

Installieren Sie dieses Mal den JDBC-Treiber, um über die Java-Anwendung eine Verbindung zu PostgreSQL auf dem DB-Server herzustellen.

Installation

$ yum install -y postgresql-jdbc

Kopieren

Kopieren Sie es in den lib-Ordner des installierten Tomcat

$ cp /Installierter Pfad/postgresql-jdbc.jar /Installierter Pfad/apach-tomcat-8.5.37/lib

Ende

Sie haben jetzt einen einfachen WebAP-Server erstellt. Als nächstes fassen wir den Aufbau des DB-Servers zusammen.

Recommended Posts

Ich werde die Infrastruktur weiterhin meiden, weil es schwierig erscheint ... Der Programmierer hat sich bemüht, einen Server zu bauen, um sie zu überwinden. WebAP Server Edition
Ich habe versucht, eine SATA-Software-RAID-Konfiguration zu erstellen, die das Betriebssystem unter Ubuntu Server startet
Ich habe versucht, eine Site zu erstellen, mit der die aktualisierten Informationen von Azure einfach angezeigt werden können
Ich habe versucht, es zu erweitern, damit die Datenbank mit der Analysesoftware von Wiire verwendet werden kann
Ich habe versucht, eine Serverumgebung zu erstellen, die unter Windows 10 ausgeführt wird
So erstellen Sie einen NEM-Knoten (aktuelle Version) (NIS1: NEM Infrastructure Server)
Ich habe versucht, Sphinx-Dokumente an BitBucket zu senden und sie automatisch auf dem Webserver wiederzugeben
[AWS] Vorbereitung der Bereitstellung von Flask-Anwendungen zum Erstellen einer Python-Umgebung mit eb [Elastic Beanstalk]