개발 서버의 갑작스러운 정전 이후 프로세스 재기동 중 WebtoB에서 다음과 같은 에러가 발생했다.
[HTL-00048] bind error. Listen port (80) is in use or address (0.0.0.0) is invalid.
Try to bind to that port again in 10 seconds. errno=13(Permission denied)
이에 대해 검색해보면 보통 다음의 결과가 나온다.(사진 첨부)
1. "http.m" 파일내의 NODE > IPCPERM 값을 0777 또는 0770으로 설정
(http.m은 WebtoB 설정 파일이며, NODE절에 설정하고 설정 후에는
> wscfl -i http.m 명령어로 컴파일 해준다.)
2. $WEBTOBDIR/bin 경로의 "htl" 파일의 권한 설정
(계정 root 변경 및 $WEBTOBDIR/bin로 경로 이동 후,
> chown root htl : htl 파일 소유자 root로 변경
> chmod u+s htl : 권한 부여)
3. kill -9 htl PID or webtob 관련 PID 등등 이후 진행
문제는 위 방법들을 진행하고도 동일한 에러가 계속 발생할 경우인데,
결론적으로 나는 80포트를 죽이고 WebtoB를 재기동하니 정상적으로 기동되었다.
방법은 다음 명령어로 80포트 사용처를 확인하고,
netstat -tnlp | grep 80
다음 명령어로 80포트를 죽이면 되는데, 이는 사실 굉장히 조심스러운 작업이다.
fuser -k 80/tcp
나의 경우는,
1. 개발 서버
2. 정전 직후에 모든 프로세스를 다시 올리는 상황
이었기 때문에 80포트가 사용되는 곳도,
죽여서 다른 프로세스에 영향이 갈 것이 없을 것이라는 근거에 의해 죽였지만
다른 프로세스는 정상인 상황에서 WebtoB 에러만으로 고려하는 상황이거나 운영 환경이라면
반드시 80포트의 사용처를 확인하고 진행할 것을 권장한다.
(애초에 운영 환경은 보안상 보통 80포트 사용을 막아놓는다.)
'서버 > Jeus | WebtoB' 카테고리의 다른 글
[Jeus] JEUS8 MS 시작, 중지 스크립트 생성 (0) | 2022.12.16 |
---|