lighttpd, 공유기, 포트포워딩

Submitted by piano39 on 2010.03.16.(Tue) - 11:20

1) :

(network.c.345) can't bind to port: 80 Address already in use 

lighttpd 를 restart(혹은 stop)하려고 하면 위의 에러 메세지가 나옵니다.
해당 에러 메세지로 구글링 해서 나온 것들도 적용해보았으나 마찬가지구요.
어떤 문제인지;;

2) 공유기에 포트포워딩으로 해당 서버를 다른 포트로 해서 접속을 하였습니다.
내부IP로 접속시에는 속도가 엄청 빠른데 외부IP + 포트번호로 접속하니 속도가 느리군요.
lighttpd 에서 무언가 설정을 해줘야 되는 부분이 있는건가요?

westporch

작성: 2010.03.16.(Tue) - 20:37

수정: 2017.05.03.(Wed) - 19:42

1) (network.c.345) can't bind to port: 80 Address already in use 
아파치 웹서버가 실행중 이어서 80번 포트가 이미 사용중인게 아닐까요?
80번 포트를 어느 프로세스가 사용하고 있는지
lsof -i :80

으로 확인해 보시고 해당 프로세스를 제거해주시고 lighttpd를 실행하시면 제대로 작동할 것 같습니다.
(http://www.superuser.co.kr/security/certcc/secu_certcc_15.htm LSOF 설치 및 사용가이드)
만약, 위 방법으로 해결되지 않는다면 lighttpd의 기본 포트를 80번을 사용하지 않고
다른 포트 (예를 들어 81번 포트)로 변경하셔서 lighttpd를 실행하시면 제대로 작동 할 것 같습니다.
아래 내용을 참고해 주세요.
(source: http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=560837)

Just an FYI to show that I experienced the bug:

On my Debian server (squeeze/sid 2.6.30-2-686-bigmem #1 SMP) this morning
I just installed lighttpd (1.4.25-2) using apt-get.

Since Apache is already running on port 80 I knew I needed to choose a
different port.

So I edited /etc/lighttpd/lighttpd.conf and made the following change only:
## bind to port (default: 80)
server.port               = 81

IE I uncommented the server.port directive to choose port 81

Attempts to start lighttpd result in the error message:

Starting web server: lighttpd2010-02-03 21:03:04: (network.c.345) can't
bind to port: :: 80 Address already in use
failed!

So I proceed to comment out the following 'include_shell' directive
## Use ipv6 only if available. (disabled for while, check #560837)
#include_shell "/usr/share/lighttpd/use-ipv6.pl"

And so now
wget localhost:81

Results in a success and lighttpd is therefore working for me.


2) 이 질문의 해결책은 모르겠습니다. :]

아니에요 답변 주신것만으로도 큰 힘이 되었습니다.
초급개발자인데 갑자기 리눅스라는 장벽을 만나서 막막했는데 물어볼곳이라도 생겼다는게 얼마나 큰힘이 되는지 모르겠네요~