Tomcat 포트를 8080에서 80으로 변경하는 방법은 무엇입니까?


답변:


215

1) confTomcat 설치 디렉토리의 폴더로 이동

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

2) 파일 에서 다음 태그 편집server.xml

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

3) port=8080값을port=80

4) 파일을 저장하십시오.

5) Tomcat을 중지하고 다시 시작하십시오.


14
또한 Tomcat을 중지했다가 다시 시작하십시오. 그냥 말하면 :)
AllieCat 2016 년

3
나는 이것을했고 404 오류가 발생합니다! 내가해야 할 다른 일이 있습니까?
토성

15
에서 etc/default/tomcat7설정 AUTHBIND=yes, 포트 80에 대한 PermissionDenied 오류 방지하기
마르쿠스 Pscheidt

1
Linux 환경에 대한 Rose의 답변을 참조하십시오!
Marko

이 답변에는 / etc / authbind 정보가 없습니다. 아래 Rose의 답변 참조
jorfus

119

Amazon EC2의 Ubuntu 14.04 LTS 다음 단계로이 문제가 해결되었습니다.

1. server.xml을 편집하고 port = "8080"을 "80"으로 변경하십시오.

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

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

2. tomcat7 파일을 편집하십시오 (파일이 작성되지 않은 경우 작성해야 함).

sudo vi /etc/default/tomcat7

주석을 해제하고 # AUTHBIND = no를 yes로 변경하십시오.

3. authbind 설치

sudo apt-get install authbind

4. 다음 명령을 실행하여 포트 80에서 tomcat7 읽기 + 실행을 제공하십시오.

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

5. 바람둥이를 다시 시작하십시오 :

sudo /etc/init.d/tomcat7 restart

1
그 중 하나가 작동합니다. 리눅스 사람들은 적어도 우분투 14.04.2 LTS와 함께 작동합니다.
Rodrigo Gurgel

3
자동 바인딩이 정답입니다. 그러나 포트 80이 에스컬레이션 된 사용자에게 부여되므로 'sudo startup.sh'를 사용하는 경우 자동 바인딩을 건너 뛸 수 있습니다.
Marcio Jasinski

1
감사!! 서버 구성에서 authbind를 활성화하는 방법에 대해 알고 있었지만 등록 된 포트에 대해 authbind에서 파일을 만들어야한다는 것을 몰랐습니다! OP가 승인 된 솔루션을이 답변으로 변경했으면합니다. (나는 당신이 대답에 거의 3 년 늦었다는 것을
안다

1
Lubuntu 18.0.4에서 Tomcat 9와 함께 작동하며 설치하지 않고 authbind설정 만 추가합니다.
Marco Sulla

107

Linux 데비안 기반 (따라서 우분투 포함) 에서는 서버가 권한있는 포트에서 바인딩되도록 행을 /etc/default/tomcat7주석 해제 #AUTHBIND=no하고 값을 'yes'로 설정해야합니다.


2
안녕 난 그 특정 파일이 없습니다
nmkyuppie 10

바람둥이의 어떤 버전? 어떤 OS를 사용하고 있습니까?
파이오니어 하늘

7
zip / tar.gz에 의해 설치된 경우 Tomcat에서는 / etc / defaults /에 파일을 생성하지 않으므로 Tomcat에서 작동하지 않습니다.
Gorkamorka

9
위의 경로는 다음과 같아야합니다. / etc / default / tomcat7 (기본값은 's'가 없음)
Tristan Reid

1
Tomcat 9와 동등한 것은 무엇입니까?
katu

29

우분투 및 데비안 시스템에는 몇 가지 단계가 필요합니다.

  1. server.xml에서 행 <Connector connectionTimeout="20000" port="8080" protocol="HTTP/1.1" redirectPort="8443"/>을로 변경하십시오 port="80".

  2. 다음과 같은 명령을 사용하여 권장 (필요하지 않은) authbind 패키지를 설치하십시오.

    sudo apt-get install authbind

  3. 주석을 해제하고 다음과 같이 행을 설정하여 server.xml 파일에서 /etc/tomcat6또는으로 authbind를 사용하십시오 /etc/tomcat7.

    AUTHBIND=yes

세 단계가 모두 필요합니다.


5
13.10에서는 Tomcat (zip / tar.gz로 설치 한 경우)에서 작동하지 않습니다.
Gorkamorka

4
zip / tar.gz에서 작동하게하려면 위의 1 단계와 2 단계를 수행하고 bin / setenv.sh에 AUTHBIND = yes를 추가하고 (없는 경우 작성) 루트에서 시작하십시오. LTS 12.04와 함께 작동하며 13.10 / w에서도 작동합니다.
karl

내 경우에는 authbind 패키지 없이는 (catalina.out에 오류 메시지없이) 실패했으며 설치 후 작동했습니다.
golimar

AUTHBIND = yes에 관한 문서를 말씀해 주시겠습니까? 나는 아무데도 찾을 수 없습니다.
ARX

TOMCAT 문서에서 서버 요소 구성의 일부로 AUTHBIND 설정에 대한 언급을 찾을 수 없습니다. 이상한.
Peter N. Steinmetz

22

나는에서 포트를 변경 시도 808080server.xml있지만 나를 위해 작동하지 않았다. 그런 다음 대안을 찾았 iptables습니다. 성능에 영향을 줄 것으로 확신하는 업데이트 하십시오.

다음 명령을 사용합니다.

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


이것을 되 돌리는 방법?
SAI GIRI CHARY AOUSULA

다음 명령을 실행하여 라우팅을 제거하십시오. iptables -t nat -D PREROUTING -p tcp --dport 80 -j REDIRECT --to-port 8080
casol

17

14.04 Ubuntu Server에서 이전 답변이 제대로 작동하지 않았지만 (충분하지는 않았지만) 권장 사항에 대해 언급 했습니다 (견적입니다).

편집 : @ jason-faust가 주석에서 언급했듯이 14.04에서 authbind패키지와 함께 제공 되는 패키지는 현재 IPv6을 지원하므로 IPv4를 선호하는 것은 더 이상 필요하지 않습니다 .

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

당신이 이미 가지고있는 경우 setenv.sh에 파일 /usr/share/tomcat7/bin과를 CATALINA_OPTS, 당신은 사용해야합니다 :

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

이제 80다른 답변에서 설명한대로 포트를 변경할 수 있습니다 .


2
startup.sh 파일은 다음 위치에 추가합니다. /usr/share/tomcat7/bin/startup.sh-초보자에게는 완전히 명확하지 않습니다.)
ConMan

@ConMan 업데이트 경로, 다른 검색을 저장하는 것이 좋습니다. 나는이 장소를 아는 것이 처음에는 분명하지 않다는 것을 인정한다.
smonff

1
고마워, 이것은 훌륭하게 작동했고, 나는 센 토스에 익숙 했으므로 이것이 나에게 도움이되지 않는 곳에서 나에게 도움이되었다.
med116

1
나는 오늘 14.04에 이것을 따랐다. 패키지와 함께 제공된 authbind 패키지는 이제 IPv6을 지원하므로 IPv4를 선호하는 것은 더 이상 필요하지 않다.
Jason Faust

나는 또한했다 : chmod 755 /usr/share/tomcat7/bin/setenv.sh
Casey Harrils

5

현대 리눅스에서 가장 좋은 방법은 xinetd를 사용하는 것입니다.

1) /etc/xinet.d/tomcat-http를 만듭니다.

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

2) /etc/xinet.d/tomcat-https를 만듭니다.

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

3) chkconfig xinetd 켜기

4) /etc/init.d/xinetd 시작


다른 접근법은 jsvc를 컴파일하고 사용하는 것이지만 xinetd는 확실히 쉽다
cgdave

5

누군가 찾고 있다면 Eclipse IDE 사용자에서 Tomcat 포트 번호를 변경하는 방법은 다음 단계입니다.

1. 서버보기에서 서버 이름을 두 번 클릭하십시오. 여기에 이미지 설명을 입력하십시오

2. Tomcat의 구성 페이지가 다음과 같이 열립니다. 여기에 이미지 설명을 입력하십시오

3 포트 번호는 오른쪽 표에 표시되어 있습니다. 예를 들어 편집하려면 클릭하십시오. 여기에 이미지 설명을 입력하십시오

4. HTTP의 포트 번호를 8080에서 80으로 변경합니다. Ctrl + S를 눌러 변경 사항을 저장하고 서버를 다시 시작하십시오. 콘솔보기에서 포트 번호 변경을 확인할 수 있습니다. 여기에 이미지 설명을 입력하십시오

이 모든 내용은 아래 링크에서 가져 왔습니다. 자세한 정보는 해당 링크를 참조하십시오. http://www.codejava.net/servers/tomcat/how-to-change-port-numbers-for-tomcat-in-eclipse


4

아래 명령을 실행하면 작업했습니다. 변경 server.xml및 conf 파일을 시도 했지만 둘 다 작동하지 않았습니다.

/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 서버에서는이 명령을 사용하여 포트 80에서 수신하도록 Tomcat을 재구성 할 수 있습니다.

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

이클립스를 사용하고 server.xml을 수정하는 것이 효과가 없다면 다음 기사 를 시도 하십시오 . 이클립스와 같은 IDE를 사용하는 경우 포트를 수정하는 단계가 있습니다.


1

바람둥이의 conf 폴더로 이동하십시오.

server.xml 파일을여십시오

다음과 같은 커넥터 노드 중 하나로 이동하십시오.

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

간단히 포트를 변경하십시오

바람둥이 저장하고 다시 시작


1
Windows에서만 그렇지 않습니까?
smonff

1

단계는 다음과 같습니다.

-> 경로를 따르십시오 : {tomcat directory> / conf->이 줄을 찾으십시오 :

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

포트 번호를 "8080"에서 "80"으로 변경하십시오.

-> 파일을 저장하십시오.

-> 서버를 다시 시작하십시오 :)


0

파일을 편집하는 것을 잊지 마십시오. 파일 열기 /etc/default/tomcat7및 변경

#AUTHBIND=no

AUTHBIND=yes

그런 다음 다시 시작하십시오.

당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.