nginx+tomcat-Beispiel für den Zugriff auf das Projekt über den Domänennamen

nginx+tomcat-Beispiel für den Zugriff auf das Projekt über den Domänennamen

Ich wollte wissen, wie ich mit einem Domänennamen auf das Projekt zugreifen kann, aber es war zu umständlich, einen eigenen Domänennamen zu bekommen. Ich musste ihn kaufen, verschiedene Dokumente einreichen, auf die Überprüfung warten und ihn einreichen. . . Ich habe momentan keine Projekte oder Dinge zu tun, also denke ich einfach darüber nach, etwas zu tun. . .

Als ich sah, dass der Server von Tencent im Angebot war, gab ich 40 Yuan aus, um einen Server mit der niedrigsten Version zu kaufen (ich war arm, also hatte ich keine andere Wahl, als ihn für den persönlichen Gebrauch zu verwenden). Ich muss mich hier über Tencent beschweren. Warum ist die Sicherheitsstufe so hoch eingestellt? Eine direkte Remote-Anmeldung ist nicht möglich, da die IP-Adresse nicht angepingt werden kann. Darüber hinaus sind alle Ports und Befehle gesperrt. Ich habe Alibaba Cloud schon einmal verwendet und die Sicherheitsstufe ist nicht so hoch. Nach viel Ärger ist die Konfiguration wie folgt

Dann begann ich mit der formellen Operation. Ich baute beiläufig ein Projekt und machte es zugänglich. Ich startete es über Tomcat und gab http://localhost:8080/demo/login/index.do ein, um die Seite aufzurufen. Als nächstes musste ich localhost in den Domänennamen ändern, den ich zuvor gekauft hatte. Ich hatte das noch nie zuvor getan, also fragte ich Baidu direkt. Ich fand heraus, dass die server.xml-Konfiguration in Tomcat geändert werden musste. Ich änderte localhost in meinen eigenen Domänennamen und die Portnummer in die kommerzielle Portnummer 80. Leider funktionierte es nicht. Nach dem Start konnte ich nicht auf die Seite zugreifen (das kann an meiner Konfiguration liegen, und es gibt andere Konfigurationen, auf die ich nicht geachtet habe. Der große Gott, der den Artikel gesehen hat, kann mir Ratschläge geben). Ich verwendete andere Methoden und fand auf Baidu, dass der Domänenname aufgelöst werden muss. Die Konfiguration ist wie folgt

Der Datensatzwert ist der Domänenname des Servers. Starten Sie das System und besuchen Sie http://www.XXX.com:8080/demo/login/index.do. Der Zugriff auf die Seite war erfolgreich. Dies gilt als kleine Leistung.

Danach müssen wir nginx+tomcat verwenden, um darauf zuzugreifen. Lassen Sie uns einfach Lastenausgleich erleben. Ich habe eine Windows-Version von nginx heruntergeladen, direkt auf nginx.exe geklickt und http://localhost besucht, um die Seite aufzurufen.

Starten Sie dann zwei Tomcats, die Ports sind 8081 und 8082, der Nginx-Port ist 8080, und konfigurieren Sie dann die Datei nginx.conf

#Benutzer niemand;
Arbeiterprozesse 1;
#error_log Protokolle/Fehler.log;
#error_log Protokolle/error.log Hinweis;
#error_log Protokolle/error.log-Info;
#pid-Protokolle/nginx.pid;

Ereignisse {
 Arbeiterverbindungen 1024;
}

http {
 mime.types einschließen;
 Standardtyp Anwendung/Oktett-Stream;
 #log_format main '$remote_addr - $remote_user [$time_local] "$request" '
 # '$status $body_bytes_sent "$http_referer" '
 # '"$http_user_agent" "$http_x_forwarded_for"';
 #access_log Protokolle/access.log Haupt;
 sendfile an;
 #tcp_nopush ein;
 #keepalive_timeout 0;
 KeepAlive-Timeout 65;
 #gzip ein;
 Upstream lssxxxyss.com{
  Server 139.199.127.123:8081 Gewicht = 1; #Gewicht ist das Gewicht, das als Anteil der Anzahl der Besuche angesehen werden kann. Server 139.199.127.123:8082 Gewicht = 2;
 } 
 Server {
  hören Sie 8080;
  Servername lssxxxyss.com www.lssxxxyss.com;
  #Zeichensatz koi8-r;
  #access_log Protokolle/Host.access.log Haupt;
  Standort / {
   #Wurzel-HTML;
   #index index.html index.htm;
   Proxy-Passwort http://lssxxxyss.com;
  }
  #Fehlerseite 404 /404.html;
  . . . Ignorieren Sie Folgendes. . .
}

Besuchen Sie als nächstes die Seite und geben Sie die Adresse http://lssxxxyss.com:8080/sshDemo/login/index.do ein. Nach mehreren Besuchen werden unterschiedliche Seiten angezeigt (um die Anmeldeseiten der beiden Tomcat-Projekte zu unterscheiden, zeigt dies, dass die Last tatsächlich ausgeglichen ist).

beenden! ! !

Zusatzwissen: Nginx Konfiguration Java Projektzugriff unter Tomcat

Das Prinzip besteht darin, den Reverse-Proxy von Nginx zu verwenden

Der Nginx-Installationspfad lautet im Allgemeinen: /usr/local/nginx

Codeausschnitt hier einfügen> |-- client_body_temp
|-- conf #Dies ist das Verzeichnis aller Nginx-Konfigurationsdateien, äußerst wichtig| |-- fastcgi.conf #Konfigurationsdatei für Fastcgi-bezogene Parameter| |-- fastcgi.conf.default #Ursprüngliche Sicherung von fastcgi.conf| |-- fastcgi_params #Fastcgi-Parameterdatei| |-- fastcgi_params.default
| |--koi-utf
| |-- koi-win
| |-- mime.types #Medientyp,
| |-- mime.types.default
| |-- nginx.conf #Dies ist die standardmäßige Hauptkonfigurationsdatei von Nginx | ​​​​|-- nginx.conf.default
| |-- scgi_params #scgi-bezogene Parameterdatei, im Allgemeinen nicht verwendet | |-- scgi_params.default
| |-- uwsgi_params #uwsgi-bezogene Parameterdatei, im Allgemeinen nicht verwendet | |-- uwsgi_params.default
| `-- win-utf
|-- fastcgi_temp #temporäres Fastcgi-Datenverzeichnis|-- html #Dies ist das Standard-Site-Verzeichnis von Nginx während der Kompilierung und Installation, ähnlich dem Standard-Site-htdocs-Verzeichnis von Apache| |--50x.html #Die Fehlerseite ersetzt elegant die Anzeigedatei, zum Beispiel: Diese Seite wird aufgerufen, wenn ein 502-Fehler auftritt# error_page 500502503504 /50x.html;
| `-- index.html # Die Standard-Homepage-Datei. Der Name der Homepage-Datei ist in nginx.conf vordefiniert.
|-- logs #Dies ist der Standardprotokollpfad von Nginx, einschließlich Fehlerprotokollen und Zugriffsprotokollen| |-- access.log #Dies ist die Standardzugriffsprotokolldatei von Nginx. Verwenden Sie tail -f access.log, um die Benutzerzugriffsinformationen der Website in Echtzeit anzuzeigen| |-- error.log #Dies ist die Fehlerprotokolldatei von Nginx. Wenn bei Nginx Probleme wie Startfehler auftreten, überprüfen Sie unbedingt dieses Fehlerprotokoll| `-- nginx.pid #PID-Datei von Nginx. Nachdem der Nginx-Prozess gestartet wurde, werden die ID-Nummern aller Prozesse in diese Datei geschrieben|-- proxy_temp #Temporäres Verzeichnis|-- sbin #Dies ist das Verzeichnis der Nginx-Befehle, beispielsweise des Nginx-Startbefehls nginx
| `-- nginx #Nginx-Startbefehl nginx
|-- scgi_temp #temporäres Verzeichnis`-- uwsgi_temp #temporäres Verzeichnis 9 Verzeichnisse, 21 Dateien

Erstellen Sie ein vhost-Verzeichnis im Verzeichnis /usr/local/nginx und erstellen Sie dann eine tomcats.conf-Datei im vhosts-Ordner

Der Inhalt der Datei tomcats.conf ist wie folgt:

Beispielsweise gibt es zwei Java-Projekte, auf die mit Tomcat zugegriffen werden muss. Die Konfiguration ist wie folgt

Server
 {
  hören Sie 80;

  Servername ce1.xdr630.top;#Domänenname für den Zugriff auf den Tomcat-Dienst#charset koi8-r;

  #access_log Protokolle/Host.access.log Haupt;

  Standort / {
    Proxy-Pass http://127.0.0.1:8081;#Tomcat-Dienstadressenstamm html;
    Index Index.html Index.htm;
  }

  Fehlerseite 500 502 503 504 /50x.html;
  Standort = /50x.html {
   Stamm-HTML;
  }
 }

Server
 {
  hören Sie 80;
  Servername ce2.xdr630.top;#Domänenname für den Zugriff auf den Tomcat-Dienst#charset koi8-r;
  #access_log Protokolle/Host.access.log Haupt;
  Standort / {
    Proxy-Pass http://127.0.0.1:8082;#Tomcat-Dienstadressenstamm html;
    Index Index.html Index.htm;
  }
  Fehlerseite 500 502 503 504 /50x.html;
  Standort = /50x.html {
   Stamm-HTML;
  }
 }

Öffnen Sie die Datei nginx.conf unter conf im Nginx-Installationsverzeichnis (mein Verzeichnis ist /usr/local/nginx/conf/nginx.conf).

Fügen Sie am Ende der Datei hinzu

include /usr/local/nginx/vhosts/*; (schließt alle Hostdateien der virtuellen Maschine ein)

Dann finden Sie in der Mitte der Datei

 Standort / {
   Proxy-Pass http://192.168.0.148:8080; (fügen Sie dies hinzu, um die Adresse Ihres eigenen lokalen Tomcat anzugeben)
   Stamm-HTML;
   Index Index.html Index.htm;
  }

Starten Sie Tomcat und Nginx neu. Tatsächlich muss Nginx im Allgemeinen nicht neu gestartet werden. Es kann gesteuert werden, indem die ausführbare Datei mit dem Parameter -s aufgerufen wird

Laden Sie die Konfigurationsdatei neu:

/usr/local/nginx/sbin/nginx -t //Überprüfen Sie zuerst die Syntax
/usr/local/nginx/sbin/nginx -s reload //Konfiguration neu laden

Überprüfen Sie den Startstatus von Nginx:

ps -a | grep nginx

Sie können den Nginx-Dienst auch mit lnmp restart neu starten, um direkt über den Domänennamen auf den Tomcat-Dienst zuzugreifen.

Auffüllen:

Starten Sie Nginx, um die Hilfe anzuzeigen: ./nginx -h

Starten Sie Nginx: cd sbin; ./nginx

Das obige Beispiel, in dem nginx+tomcat über den Domänennamen auf das Projekt zugreifen, ist der gesamte Inhalt, den der Editor mit Ihnen teilt. Ich hoffe, es kann Ihnen als Referenz dienen. Ich hoffe auch, dass Sie 123WORDPRESS.COM unterstützen.

Das könnte Sie auch interessieren:
  • So richten Sie Nginx so ein, dass der Domänenname an den angegebenen Port weitergeleitet wird
  • Implementierung der Nginx-Domänennamenweiterleitung
  • Verwenden des Nginx-Forward-Proxys zur Implementierung einer Analyse des Intranet-Domänennamen-Weiterleitungsprozesses
  • Nginx Reverse Proxy wird für die Weiterleitung von Intranet-Domänennamen verwendet
  • Implementierung von HTTP- und HTTPS-Diensten mit Nginx-Reverse-Proxy für mehrere Domänennamen
  • Verwenden Sie nginx + sekundären Domänennamen + https-Unterstützung
  • Nginx definiert die Zugriffsmethode für Domänennamen
  • Codebeispiel für das Nutzungsszenario der Nginx-Domänenweiterleitung

<<:  Vue-Anfängerhandbuch: Umgebungserstellung und Erste Schritte

>>:  Schritte zur Installation von MySQL 5.7 im Binärmodus und zur Optimierung des Systems unter Linux

Artikel empfehlen

Detaillierte Erläuterung der Funktionen und Methoden des Vue3-Lebenszyklus

1. Übersicht Bei der sogenannten Lifecycle-Funkti...

Details zum Schreiben von React in einem Vue-Projekt

Wir können jsx/tsx-Dateien direkt erstellen Die P...

So führen Sie JavaScript in Jupyter Notebook aus

Später habe ich auch hinzugefügt, wie man Jupyter...

Vue implementiert das Bild mit Schaltflächenwechsel

In diesem Artikelbeispiel wird der spezifische Co...

Detaillierte Erklärung des MySQL-Ausführungsplans

Die EXPLAIN-Anweisung liefert Informationen darüb...

Vorschläge zur Optimierung der Webseiten-Kopfzeile

Logo-Optimierung: 1. Das Logobild sollte so klein...

Beispielcode zum Bereitstellen eines Spring-Boot-Projekts mit Docker

1. Grundlegender Spring-Boot-Schnellstart 1.1 Sch...

Linux löscht automatisch Protokolle und Beispielbefehle von vor n Tagen

1. Befehl zum Löschen von Dateien: Suche das ents...