Ich habe kürzlich Tomcat über ein Installationsskript der apache solr typo3-Community installiert und die letzten 3 Tage damit verbracht, herauszufinden, warum es nicht funktioniert, bis ich zufällig bemerkte, dass ich den Prozess beim Abhören des Ports über "lsof -i" abfragte ", es war an das ipv6 - protokoll gebunden. Ich habe überall gegoogelt und die meisten sagen, dass das Setzen der Adresse auf 0.0.0.0 im Tomcat-Connector dieses Problem behebt, andere sagen, das Setzen von JAVA_OPTS = "- Djava.net.preferIPv4Stack = true" ; Ich habe das erstere ausprobiert, was nicht funktioniert, aber beim letzteren bin ich mir nicht sicher, wo ich es hinstellen soll. Eine Lösung, die ich irgendwo gelesen habe, schlug vor, sie in setenv.sh abzulegenIch kann diese Datei in meiner Tomcat-Installation nicht finden. Ich würde mich im Moment über jede Hilfe freuen. Die Tomcat-Version ist 6.x und das Betriebssystem ist Ubuntu 11.10. Vielen Dank
32
Antworten:
Viele schlugen vor, das Startskript zu aktualisieren
catalina.sh
. Ja, diese Lösung würde funktionieren, aber dascatalina.sh
Skript soll nicht angepasst / aktualisiert werden. Alle Änderungen sollten stattdessen in das Anpassungsskript gehen, dhsetenv.sh
.HINWEIS:
TOMCAT_HOME/bin/setenv.sh
existiert nicht standardmäßig, Sie müssen es erstellen. Überprüfen Sie dascatalina.sh
Skript und Sie werden sehen, dass das Startskript prüft, ob essetenv.sh
existiert, und ausgeführt wird, wenn es existiert.Daher schlage ich vor, dass Sie ein neues
TOMCAT_HOME/bin/setenv.sh
Skript mit einer einzigen Zeile erstellen :quelle
Ok, ich habe es endlich gelöst. Ich wurde angewiesen, dies und Henks Lösung auszuprobieren . Keiner von beiden schien mit dem virtuellen Remote-Server zu funktionieren. Ich vermute, dass der Provider dies verhindert, weil ich auf einem gemeinsam genutzten Kernel-Space bin. Auf jeden Fall habe ich hinzugefügt:
JAVA_OPTS= $JAVA_OPTS -Djava.net.preferIPv4Stack=true -Djava.net.preferIPv4Addresses
zum Startskript catalina.sh und das schien das Problem der Bindung von tomcat an ipv6 behoben zu haben.quelle
Die korrekte Syntax zum Ändern von catalina.sh lautet:
quelle
Wenn Sie dieses Installationsprogramm verwendet haben: " Apache Solr for TYPO3 ", können Sie die Adresse in der Datei ändern
server.xml
. Die Standardeinstellung zeigt auf localhost. Suchen Sie also nach 127.0.0.1 und ändern Sie es in die gewünschte IPv4-Adresse. Vergessen Sie nicht, Tomcat6 neu zu starten, damit die Änderungen wirksam werden.UPDATE, 20120521
Siehe meinen Kommentar unten zum Deaktivieren von IPv6 unter Ubuntu 11.10.
Ich habe dies erfolgreich auf einer Virtualbox-VM auf meinem Mac getestet. Die Adresse für den Connector-Port 8080 wurde von 127.0.0.1 in 0.0.0.0 in geändert
server.xml
.Wenn Sie IPv6 deaktivieren, wird "tcp6" ausgeblendet, sodass es an eine IPv4-Adresse gebunden ist.
Vor / mit aktiviertem IPv6:
After / IPv6 deaktiviert:
quelle
Obwohl dies wahrscheinlich nicht die bevorzugte Methode ist, habe ich festgestellt, dass das Deaktivieren von IPv6 auf Kernelebene Tomcat dazu verleitet, eine IPv4-Bindung zu öffnen.
quelle
Zusammen mit der anderen Antwort mit setenv.sh und CATALINA_OPTS ...
Wenn ich Tomcat SSL mit APR verwende, kann ich Tomcat nur dazu bringen, sich an ipv4 zu binden, indem ich Folgendes zur Connector-Konfiguration hinzufüge:
server.xml sieht so aus:
quelle
Debian 8 navigieren Sie zu Ihrem Lieblingseditor unter / etc / default / grub ; Suchen Sie nach dem Abschnitt GRUB_CMDLINE_LINUX_DEFAULT = "quiet" **, und fügen Sie dann ipv6.disable = 1 hinzu (siehe unten)
GRUB_CMDLINE_LINUX_DEFAULT = "ipv6.disable = 1 leise"
Speichern und schließen. Verwenden Sie im selben Verzeichnis Ihren bevorzugten Editor unter / etc / default / tomcat8 und suchen Sie dann nach dem Abschnitt mit JAVA_OPTS =, der auskommentiert wird. Fügen Sie unter dieser Zeile Folgendes hinzu. JAVA_OPTS = "$ JAVA_OPTS -Djava.net.preferIPv4Stack = true -Djava.net.preferIPv4Addresses = true"
Speichern und schließen
Geben Sie an der Eingabeaufforderung update-grub ein . Wenn Sie sudo mit sudo verwenden, starten Sie den tomcat8- Dienst neu. Tomcat8 restart
Sie sollten jetzt auf IPv4 sein.
Bitte geben Sie in zukünftigen Beiträgen vollständige Pfade und Dateinamen an. Danke dir
quelle