Tomcat limanını 8080'den 80'e nasıl değiştirebilirim?


Yanıtlar:


215

1) confTomcat kurulum dizinindeki klasöre gidin

 e.g. C:\Tomcat 6.0\conf\

2) Dosyada aşağıdaki etiketi server.xml düzenleyin

<Connector connectionTimeout="20000" port="8080" protocol="HTTP/1.1" redirectPort="8443"/>

3) port=8080Değeriport=80

4) Dosyayı kaydedin.

5) Tomcat'inizi durdurun ve yeniden başlatın.


14
Ayrıca, Tomcat'i durdurup yeniden başlattığınızdan emin olun. Sadece söylüyorum. :)
— AllieCat

3
Bunu yaptım ve 404 hatası alıyorum! Yapmam gereken başka bir şey var mı?
— Satürn

15
İçinde etc/default/tomcat7 seti AUTHBIND=yes, bağlantı noktası 80 için bir PermissionDenied hatayı önlemek için
— Markus Pscheidt

1
Linux ortamı için Rose'un cevabına bakın!
— Marko

Bu cevap / etc / authbind bilgisine sahip değil, aşağıdaki Rose'un cevabına bakınız
— jorfus

119

Ubuntu 14.04 LTS, Amazon EC2'de. Aşağıdaki adımlar benim için bu sorunu çözdü:

1. server.xml dosyasını düzenleyin ve port = "8080" i "80" olarak değiştirin

sudo vi /var/lib/tomcat7/conf/server.xml

<Connector connectionTimeout="20000" port="8080" protocol="HTTP/1.1" redirectPort="8443"/>

2. tomcat7 dosyasını düzenleyin (dosya oluşturulmadıysa oluşturmanız gerekir)

sudo vi /etc/default/tomcat7

uncomment ve change # AUTHBIND = hayır, evet

3. authbind yükleyin

sudo apt-get install authbind

4. 80 numaralı bağlantı noktasında tomcat7 okuma + yürütme sağlamak için aşağıdaki komutları çalıştırın.

sudo touch /etc/authbind/byport/80
sudo chmod 500 /etc/authbind/byport/80
sudo chown tomcat7 /etc/authbind/byport/80

5. Tomcat'i yeniden başlatın:

sudo /etc/init.d/tomcat7 restart

1
Bu işe yarıyor. Linux kullanıcıları, en azından benim için Ubuntu 14.04.2 LTS ile çalışıyor.
— Rodrigo Gurgel

3
Autobind doğru cevaptır. Ancak, 80 numaralı bağlantı noktası yükseltilmiş kullanıcıya verileceğinden 'sudo startup.sh' komutunu kullandığınızda autobind'i atlayabileceğinizi unutmayın.
— Marcio Jasinski

1
Teşekkürler!! Sunucu yapılandırmasında kimlik doğrulamasını etkinleştirmeyi biliyordum ama kayıtlı bağlantı noktası için kimlik doğrulamasında bir dosya oluşturmak zorunda olduğumu bilmiyordum! Keşke OP bu cevaba kabul edilen çözümü değiştirmiş olsaydı! (Cevaplamaya neredeyse 3 yıl geciktiğinizi görüyorum: P)
— Fr0zenFyr

1
Tomunt 9 ile Lubuntu 18.0.4 üzerinde çalışır, kurulum yapmadan authbindsadece ayarı ekler.
— Marco Sulla

107

Linux Debian tabanlı (bu yüzden Ubuntu dahil) /etc/default/tomcat7#AUTHBIND=no , sunucunun ayrıcalıklı bir bağlantı noktasına bağlanabilmesi , hattı ve değerini 'evet' olarak ayarlamanız gerekir.


2
Merhaba ben belirli bir dosya yok
— nmkyuppie

Tomcat'in hangi sürümü? Hangi işletim sistemindesiniz?
— Öncü Gökyüzü

7
Zip / tar.gz tarafından yüklendiyse Tomcat için çalışmaz, çünkü dosyayı / etc / defaults / içinde oluşturmazlar.
— Gorkamorka

9
Yukarıdaki yol şöyle olmalıdır: / etc / default / tomcat7 (varsayılan olarak 's' eksikliğine dikkat edin)
— Tristan Reid

1
Tomcat 9 için eşit olan nedir?
— katu

29

Ubuntu ve Debian sistemlerinde, birkaç adım gereklidir:

  1. Server.xml olarak, hat değiştirmek <Connector connectionTimeout="20000" port="8080" protocol="HTTP/1.1" redirectPort="8443"/>zorunda port="80".

  2. Önerilen (gerekli değil) authbind paketini aşağıdaki gibi bir komutla yükleyin:

    sudo apt-get install authbind

  3. Satırı açıp şu şekilde ayarlayarak server.xml dosyasında (ya /etc/tomcat6da içinde /etc/tomcat7) authbind özelliğini etkinleştirin :

    AUTHBIND=yes

Her üç adım da gereklidir.


5
13.10'da Tomcat (zip / tar.gz tarafından yüklendiyse) için çalışmaz.
— Gorkamorka

4
Zip / tar.gz'den çalışmasını sağlamak için yukarıdaki 1. ve 2. adımları uygulayın, bin / setenv.sh dosyasına (orada değilse yaratın) AUTHBIND = yes komutunu ekleyin ve kökten başlayın. LTS 12.04 ile çalışır, 13.10 ile de çalışmalıdır.
— karl

Benim durumumda outhbind paketi olmadan başarısız oldu (catalina.out içinde hata mesajı ile), yükledikten sonra çalıştı
— golimar

AUTHBIND = yes hakkındaki belgelere işaret edebilir misiniz? Hiçbir yerde bulamıyorum.
— ARX

TOMCAT belgelerinde sunucu öğesi yapılandırmasının bir parçası olarak AUTHBIND ayarından da söz edemiyorum. Garip.
— Peter N. Steinmetz

22

Ben gelen port değiştirmeyi denedim 8080hiç 80de server.xmlama benim için işe yaramadı. Sonra alternatif buldum,iptables , performans üzerinde bir etkisi olduğundan eminim .

Aşağıdaki komutları kullanıyorum:

sudo /sbin/iptables -t nat -I PREROUTING -p tcp --dport 80 -j REDIRECT --to-port 8080
sudo /sbin/service iptables save

http://www.excelsior-usa.com/articles/tomcat-amazon-ec2-advanced.html#port80


nasıl geri alınır?
— SAI GIRI CHARY AOUSULA

Yönlendirmeyi kaldırmak için aşağıdaki komutu çalıştırın: iptables -t nat -D PREROUTING -p tcp --dport 80 -j REDIRECT --to-port 8080
— casol

17

Önceki yanıtlar 14.04 Ubuntu Sunucusunda benim için iyi çalışmadığı için (iyi, ama yeterli değildi), bu önerilerden bahsediyorum (bu bir teklif) söz.

Düzenleme: @ gibi jason-faust, yorumlar kısmında belirttiğimiz notu , 14.04 tarihinde authbindIPv4 şey artık gerekli değildir tercih yüzden onunla gemiler artık destek IPv6 yaptığı paketi .

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 "$@"

Zaten bir amacımız setenv.shdosyayı /usr/share/tomcat7/binbirlikte CATALINA_OPTS, kullanılan vardır:

export CATALINA_OPTS="$CATALINA_OPTS -Djava.net.preferIPv4Stack=true"

Artık bağlantı noktasını 80diğer yanıtlarda belirtildiği gibi değiştirebilirsiniz .


2
Startup.sh dosyasının şu konumda olduğunu da ekleyeceğim: /usr/share/tomcat7/bin/startup.sh - Bize yeni
— gelenler

@ Güncellenmiş yollar, diğer aramaları kaydetmek için harika bir fikir. Burası bilmenin başlangıçta açık olmadığını itiraf ediyorum.
— smonff

1
Teşekkürler, bu harika çalıştı, centos'a alışkınım, bu yüzden bu benim için bir sorun değildi, bu bana yardımcı oldu.
— med116

1
Bunu 14.04'te izledim, birlikte gelen authbind paketi şimdi IPv6'yı destekliyor, bu yüzden IPv4 tercihine artık gerek yok.
— Jason Faust

Ben de yaptım: chmod 755 /usr/share/tomcat7/bin/setenv.sh
— Casey Harrils

5

Modern linux'da (benim için) en iyi yaklaşım xinetd kullanmaktır:

1) /etc/xinet.d/tomcat-http oluşturun

service http
{
        disable = no
        socket_type = stream
        user = root
        wait = no
        redirect = 127.0.0.1 8080
}

2) /etc/xinet.d/tomcat-https oluşturun

service https
{
        disable = no
        socket_type = stream
        user = root
        wait = no
        redirect = 127.0.0.1 8443
}

3) chkconfig xinetd açık

4) /etc/init.d/xinetd başlangıç


Diğer yaklaşım derlemek ve jsvc kullanmaktır ama xinetd kesinlikle daha kolay
— cgdave

5

Birisi arıyorsa, aşağıdaki Eclipse IDE kullanıcısında tomcat port numarasını değiştirme adımlarıdır.

Sunucular görünümünde, sunucu adına çift tıklayın: resim açıklamasını buraya girin

Tomcat için bir yapılandırma sayfası aşağıdaki gibi açılacaktır: resim açıklamasını buraya girin

Bağlantı noktası numaralarının sağdaki tabloda gösterildiğine dikkat edin. Düzenlemek için tıklayın, örneğin: resim açıklamasını buraya girin

HTTP için bağlantı noktası numarasını 8080'den 80'e değiştirecektir. Değişikliği kaydetmek ve sunucuyu yeniden başlatmak için Ctrl + S tuşlarına basın. Bağlantı noktası numarası değişikliğini Konsol görünümünde görebiliriz: resim açıklamasını buraya girin

Bu içeriğin tamamı aşağıdaki linkten alınmıştır, daha fazla bilgi için lütfen bu linke bakınız. http://www.codejava.net/servers/tomcat/how-to-change-port-numbers-for-tomcat-in-eclipse


4

Aşağıdaki komutu çalıştırmak ile çalıştı. Değişen denedim server.xmlve conf dosyası ama ikisi de işe yaramadı.

/sbin/iptables -A INPUT -i eth0 -p tcp --dport 80 -j ACCEPT

/sbin/iptables -A INPUT -i eth0 -p tcp --dport 8080 -j ACCEPT

/sbin/iptables -A PREROUTING -t nat -i eth0 -p tcp --dport 80 -j REDIRECT --to-port 8080

3

Linux sunucusunda Tomcat'i 80 numaralı bağlantı noktasını dinleyecek şekilde yeniden yapılandırmak için bu komutları kullanabilirsiniz:

sed -i 's|port="8080"|port="80"|g' /etc/tomcat?/server.xml
sed -i 's|#AUTHBIND=no|AUTHBIND=yes|g' /etc/default/tomcat?
service tomcat8 restart

2

Eğer eclipse kullanıyorsanız ve değiştirerek server.xml sizin için çalışmazsa aşağıdaki makaleyi deneyin .. eclipse gibi IDE kullanıyorsanız bağlantı noktasını değiştirmek için adımları var.


1

Tomcat'in Conf klasörüne git

server.xml dosyasını açın

Aşağıdaki gibi görünen bağlayıcı düğümlerden birine gidin

<Connector port="8080" protocol="HTTP/1.1" 
           connectionTimeout="20000" 
           redirectPort="8443" />

Bağlantı noktasını değiştirin

kaydet ve yeniden başlat tomcat


1
Sadece Windows'da değil mi?
— smonff

1

İşte adımlar:

-> Yolu izleyin: {tomcat dizini> / conf -> Bu satırı bulun:

<Connector port="8080" protocol="HTTP/1.1" connectionTimeout="20000" redirectPort="8443" />

port numarasını "8080" yerine "80" olarak değiştirin.

-> Dosyayı kaydedin.

-> Sunucuyu yeniden başlatın :)


0

Dosyayı düzenlemeyi unutmayın. Dosyayı aç /etc/default/tomcat7ve değiştir

#AUTHBIND=no

için

AUTHBIND=yes

sonra yeniden başlatın.

Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.