1. Vorbereitung
Zuerst benötigen Sie einen Linux-Server, kennen den Benutzernamen und das Passwort und müssen dann einen installieren Windows-Computer Installieren Sie zwei Tools, die eine Verbindung zum Linux-Server herstellen können, Xshell 5 und Xftp 5. Ich werde nicht auf das Installations-Tutorial eingehen. Das ergänzende Bild zeigt, wie man eine Verbindung zum Server herstellt:
Die xshell-Verbindungsschnittstelle lautet wie folgt: Geben Sie ein. Nachdem Sie die Host-IP bestätigt haben, klicken Sie auf OK, und xshell öffnet ein Fenster, in dem Sie den Benutzernamen und das Kennwort eingeben können, um eine erfolgreiche Verbindung herzustellen!
Du kannst es verstehen!
2. Installations- und Bereitstellungsarbeiten
Um das Projekt bereitzustellen Auf einem Linux-Server ist es wichtig, JDK und Tomcat zu installieren. Ich möchte hier betonen, dass Sie für jede Anwendung einen eigenen Tomcat benötigen, wenn Sie mehrere Anwendungen bereitstellen möchten. Die Konfiguration von Tomcat ist definitiv unterschiedlich. In diesem Fall können Sie ein Tomcat-Installationsverzeichnis und Tomcat-Arbeitsverzeichnisse für die gleichen Teile installieren , So installieren Sie Tomcat und JDK auf Ihrem Server
1. Verzeichnisaufteilung
Dies ist ein sehr wichtiger Schritt besteht darin, ein neues Verzeichnis zu erstellen, wie in der Abbildung unten gezeigt. Unter diesem Verzeichnis werden einige Dateien abgelegt, die sich auf den Projektstart und den Bereitstellungszugriff beziehen. Wie Sie sehen können, habe ich mehrere Versionen von JDK und mehrere Versionen von Tomcat abgelegt, nämlich Tomcat und JDK Die während der Projektbereitstellung verwendeten Elemente können über die Konfiguration konfiguriert werden.
Für tatsächliche Anwendungen legen wir sie speziell in einem Instanzverzeichnis ab, legen den Namen jeder Anwendung fest und platzieren dann das entsprechende Kriegspaket und Die dekomprimierten Dateien warten darauf, dass Tomcat das Verzeichnis liest, um die Anwendung wie folgt bereitzustellen:
2 .Ändern Sie die Konfiguration
Wir platzieren den Tomcat auch unter jeder Anwendung in einem Verzeichnis zur einfachen Verwaltung, wie unten gezeigt, aber Sie müssen auf die Konfiguration jedes Tomcats achten
Unter dem Verzeichnis
/bin müssen sowohl die Datei start.sh als auch die Datei stop.sh geändert werden. Zuerst müssen Sie den JDK-Pfad angeben Dies ähnelt der Konfiguration von Umgebungsvariablen. Geben Sie also den Tomcat-Pfad des Tomcat-Arbeitsverzeichnisses an. Sie können sehen, dass CATALINA_HOME und CATALINA_BASE dem Installationsverzeichnis bzw. dem Arbeitsverzeichnis von Tomcat entsprechen Zeile, dass das Projekt mit start.sh im Installationsverzeichnis beginnt. Die für den Projektstart verwendete Tomcat-Konfigurationsdatei ist jedoch die von jeder Tomcat-Anwendung konfigurierte Konfigurationsdatei. Das Gleiche gilt für stop.sh.
Zur Ausführung von ./start.sh und ./stop.sh mit xshell sind Berechtigungen erforderlich. Wenn keine Berechtigungen vorhanden sind, können wir xftp verwenden Sie können die Berechtigungen der start.sh-E-Mail wie in der Abbildung gezeigt ändern und ein Häkchen setzen.
Unter dem Verzeichnis/conf müssen Sie auf die Konfigurationsänderungen achten. Die erste ist die Datei server.xml. Ändern Sie den entsprechenden Port Nummer und jede Anwendung muss unterschiedliche Portnummern ändern, da sonst der Port beim Starten mehrerer Tomcats belegt ist und nicht gestartet werden kann. Merken Sie sich am besten die in dieser Anwendung konfigurierte Portnummer, die später verwendet wird Verwendung von Nginx für die Portzuordnung;
Ein weiterer Ort zum Ändern ist die Datei ROOT.xml im Verzeichnis localhost im Catalina-Verzeichnis. Diese Datei wird verwendet, um anzugeben, welches Verzeichnis geladen werden soll, wenn Tomcat gestartet wird
Andere /logs-Verzeichnisse, /temp-Verzeichnisse, /webapps-Verzeichnisse und /work-Verzeichnisse müssen ebenfalls nicht geändert werden; Aus dem Obigen geht hervor, dass die Verzeichnisaufteilung sehr klar ist und in ein Dienstinstallationsverzeichnis (JDK, Tomcat, Nginx usw.), ein Anwendungsinstanzverzeichnis und ein Anwendungsbereitstellungsverzeichnis unterteilt ist. Sie können es auch auf diese Weise unterteilen, wenn Sie den Linux-Server verwenden mehrere Projekte bereitstellen.
3.nginx implementiert Port 80 Reverse Proxy
Logischerweise ist dies dabei Zu diesem Zeitpunkt können wir das Kriegspaket unserer eigenen Anwendung in das entsprechende Verzeichnis übertragen und dekomprimieren. Gehen Sie dann zum Tomcat-Arbeitsverzeichnis der entsprechenden Anwendung und führen Sie ./start.sh aus, um das Projekt zu starten! Probieren Sie es doch lieber erst mal aus.
Nachdem das Projekt bereitgestellt wurde, konfigurieren wir die Hosts und beginnen mit dem Zugriff. Zu diesem Zeitpunkt müssen wir die oben konfigurierte Tomcat-Portnummer hinzufügen. Können wir nicht Wie wäre es mit dem Hinzufügen einer Portnummer (unter Verwendung des Standardports 80) für den Zugriff? Wie oben erwähnt, haben wir unterschiedliche Portnummern für verschiedene Tomcats konfiguriert. Dies bedeutet, dass für den Projektzugriff Portnummern hinzugefügt werden müssen Es ist auch möglich, dass eine Anwendung auf Port 80 zugreift. Zu diesem Zeitpunkt müssen wir Nginx verwenden. Nach der Installation von Nginx können wir einige Konfigurationen hinzufügen, um einen Reverse-Proxy zu erreichen und den Zugriff auf Port 80, der von verschiedenen Anwendungen verwendet wird, weiterzuleiten Aus Sicht von Tomcat verwenden externe Anforderungen weiterhin die von Tomcat konfigurierte Portnummer, wodurch der gewünschte Effekt erzielt wird. Die spezifische Konfiguration ist wie folgt (natürlich müssen wir auch die entsprechende Verzeichnisaufteilungsarbeit durchführen):
Das Nginx-Verzeichnis lautet wie folgt:
Wir müssen uns nur um die Konfiguration von nginx.conf kümmern Datei im Verzeichnis /conf habe ich auch die spezifischen Konfigurationsinformationen geöffnet, damit jeder sie sehen kann. Ist Ihnen die letzte Zeile „include domains/*“ aufgefallen, was bedeutet, dass die Konfiguration noch nicht vollständig ist und alle Konfigurationsdateien im Verzeichnis / enthält? Domänenverzeichnis,
Zu diesem Zeitpunkt können wir die entsprechende Nginx-Konfiguration jeder Anwendung mit unterschiedlich benannten Dateien konfigurieren
Dann schauen wir uns an, wie man es konfiguriert, um auf den Domänennamenzugriff unter Auction.center.jd.net:80 zu achten und ihn dann an den 1605-Port von 127.0 weiterzuleiten .0.1 des lokalen Computers für den Zugriff. Ja, für einige abnormale Zustände, wie z. B. http_500, http_502, http_504 usw., werden sie im Allgemeinen auf unterschiedliche Weise aufgezeichnet und verarbeitet Nach der Konfiguration dieser Konfigurationsdatei dürfen wir nicht vergessen, ein neues Protokollverzeichnis zu erstellen, da Nginx das Verzeichnis sonst nicht finden kann und beim Start einen Fehler meldet.
Nach Abschluss dieser Aufgaben sind wir noch nicht fertig. Wir müssen Nginx neu starten. Ich werde nicht näher auf den Neustart eingehen. Es gibt viele relevante Informationen zu Baidu. Wenn der Neustart fehlschlägt, müssen wir einfach den Nginx-Prozess beenden und dann den Nginx-Dienststartbefehl verwenden, um den Nginx-Dienst zu starten.
Können wir nach Abschluss dieser Aufgaben auf die gewohnte Weise darauf zugreifen (ohne eine Portnummer hinzuzufügen)? Ja, ja, das ist richtig, die Leute haben große Angst vor einem Neustart Tomcat und die erneute Bereitstellung von Anwendungen bedeuten lediglich, dass Sie die Nginx-Routing-Konvertierungsschicht der Netzwerkschicht nicht verstehen. Wir führen zunächst eine DNS-Auflösung durch und konvertieren sie in die entsprechende IP Gehen Sie zur IP, gehen Sie durch die Firewall des Servers, und wenn wir dann Nginx auf dem Server konfigurieren, fängt Nginx zuerst die Anfrage ab, verarbeitet und verteilt die Anfrage und trifft schließlich den entsprechenden Tomcat (persönliches Verständnis, vielleicht Verständnis). Es ist noch nicht vorhanden , nicht sprühen), dann können wir bedenkenlos auf den Domainnamen zugreifen und Anfragen senden! !
4. Treten Sie in die Grube
Äh. . nicht gut! ! Ich war überglücklich und sprang zur Startseite, konnte aber immer noch nicht auf die angegebene Anwendung zugreifen. Als ich versuchte, die Portnummer hinzuzufügen, konnte ich „wie durch ein Wunder“ darauf zugreifen. Das bedeutet, dass das von uns konfigurierte Nginx nicht wirksam wurde. Was ist das Problem? ?
Lassen Sie mich unten über meine Ideen zur Problemlösung sprechen. Zuerst müssen wir bestätigen, dass alle Anfragen an Nginx gehen. Dies ist der Zeitpunkt, an dem sich die Vorteile von Protokollen widerspiegeln 80 für den Zugriff Wenn wir es anwenden, starren wir zweimal, dreimal auf das Protokoll. . Es gibt kein Protokoll. Wir können grob davon ausgehen, dass der Nginx-Dienst überhaupt nicht verwendet wurde. Möglicherweise liegt ein Problem mit unserer Protokollkonfiguration vor. Zu diesem Zeitpunkt habe ich einen mutigen Vorgang durchgeführt, nämlich den Zugriff auf den Nginx-Dienst zu deaktivieren oder zur Homepage der Website zu springen. Wird der Sprung zur Homepage nicht über Nginx konfiguriert? Tatsächlich hat sich das Unternehmen bereits auf der Netzwerkebene darum gekümmert. Zu diesem Zeitpunkt war ich sehr verwirrt. Ich habe einfach verschiedene Versuche unternommen, eine der Anwendungen auf Port 80 zu konfigurieren Sie können jederzeit auf die Änderung zugreifen. Warten Sie nach der Bereitstellung einfach, bis der Domänenname in die Adressleiste eingegeben wird. Da der Nginx-Dienst zu diesem Zeitpunkt heruntergefahren wurde, muss die Anforderung direkt erfolgen Nachdem ich einmal, zweimal und dreimal darauf zugegriffen habe, kann auf wundersame Weise nicht darauf zugegriffen werden. ? ? Zu diesem Zeitpunkt hatte ich einen Geistesblitz. Ich habe schnell versucht, 192.168.108.37 80 lokal zu telneten, und es stellte sich heraus, dass ich nicht darauf zugreifen konnte. Dies bewies, dass meine Vermutung richtig war. Es war jetzt einfach, es in der Firewall zu aktivieren. Nachfolgend finden Sie eine Ergänzung zur Konfiguration der iptables-Firewall zum Öffnen von Port 80.
1. Öffnen Sie die iptables-Konfigurationsdatei. Der Code lautet wie folgt: vi /etc/sysconfig/iptables
2. Übergeben Sie /etc /init.d/iptables Status, Befehl zum Abfragen, ob Port 80 geöffnet ist. Wenn nicht, gibt es zwei Methoden zur Behandlung
3. Die erste Methode: Ändern Sie das vi /etc/. sysconfig/iptables-Befehl zum Hinzufügen Lassen Sie die Firewall Port 80 öffnen. Der Code lautet wie folgt:
-A RH-Firewall-1-INPUT -m state --state NEW -m tcp -p tcp --dport 80 -j ACCEPT
4 Die Firewall lautet wie folgt: /etc/init.d/iptables stop (#start zum Öffnen, #restart zum Neustart)
5. Der zweite Weg: Fügen Sie den Port über den Befehl hinzu , der Code lautet wie folgt:
[root@centos httpd]# /sbin/iptables -I INPUT -p tcp --dport 80 -j ACCEPT [root@centos httpd]# /etc/rc.d/init.d/iptables save [root@centos httpd]# /etc/init.d/iptables restart
6. Überprüfen Sie den Effekt: [root@centos httpd]# /etc/init.d/iptables Status
7. Darüber hinaus wird empfohlen, die zweite Methode zu verwenden. Diese Methode ist einfach zu bedienen und weist eine hohe Erfolgsquote auf Wenn ich die Firewall-Konfiguration ändere, schlägt der Neustart fehl
3 🎜> Das Endergebnis wird ebenfalls erwartet. Selbst wenn Tomcat mit Port 1605 konfiguriert ist, können wir weiterhin auf Port 80 zugreifen. Dies ist die Leistung von Nginx, aber ein Installationspaket von nur wenigen Megabyte kann dies tatsächlich Ich habe gerade angefangen, Nginx zu lernen, und mein Verständnis ist sehr rudimentär, aber durch diese Praxis habe ich einen guten Eindruck von Nginx. Langsam werde ich mich aus der Bekanntschaft kennenlernen (obwohl wir uns nicht gegenseitig kennen lernen können). einander und lieben einander).
Das obige ist der detaillierte Inhalt vonServerbereitstellung von Tomcat und Nginx. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!