Apache Tomcat wird häufig als Anwendungsserver verwendet für rein webbasierte Anwendungen. Es führt im Wesentlichen Java-Servlets aus und rendert Webseiten, die JSP-Codierung enthalten.
Die manuelle Installation auf Tomcat ist zeitaufwändig. Mit Ansible können wir den Installationsprozess einfach automatisieren.
In diesem Tutorial lernen wir, wie man Tomcat installiert auf Ubuntu 20.04 mit Ansible .
Voraussetzungen:
Hier verwenden wir:
- Ein Kontrollknoten - wo wir das Ansible installieren und konfigurieren werden. Vom Kontrollknoten aus starten wir das Ansible-Playbook, um Tomcat 9 zu installieren.
- Sie müssen eine offene SSH-Verbindung haben zum entfernten Host.
- Ein Hostknoten - wo Ansible Tomcat 9 installiert und startet.
- Sowohl der Kontrollknoten als auch der Host haben private IP-Adressen und beide Maschinen sind Ubuntu 20.04
Installieren von Ansible auf Control Node unter Ubuntu 20.04
Aktualisieren Sie zuerst Ihr System mit dem Standardbefehl:
$ sudo apt update
Nach der Update-Installation kann ansible der folgende Befehl ausgeführt werden:
$ sudo apt install ansible -y
Um zu überprüfen, wo Ansible installiert ist und sich befindet, führen Sie den folgenden Befehl aus:
$ which ansible
Sie sollten so etwas sehen:
Wenn Sie ein Verzeichnis in /usr/bin
auflisten$ ls /usr/bin
Sie finden installierte Ansible-Pakete:
Führen Sie den folgenden Befehl aus, um die Version von installiertem Ansible zu überprüfen:
$ ansible --version
Sie würden etwa so ausgegeben werden:
ansible 2.9.6
config file = /etc/ansible/ansible.cfg
configured module search path = ['/root/.ansible/plugins/modules', '/usr/share/ansible/plugins/modules']
ansible python module location = /usr/lib/python3/dist-packages/ansible
executable location = /usr/bin/ansible
python version = 3.8.5 (default, Jan 27 2021, 15:41:15) [GCC 9.3.0]
Wie Sie sehen können, erhalten Sie neben der ansiblen Version auch:
- Wo wird die ansible Konfigurationsdatei abgelegt
- Wo werden konfigurierte Suchpfade und Module abgelegt
- Wo ist der Speicherort des ansiblen Python-Moduls
- Speicherort der ausführbaren Datei und Python-Version
Die Hauptkonfigurationsdatei wird in /etc/ansible/hosts gespeichert Datei.
Sie müssen der Datei Ihren lokalen Host oder Ihre Server-IP hinzufügen, oder wenn Sie eine private IP-Adresse haben, müssen Sie sie hinzufügen.
Öffnen Sie die hosts-Datei mit Ihrem bevorzugten Editor:
$ sudo nano /etc/anisble/hosts
Sie sehen die Konfigurationsdatei des Hosts, etwa so:
Wie Sie sehen können, gibt es einen Abschnitt, der in #Ex 1 gehört Fügen Sie dort Ihre Remote-Host-IP-Adresse ohne # hinzu Ausdruck.
Führen Sie als Nächstes den folgenden Befehl aus, um zu überprüfen, ob Sie einen Host mit dieser IP-Adresse haben:
$ sudo ansible all -i hosts --list-hosts
Sie erhalten die Liste der Hosts, etwa wie diese Ausgabe im Bild:
Der nächste Schritt besteht darin, den öffentlichen SSH-Schlüssel vom Ansible-Steuerknoten zum Remote-Host-Computer hinzuzufügen.
Dieser Schritt ist unerlässlich, damit Ansible Tomcat auf einem Remote-Server installieren kann.
Generieren Sie Ihre SSH-Schlüssel mit dem folgenden Befehl:
$ sudo ssh-keygen
Nach dem Generieren von Schlüsseln sehen Sie, wo die Schlüssel gespeichert sind. Für uns ist jetzt nur noch der öffentliche Schlüssel wichtig.
Jetzt müssen wir den öffentlichen Schlüssel auf einen Server kopieren. Denken Sie daran, dass wir dies tun, weil wir Ansible erlauben müssen, Tomcat vom Control-Knoten auf dem Remote-Server zu installieren.
HINWEIS: Nur der öffentliche Schlüssel wird auf den Server kopiert. Der private Schlüssel sollte niemals auf eine andere Maschine kopiert werden.
Verwenden Sie einen Befehl wie den folgenden, um den SSH-Schlüssel zu kopieren:
$ sudo ssh-copy-id -i ~/.ssh/id_rsa.pub [email protected]
Wo sind user=linoxide und host=IP-Adresse für die SSH-Remote-Anmeldung.
Nachdem Sie den Schlüssel auf den Remote-Computer kopiert haben, müssen Sie Ihr Passwort für die Remote-SSH-Verbindung eingeben.
Jetzt ist alles eingerichtet und bereit, Ansible-Playbook auszuführen.
Installieren Sie Tomcat 9 auf einem Remote-Host-Knoten mit Ansible
Gehen Sie nun zu /etc/ansible und erstellen Sie dort eine Datei namens tomcat-setup.yaml . Sie können die Datei aus dem Github-Repo sehen und kopieren:
--- - name: install tomcat server hosts: all become: true tasks: - name: Install OpenJDK apt: name: openjdk-11-jre-headless - name: download tomcat server packages get_url: url: http://mirrors.estointernet.in/apache/tomcat/tomcat-9/v9.0.44/bin/apache-tomcat-9.0.44.tar.gz dest: /usr/local - name: extract tomcat packages unarchive: src: /usr/local/apache-tomcat-9.0.44.tar.gz dest: /usr/local remote_src: yes - name: start tomcat services shell: nohup /usr/local/apache-tomcat-9.0.44/bin/startup.sh
Wie Sie der Datei tomcat-setup.yaml entnehmen können, gibt es vier Aufgaben:
1) Installieren Sie OpenJDK
2) Laden Sie Tomcat Server-Pakete herunter und legen Sie sie am Zielort ab.
3) Extrahieren Sie Tomcat-Pakete von der Quelle bis zum Zielort.
4) Starten Sie den Tomcat-Dienst mit Hilfe des startup.sh-Skripts
Starten Sie das Ansible-Playbook mit dem Befehl:
$ sudo ansible-playbook -i hosts tomcat-setup.yaml
Sie werden so etwas wie diese Ausgabe sehen:
Nach Überprüfung, ob alles in Ordnung ist. Gehen Sie zu Ihrem Remote-Host-Computer und vergewissern Sie sich, dass JAVA installiert ist, und prüfen Sie mit diesen Befehlen, ob der Tomcat-Dienst ausgeführt wird:
$ sudo java -version
Ausgabe:
Und überprüfen Sie, ob Tomcat 9 ordnungsgemäß heruntergeladen und mit dem Befehl gestartet wurde:
$ ps -ef | grep tomcat
Ausgabe:
Rufen Sie die Server-URL auf Port 8080 auf um die Installation und Konfiguration von Tomcat 9 zu testen.
Tomcat-Webserver:
http://<domain_or_IP_address>:8080
Dashboard des Tomcat-Webanwendungsmanagers:
http://<domain_or_IP_address>:8080/manager/html
Tomcat Virtual Host Manager-Dashboard:
http://<domain_or_IP_address>:8080/host-manager/html
Sie sollten jetzt in der Lage sein, Ihre Anwendung auf dem Tomcat 9-Server bereitzustellen, der auf einem Ubuntu 20.04-Linux-Computer ausgeführt wird.
Schlussfolgerung
In diesem Tutorial haben wir gelernt, wie man Tomcat 9 mit Ansible auf dem Remote-Knoten installiert. Dies war ein Beispiel für die Installation eines Tomcat-Servers auf einem einzelnen Hostknoten vom Kontrollknoten aus. Mit Ansible können Sie beliebig viele Tomcat-Server auf beliebig vielen Hostknoten installieren.