Das funktioniert. Linux Leute, arbeitet zumindest für mich mit Ubuntu 14.04.2 LTS.
Rodrigo Gurgel
3
Autobind ist die richtige Antwort. Beachten Sie jedoch, dass Sie die automatische Bindung überspringen können, wenn Sie 'sudo startup.sh' verwenden, da Port 80 einem eskalierten Benutzer gewährt wird.
Marcio Jasinski
1
Vielen Dank!! Ich wusste, wie man authbind in der Serverkonfiguration aktiviert, wusste aber nicht, dass ich eine Datei in authbind für den registrierten Port erstellen muss! Ich wünschte, OP hätte die akzeptierte Lösung für diese Antwort geändert! (Ich sehe, dass Sie fast 3 Jahre zu spät
geantwortet haben
1
Es funktioniert mit Tomcat 9 unter Lubuntu 18.0.4, ohne es zu installieren authbind, sondern nur die Einstellung hinzuzufügen.
Marco Sulla
107
Auf einem Linux-Debian-basierten Computer (einschließlich Ubuntu) müssen Sie auch /etc/default/tomcat7die #AUTHBIND=noZeile auskommentieren und ihren Wert auf "Ja" setzen, damit der Server an einen privilegierten Port gebunden wird.
Welche Version von Tomcat? Auf welchem Betriebssystem bist du?
Pioneer Skies
7
Funktioniert nicht für Tomcat, wenn es von zip / tar.gz installiert wird, da die Datei nicht in / etc / defaults / erstellt wird.
Gorkamorka
9
Dieser Pfad oben sollte lauten: / etc / default / tomcat7 (beachten Sie das Fehlen von 's' in der Standardeinstellung)
Tristan Reid
1
Was ist das Gleiche für Tomcat 9?
Katu
29
Auf Ubuntu- und Debian-Systemen sind mehrere Schritte erforderlich:
Ändern Sie in server.xml die Zeile <Connector connectionTimeout="20000" port="8080" protocol="HTTP/1.1" redirectPort="8443"/>, die Sie haben möchten port="80".
Installieren Sie das empfohlene (nicht erforderliche) authbind-Paket mit einem Befehl wie:
sudo apt-get install authbind
Aktivieren Sie authbind in der Datei server.xml (entweder in /etc/tomcat6oder /etc/tomcat7), indem Sie die Zeile auskommentieren und wie folgt festlegen :
Funktioniert nicht für Tomcat (wenn von zip / tar.gz installiert) in 13.10.
Gorkamorka
4
Um es von zip / tar.gz aus zum Laufen zu bringen, führen Sie die obigen Schritte 1 und 2 aus, fügen Sie AUTHBIND = yes zu bin / setenv.sh hinzu (erstellen, wenn nicht vorhanden) und beginnen Sie mit root. Funktioniert mit LTS 12.04, sollte auch mit 13.10 funktionieren.
Karl
In meinem Fall schlug es fehl (ohne Fehlermeldung in Catalina.out) ohne das Authbind-Paket, funktionierte nach der Installation
Golimar
Könnten Sie bitte auf die Dokumentation zu AUTHBIND = yes verweisen? Ich finde es nirgendwo.
ARX
Ich kann die AUTHBIND-Einstellung auch nicht als Teil der Serverelementkonfiguration in der TOMCAT-Dokumentation erwähnen. Seltsam.
Peter N. Steinmetz
22
Ich habe versucht, den Port von 8080in 80in zu ändern, server.xmlaber es hat bei mir nicht funktioniert. Dann habe ich eine Alternative gefunden, die aktualisiert, von der iptablesich sicher bin, dass sie sich auf die Leistung auswirkt.
Führen Sie den folgenden Befehl aus, um das Routing zu entfernen: iptables -t nat -D PREROUTING -p tcp --dport 80 -j REDIRECT --to-port 8080
casol
17
Da frühere Antworten auf einem 14.04 Ubuntu-Server für mich nicht gut funktionierten (es war gut, aber nicht genug), erwähne ich diese Empfehlungen (dies ist ein Zitat).
Bearbeiten: Beachten Sie, dass, wie @ jason-faust es in den Kommentaren am 14.04 erwähnt hat, dasauthbind mitgelieferte Paket jetzt IPv6 unterstützt, sodass das bevorzugte IPv4-Ding nicht mehr benötigt wird .
1) Install authbind
2) Make port 80 available to authbind (you need to be root):
touch /etc/authbind/byport/80
chmod 500 /etc/authbind/byport/80
chown tomcat7 /etc/authbind/byport/80
3) Make IPv4 the default (authbind does not currently support IPv6).
To do so, create the file TOMCAT/bin/setenv.sh with the following content:
CATALINA_OPTS="-Djava.net.preferIPv4Stack=true"
4) Change /usr/share/tomcat7/bin/startup.sh
exec authbind --deep "$PRGDIR"/"$EXECUTABLE" start "$@"
# OLD: exec "$PRGDIR"/"$EXECUTABLE" start "$@"
Wenn Sie bereits eine setenv.shDatei /usr/share/tomcat7/binmit haben CATALINA_OPTS, müssen Sie Folgendes verwenden:
Ich würde hinzufügen, dass sich die Datei startup.sh unter folgender Adresse befindet: /usr/share/tomcat7/bin/startup.sh - Es ist für uns Neulinge nicht ganz offensichtlich;)
ConMan
@ ConMan aktualisierte Pfade, das ist eine großartige Idee, um andere Suchanfragen zu speichern. Ich gebe zu, dass es am Anfang nicht offensichtlich ist, diesen Ort zu kennen.
Smonff
1
Danke, das hat super funktioniert, ich bin an Centos gewöhnt, also war das hilfreich für mich, wo dies für mich kein Problem war.
med116
1
Ich habe dies heute am 14.04. Verfolgt. Das mitgelieferte Authbind-Paket unterstützt jetzt IPv6, sodass das bevorzugte IPv4-Ding nicht mehr benötigt wird.
Jason Faust
Ich habe auch getan: chmod 755 /usr/share/tomcat7/bin/setenv.sh
Casey Harrils
5
Unter modernem Linux ist der beste Ansatz (für mich) die Verwendung von xinetd:
1) Erstellen Sie /etc/xinet.d/tomcat-http
service http
{
disable = no
socket_type = stream
user = root
wait = no
redirect = 127.0.0.1 8080
}
2) Erstellen Sie /etc/xinet.d/tomcat-https
service https
{
disable = no
socket_type = stream
user = root
wait = no
redirect = 127.0.0.1 8443
}
Ein anderer Ansatz ist das Kompilieren und Verwenden von jsvc, aber xinetd ist definitiv einfacher
cgdave
5
Wenn jemand nach etwas sucht, können Sie die folgenden Schritte ausführen, um die Tomcat-Portnummer im Eclipse IDE-Benutzer zu ändern.
1. Doppelklicken Sie in der Serveransicht auf den Servernamen:
2. Dadurch wird eine Konfigurationsseite für Tomcat wie folgt geöffnet:
3. Beachten Sie, dass die Portnummern in der Tabelle rechts aufgeführt sind. Klicken Sie zum Bearbeiten zum Beispiel:
4. Dadurch wird die Portnummer für HTTP von 8080 auf 80 geändert. Drücken Sie Strg + S, um die Änderung zu speichern und den Server neu zu starten. Wir können die Änderung der Portnummer in der Konsolenansicht erkennen:
Wenn Sie Eclipse verwenden und das Ändern von server.xml für Sie nicht funktioniert, versuchen Sie den folgenden Artikel . Sie haben Schritte zum Ändern des Ports, wenn Sie IDE wie Eclipse verwenden.
Antworten:
1) Wechseln Sie in den
conf
Ordner im Tomcat-Installationsverzeichnis2) Bearbeiten Sie das folgende Tag in der
server.xml
Datei3) Ändern Sie den
port=8080
Wert inport=80
4) Datei speichern.
5) Stoppen Sie Ihren Tomcat und starten Sie ihn neu.
quelle
etc/default/tomcat7
SetAUTHBIND=yes
, um einen PermissionDenied-Fehler für den Port 80 zu vermeiden.Ubuntu 14.04 LTS, in Amazon EC2. Die folgenden Schritte haben dieses Problem für mich behoben:
1. Bearbeiten Sie die Datei server.xml und ändern Sie port = "8080" in "80".
2. Bearbeiten Sie die Tomcat7-Datei (wenn die Datei nicht erstellt wurde, müssen Sie sie erstellen).
Kommentar entfernen und # AUTHBIND = nein zu ja ändern
3. Installieren Sie authbind
4. Führen Sie die folgenden Befehle aus, um tomcat7 read + execute auf Port 80 bereitzustellen.
5. Tomcat neu starten:
quelle
authbind
, sondern nur die Einstellung hinzuzufügen.Auf einem Linux-Debian-basierten Computer (einschließlich Ubuntu) müssen Sie auch
/etc/default/tomcat7
die#AUTHBIND=no
Zeile auskommentieren und ihren Wert auf "Ja" setzen, damit der Server an einen privilegierten Port gebunden wird.quelle
Auf Ubuntu- und Debian-Systemen sind mehrere Schritte erforderlich:
Ändern Sie in server.xml die Zeile
<Connector connectionTimeout="20000" port="8080" protocol="HTTP/1.1" redirectPort="8443"/>
, die Sie haben möchtenport="80"
.Installieren Sie das empfohlene (nicht erforderliche) authbind-Paket mit einem Befehl wie:
sudo apt-get install authbind
Aktivieren Sie authbind in der Datei server.xml (entweder in
/etc/tomcat6
oder/etc/tomcat7
), indem Sie die Zeile auskommentieren und wie folgt festlegen :AUTHBIND=yes
Alle drei Schritte sind erforderlich.
quelle
Ich habe versucht, den Port von
8080
in80
in zu ändern,server.xml
aber es hat bei mir nicht funktioniert. Dann habe ich eine Alternative gefunden, die aktualisiert, von deriptables
ich sicher bin, dass sie sich auf die Leistung auswirkt.Ich benutze die folgenden Befehle:
http://www.excelsior-usa.com/articles/tomcat-amazon-ec2-advanced.html#port80
quelle
Da frühere Antworten auf einem 14.04 Ubuntu-Server für mich nicht gut funktionierten (es war gut, aber nicht genug), erwähne ich diese Empfehlungen (dies ist ein Zitat).
Bearbeiten: Beachten Sie, dass, wie @ jason-faust es in den Kommentaren am 14.04 erwähnt hat, das
authbind
mitgelieferte Paket jetzt IPv6 unterstützt, sodass das bevorzugte IPv4-Ding nicht mehr benötigt wird .Wenn Sie bereits eine
setenv.sh
Datei/usr/share/tomcat7/bin
mit habenCATALINA_OPTS
, müssen Sie Folgendes verwenden:Jetzt können Sie den Port auf
80
wie in anderen Antworten angegeben ändern .quelle
Unter modernem Linux ist der beste Ansatz (für mich) die Verwendung von xinetd:
1) Erstellen Sie /etc/xinet.d/tomcat-http
2) Erstellen Sie /etc/xinet.d/tomcat-https
3) chkconfig xinetd on
4) /etc/init.d/xinetd start
quelle
Wenn jemand nach etwas sucht, können Sie die folgenden Schritte ausführen, um die Tomcat-Portnummer im Eclipse IDE-Benutzer zu ändern.
1. Doppelklicken Sie in der Serveransicht auf den Servernamen:
2. Dadurch wird eine Konfigurationsseite für Tomcat wie folgt geöffnet:
3. Beachten Sie, dass die Portnummern in der Tabelle rechts aufgeführt sind. Klicken Sie zum Bearbeiten zum Beispiel:
4. Dadurch wird die Portnummer für HTTP von 8080 auf 80 geändert. Drücken Sie Strg + S, um die Änderung zu speichern und den Server neu zu starten. Wir können die Änderung der Portnummer in der Konsolenansicht erkennen:
Dies alles Inhalt wurde von unten Link genommen, bitte verweisen Sie auf diesen Link für weitere Informationen danke. http://www.codejava.net/servers/tomcat/how-to-change-port-numbers-for-tomcat-in-eclipse
quelle
Das Ausführen des folgenden Befehls funktionierte mit. Versuchte das Ändern
server.xml
und die conf-Datei, aber beide funktionierten nicht.quelle
Auf einem Linux-Server können Sie Tomcat einfach mit diesen Befehlen so konfigurieren, dass Port 80 überwacht wird:
quelle
Wenn Sie Eclipse verwenden und das Ändern von server.xml für Sie nicht funktioniert, versuchen Sie den folgenden Artikel . Sie haben Schritte zum Ändern des Ports, wenn Sie IDE wie Eclipse verwenden.
quelle
Gehen Sie einfach zum Conf-Ordner von Tomcat
Öffnen Sie die Datei server.xml
Gehen Sie zu einem der Verbindungsknoten, die wie folgt aussehen
Ändern Sie einfach den Port
Tomcat speichern und neu starten
quelle
Hier sind die Schritte:
-> Folgen Sie dem Pfad: {tomcat directory> / conf -> Suchen Sie diese Zeile:
Ändern Sie die Portnummer von "8080" in "80".
-> Speichern Sie die Datei.
-> Starten Sie den Server neu :)
quelle
Vergessen Sie nicht, die Datei zu bearbeiten. Datei öffnen
/etc/default/tomcat7
und ändernzu
dann neu starten.
quelle