로그인하면 Nginx 504 Gateway time-out만 뜨길래

 

혹시 몰라서 member_expire 모듈을 삭제해버렸더니 다시 정상적으로 로그인이 되네요

 

휴먼 이용자가 수십만이 넘고, 이러다 보니 점점 꼬이는 문제가 생기나보네요.

 

혹시 저 말고도 이런 현상을 겪으신분이 계신가요?

 

이게 갑자기 잘되다가 어느 순간 건들인적도 없이 사이트 로그인이 되지 않으니

유의하셔야할 것 같습니다.ㅠ

 

[17-Dec-2017 12:40:33]  [pool plan1] pid 1583
script_filename = /home/plan1/www/index.php
[0x00007fc8c15964b8] mail() /home/plan1/html/vendor/swiftmailer/swiftmailer/lib/classes/Swift/Transport/SimpleMailInvoker.php:34
[0x00007fc8c15962a0] mail() /home/plan1/html/vendor/swiftmailer/swiftmailer/lib/classes/Swift/Transport/MailTransport.php:170
[0x00007fc8c1596120] send() /home/plan1/html/vendor/swiftmailer/swiftmailer/lib/classes/Swift/Mailer.php:85
[0x00007fc8c1595f90] send() /home/plan1/html/common/framework/drivers/mail/mailfunction.php:62
[0x00007fc8c1595db8] send() /home/plan1/html/common/framework/mail.php:582
[0x00007fc8c1595b58] send() /home/plan1/html/modules/member_expire/member_expire.model.php:127
[0x00007fc8c1595998] sendEmail() /home/plan1/html/modules/member_expire/member_expire.controller.php:173
[0x00007fc8c1595740] triggerAutoExpire() /home/plan1/html/classes/module/ModuleHandler.class.php:1261
[0x00007fc8c1595408] triggerCall() /home/plan1/html/modules/member/member.controller.php:1911
[0x00007fc8c15951c0] doLogin() /home/plan1/html/modules/member/member.controller.php:48
[0x00007fc8c1594f90] procMemberLogin() /home/plan1/html/classes/module/ModuleObject.class.php:587
[0x00007fc8c1594bb0] proc() /home/plan1/html/classes/module/ModuleHandler.class.php:778
[0x00007fc8c1594a50] procModule() /home/plan1/html/index.php:53

  • profile

    로그에 나오는 폴더 구조를 보면 XE가 아니라 라이믹스인 것 같네요. (카테고리가... 흠흠)

     

    휴면계정 정리 모듈에 자동정리와 안내메일 발송 기능이 있는데요.

    크론을 사용할 수 없는 대부분의 웹호스팅에서는 정해진 시각에 이걸 처리할 수 없기 때문에

    로그인, 로그아웃 등 회원 관련 작업을 처리할 때마다 조금씩 나눠서 합니다.

    물론 시간이 너무 오래 걸리면 안되기 때문에 수십만 명의 회원을 한꺼번에 처리하는 건 아니고,

    한두 명만 처리하고 바로 리턴합니다.

     

    그런데 올려주신 로그를 보면 휴면계정 전환 안내 메일을 발송하다가 타임아웃이 걸리는 모양이군요.

    메일 발송 방식으로 그냥 PHP mail() 함수를 쓰고 계신 것 같은데

    SMTP라면 원래 느려터졌으니 이해가 되지만, mail() 함수가 타임아웃이 걸린다면 서버에 뭔가 문제가 있는 건데요...

     

    아무튼 안내메일 자동 발송 기능을 사용하신다면 반드시 고급 메일 발송 모듈(라이믹스 내장)과 연동하여

    기존 방식인 mail() 함수나 SMTP가 아닌 메일 발송 전문 API와 연동하시는 것이 좋습니다.

  • profile ?
    아 모듈 자체의 문제가 아니었습니다:)

    sendmail mailq 가 과부하게 쌓여서 생긴 문제네요 .

    오해를 남겨드려 죄송합니다~

    서버 문제였습니다.