So stellen Sie Tomcat und Nginx auf einem Linux-Server bereit
May 13, 2023 pm 06:58 PM1. Vorbereitung
Zuerst müssen Sie über einen lauff?higen Linux-Server verfügen und den Benutzernamen und das Passwort kennen. Anschlie?end müssen Sie zwei Tools auf Ihrem Windows-Computer installieren, die eine Verbindung zum Linux-Server herstellen k?nnen . Installieren Zum Tutorial gibt es nicht viel zu sagen, das Zusatzbild zeigt, wie man eine Verbindung zum Server herstellt:
Die xshell-Verbindungsschnittstelle sieht wie folgt aus: Nachdem Sie die Host-IP eingegeben und auf OK geklickt haben, ?ffnet sich xshell ein Fenster zur Eingabe des Benutzers Name und Passwort für eine erfolgreiche Verbindung!
Die xftp-Verbindungsschnittstelle ist wie folgt: Füllen Sie einfach die Lücken aus. Ich werde hier nicht auf die Details eingehen und SFTP. Sie k?nnen es verstehen, wenn Sie genug wissen!
2. Installations- und Bereitstellungsarbeiten
Wenn Sie das Projekt auf einem Linux-Server bereitstellen m?chten, ist es wichtig, JDK und Tomcat zu installieren. Dies sollte hier betont werden, wenn Sie mehrere Projekte bereitstellen m?chten Wenn Sie eine Anwendung verwenden, ben?tigen Sie für jede Anwendung einen eigenen Tomcat, da die Konfiguration von Tomcat unter verschiedenen Anwendungen definitiv unterschiedlich ist. In diesem Fall k?nnen Sie ein Tomcat-Installationsverzeichnis und Tomcat unter mehreren Anwendungen installieren Als Teil des Arbeitsverzeichnisses k?nnen Sie das Installationsverzeichnis von Tomcat im Detail vorstellen und wie Sie Tomcat und JDK auf Ihrem Server installieren.
Schritt: Sie k?nnen ein neues Verzeichnis erstellen, wie in der Abbildung unten gezeigt. Einige Dateien im Zusammenhang mit dem Projektstart und dem Bereitstellungszugriff werden in diesem Verzeichnis abgelegt. Wie Sie sehen, habe ich mehrere Versionen von JDK und mehrere Versionen von Tomcat in diesem Verzeichnis abgelegt. Welches Tomcat und JDK w?hrend des Projektbereitstellungsprozesses verwendet werden soll, kann durch Konfiguration realisiert werden.
Für tats?chliche Anwendungen legen wir sie in einem Instanzverzeichnis ab, legen den Namen jeder Anwendung fest und platzieren dann das entsprechende Kriegspaket und die dekomprimierte Datei im Verzeichnis und warten darauf, dass Tomcat das Verzeichnis liest. Stellen Sie die Anwendung wie folgt bereit :
2. ?ndern Sie die Konfiguration
Zur einfachen Verwaltung platzieren wir den Tomcat auch unter jeder Anwendung in einem Verzeichnis, wie unten gezeigt, aber wir 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, der dem Konfigurieren von Umgebungsvariablen ?hnelt. Der zweite Schritt besteht darin, den Tomcat-Pfad anzugeben Sie k?nnen feststellen, dass ?catalina_home“ und ?catalina_base“ dem Installationsverzeichnis bzw. dem Arbeitsverzeichnis von Tomcat entsprechen. In der letzten Zeile k?nnen Sie sehen, dass der Projektstart start.sh unter dem Installationsverzeichnis verwendet Die für den Projektstart verwendete Konfigurationsdatei ist das Tomcat jeder Anwendung. Das Gleiche gilt für stop.sh.
Für die Ausführung von ./start.sh und ./stop.sh mit xshell sind Berechtigungen erforderlich. Wenn keine Berechtigungen vorhanden sind, k?nnen wir die Berechtigungen für die start.sh-E-Mail verwenden , geben Sie einfach ein H?kchen ein.
Im Verzeichnis /conf müssen Sie auf die Konfigurations?nderungen achten. Die erste ist die entsprechende Portnummer. Jede Tomcat-Anwendung muss eine andere Portnummer ?ndern Wenn der Port belegt ist und nicht gestartet werden kann, merken Sie sich am besten die für diese Anwendung konfigurierte Portnummer, die sp?ter bei der Verwendung von Nginx für die Portzuordnung verwendet wird ist, im Catalina-Verzeichnis Die Datei root.xml im Verzeichnis localhost wird verwendet, um anzugeben, in welches Verzeichnis die Projektinstanz geladen werden soll, wenn Tomcat gestartet wird.
Die anderen /logs-Verzeichnisse, /temp-Verzeichnisse, /webapps-Verzeichnisse und /work-Verzeichnisse müssen nicht ge?ndert werden, wie oben ersichtlich ist. Die Verzeichnisaufteilung ist sehr klar und sie sind in Dienstinstallationsverzeichnisse unterteilt ( jdk, tomcat, nginx usw.), Das Anwendungsinstanzverzeichnis und das Anwendungsbereitstellungsverzeichnis k?nnen auch auf diese Weise aufgeteilt werden, wenn Sie den Linux-Server zum Bereitstellen mehrerer Projekte verwenden.
3.nginx implementiert Port 80 Reverse Proxy
Logischerweise k?nnen wir zu diesem Zeitpunkt das Kriegspaket unserer eigenen Anwendung in das entsprechende Verzeichnis übertragen, um es zu dekomprimieren, und es dann im entsprechenden Tomcat-Arbeitsverzeichnis der Anwendung ausführen. /start.sh 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, bevor wir darauf zugreifen k?nnen Port 80 ) besuchen? 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 Konfigurationsdatei nginx.conf im Verzeichnis /conf kümmern. Ich habe auch die spezifischen Konfigurationsinformationen ge?ffnet, damit jeder sie sehen kann. ?include domains/*“? Zeigt an, dass die Konfiguration noch nicht abgeschlossen ist, einschlie?lich aller Konfigurationsdateien im Verzeichnis /domains.
Zu diesem Zeitpunkt k?nnen wir die entsprechende Nginx-Konfiguration jeder Anwendung mit Dateien mit unterschiedlichen Namen konfigurieren
Dann schauen wir uns an, wie man den Dom?nennamen-Zugriff unter Auction.center.jd.net:80 konfiguriert und ihn dann an den 1605-Port von 127.0.0.1 des lokalen Computers weiterleitet In der Konfiguration k?nnen wir auch sehen, dass einige abnormale Zust?nde wie http_500, http_502, http_504 usw. auf unterschiedliche Weise aufgezeichnet und verarbeitet werden. Im Allgemeinen k?nnen Sie zur Homepage der Website usw. springen und dann das Protokoll aufzeichnen Beim Konfigurieren dieser Konfigurationsdatei dürfen wir nicht vergessen, ein neues Protokollverzeichnis zu erstellen, da Nginx es sonst nicht finden kann. Gehen Sie in das Verzeichnis und es wird beim Start ein Fehler gemeldet.
Nach Abschluss dieser Aufgaben müssen wir Nginx nicht neu starten. Es gibt viele verwandte Informationen zu Baidu ein schwieriger Schritt und beenden Sie den Nginx-Prozess. Verwenden Sie dann den Befehl ?nginx service start“, um den nginx-Dienst zu starten.
K?nnen wir nach Abschluss dieser Aufgaben die bekannte Methode (ohne Hinzufügen einer Portnummer) verwenden, um darauf zuzugreifen? Ja, das ist richtig. Viele Leute machen sich Sorgen, ob sie Tomcat erneut starten müssen Dies bedeutet nur, dass Sie die Nginx-Routing-Konvertierungsschicht der Netzwerkschicht nicht verstehen. Der von uns besuchte Dom?nenname führt zun?chst eine DNS-Aufl?sung über die von uns konfigurierten Hosts durch, konvertiert sie in die entsprechende IP, findet den Server, der der IP entspricht, und übergibt die 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, ich verstehe es m?glicherweise nicht gut, bitte beschweren Sie sich nicht). Dieses Mal k?nnen wir jetzt sicher auf den Domainnamen zugreifen und Anfragen senden! !
4. Treten Sie auf die Grube
?hm. . 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. Zu diesem Zeitpunkt müssen wir best?tigen, dass alle Anforderungen an Nginx gesendet wurden Protokolle. Einmal, zweimal, dreimal. . 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 Der Zugriff ist immer m?glich. Nach der Bereitstellung habe ich nur darauf gewartet, dass der Dom?nenname in die Adressleiste eingegeben wird. Da der Nginx-Dienst geschlossen wurde, muss die Anfrage direkt gestellt werden Ich habe einmal, zweimal und dreimal darauf zugegriffen. Wie durch ein Wunder konnte ich nicht darauf zugreifen. ? ? 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, um Port 80 unter Centos zu ?ffnen.
1. ?ffnen Sie die Konfigurationsdatei von iptables. Der Code lautet wie folgt: vi /etc/sysconfig/iptables
2. überprüfen Sie mit dem Statusbefehl /etc/init.d/iptables, ob Port 80 ge?ffnet ist , es gibt zwei Verarbeitungsmethoden
3. Die erste M?glichkeit: ?ndern Sie den Befehl vi /etc/sysconfig/iptables, um die Firewall zum ?ffnen von Port 80 hinzuzufügen. Der Code lautet wie folgt:
Kopieren Sie den Code. Der Code lautet wie folgt:
-a rh-firewall-1-input -m state --state new -m tcp -p tcp --dport 80 -j akzeptieren
4. Der Code zum Schlie?en/Aktivieren/Neustarten der Firewall lautet wie folgt: / etc/init.d/iptables stop (#start zum ?ffnen, #restart zum Neustart)
5. Die zweite Methode: 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 beiden Methoden zu verwenden, die einfach zu bedienen sind und eine hohe Erfolgsquote haben Ich verwende die erste Methode, um die Firewall-Konfiguration zu ?ndern. Der Neustart schl?gt fehl. Wenn ich die zweite Methode verwende, ist dies ein voller Erfolg
Das obige ist der detaillierte Inhalt vonSo stellen Sie Tomcat und Nginx auf einem Linux-Server bereit. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Hei?e KI -Werkzeuge

Undress AI Tool
Ausziehbilder kostenlos

Undresser.AI Undress
KI-gestützte App zum Erstellen realistischer Aktfotos

AI Clothes Remover
Online-KI-Tool zum Entfernen von Kleidung aus Fotos.

Clothoff.io
KI-Kleiderentferner

Video Face Swap
Tauschen Sie Gesichter in jedem Video mühelos mit unserem v?llig kostenlosen KI-Gesichtstausch-Tool aus!

Hei?er Artikel

Hei?e Werkzeuge

Notepad++7.3.1
Einfach zu bedienender und kostenloser Code-Editor

SublimeText3 chinesische Version
Chinesische Version, sehr einfach zu bedienen

Senden Sie Studio 13.0.1
Leistungsstarke integrierte PHP-Entwicklungsumgebung

Dreamweaver CS6
Visuelle Webentwicklungstools

SublimeText3 Mac-Version
Codebearbeitungssoftware auf Gottesniveau (SublimeText3)

1. Die erste Wahl für die Kombination aus Laravel Mysql Vue/React in der PHP -Entwicklungsfrage und der Antwortgemeinschaft ist die erste Wahl für die Kombination aus Laravel Mysql Vue/React aufgrund ihrer Reife im ?kosystem und der hohen Entwicklungseffizienz; 2. Die hohe Leistung erfordert Abh?ngigkeit von Cache (REDIS), Datenbankoptimierung, CDN und asynchronen Warteschlangen; 3. Die Sicherheit muss mit Eingabefilterung, CSRF -Schutz, HTTPS, Kennwortverschlüsselung und Berechtigungssteuerung erfolgen. V.

Als Pionier in der digitalen Welt standen der einzigartige Codename und die zugrunde liegende Technologie immer im Mittelpunkt der Aufmerksamkeit der Menschen. Sein Standardcode ist BTC, auch als XBT auf bestimmten Plattformen bekannt, die internationale Standards entsprechen. Aus technischer Sicht ist Bitcoin kein einziger Codestil, sondern ein riesiges und ausgeklügeltes Open -Source -Softwareprojekt. Sein Kerncode ist haupts?chlich in C geschrieben und enth?lt Kryptographie, verteilte Systeme und Wirtschaftsgrunds?tze, damit jeder seinen Code anzeigen, überprüfen und beitragen kann.

LinuxcanrunonModesthardwareWithSpecificMinimumRequirements Amshouldbeatleast512MBForCommand-LINEUSOR2GBFORTESKTOPENVIRMENTS.DIKSPACEREQUIRESAMINIMUMUMOF5–10 GB, obwohl25GBISBETTERFORAD

Die Kernrolle von Homebrew bei der Konstruktion der Mac -Umgebung besteht darin, die Installation und Verwaltung der Software zu vereinfachen. 1. Homebrew verarbeitet automatisch Abh?ngigkeiten und verkapselt komplexe Kompilierungs- und Installationsprozesse in einfache Befehle. 2. Bietet ein einheitliches Softwarepaket -?kosystem, um die Standardisierung des Software -Installationsorts und der Konfiguration zu gew?hrleisten. 3. Integriert Service -Management -Funktionen und kann Dienste leicht über Brewservices starten und stoppen. 4. Bequemes Software -Upgrade und -wartung und verbessert die Sicherheit und Funktionalit?t der Systeme.

Um PHP -Container zur Unterstützung der automatischen Konstruktion zu erm?glichen, liegt der Kern in der Konfiguration des Continuous Integration (CI) -Prozesses. 1. Verwenden Sie Dockerfile, um die PHP -Umgebung zu definieren, einschlie?lich grundlegender Bild-, Erweiterungsinstallations-, Abh?ngigkeitsmanagement- und Berechtigungseinstellungen. 2. Konfigurieren Sie CI/CD-Tools wie GitLabci und definieren Sie die Erstell-, Test- und Bereitstellungsstadien über die Datei .gitlab-ci.yml, um automatische Konstruktion, Test und Bereitstellung zu erreichen. 3.. Integrieren Sie Testframeworks wie Phpunit, um sicherzustellen, dass die Tests automatisch nach Code?nderungen ausgeführt werden. 4. Verwenden Sie automatisierte Bereitstellungsstrategien wie Kubernetes, um die Bereitstellungskonfiguration durch die Datei bereitzustellen. 5. Dockerfile optimieren und mehrstufige Konstruktionen übernehmen

Der Aufbau einer unabh?ngigen Umgebung für PHP -Aufgabencontainer kann über Docker implementiert werden. Die spezifischen Schritte sind wie folgt: 1. Installieren Sie Docker und DockerComponpose als Grundlage; 2. Erstellen Sie ein unabh?ngiges Verzeichnis, um Dockerfile und Crontab -Dateien zu speichern. 3. Schreiben Sie Dockerfile, um die PHPCLI -Umgebung zu definieren und Cron und die erforderlichen Erweiterungen zu installieren. 4. Schreiben Sie eine Crontab -Datei, um Zeitaufgaben zu definieren. 5. Schreiben Sie ein Docker-compose.yml-Mount-Skriptverzeichnis und konfigurieren Sie Umgebungsvariablen. 6. Starten Sie den Container und überprüfen Sie das Protokoll. Im Vergleich zu Timing -Aufgaben in Webcontainern haben unabh?ngige Container die Vorteile der Ressourcenisolation, der reinen Umgebung, der starken Stabilit?t und einer einfachen Expansion. Gew?hrleistung der Protokollierung und Fehleraufnahme

Best?tigen Sie den Namen der Zielfestplatte (z. B. /dev /sda), um das Versand, die Systemscheibe versehentlich zu l?schen. 2. Verwenden Sie sudoddif =/dev/zeroof =/dev/sdxbs = 1mstatus = Fortschritt, um den Nullwert in der vollst?ndigen Festplatte zu überschreiben, was für die meisten Szenarien geeignet ist. 3. Verwenden Sie Sudoshred-V-N3/Dev/SDX für drei zuf?llige Datenüberschreibungen, um sicherzustellen, dass sie nicht wiederhergestellt werden k?nnen. V. Verwenden Sie schlie?lich sudohexdump-c/dev/sdx |

Fügen Sie UserAdd- oder Adduser -Befehle hinzu, die üblicherweise von Benutzern unter Linux verwendet werden. 1. Bei Verwendung von UserAdd müssen Sie das Passwort und das Heimverzeichnis manuell festlegen. Fügen Sie den Parameter -m hinzu, um das Home -Verzeichnis zu erstellen. 2. Sie k?nnen die Shell, Gruppe und UID durch Parameter wie -s, -g und -U angeben; 3. Adduser ist ein interaktiver Befehl, der für Anf?nger geeignet ist, um die Konfiguration automatisch zu vervollst?ndigen. V. 5. UserDel kann versehentlich Benutzer und Home -Verzeichnisse l?schen. Durch das Beherrschen dieser wichtigen Punkte k?nnen Sie Benutzer effizient und sicher verwalten.
