개요
필자는 시놀로지를 이용하여 워드프레스를 사용하고 있다. 이때 아파치 2.4 + php 5.6 조합을 사용하는데 워드프레스 마운트 경로를 옮긴 후 난데 없이 nginx 504에러가 발생하여 당황하였다. 갑자기 발생한 증상이라 원인이 시놀로지인지 워드프레스인지 몰라 헤매다가 원인이 wp super-cache 플러그인임을 확인하여 정리하여 포스팅 한다.
원인 파악 방법
로그 살펴보기
원인일 파악해보기 위해 nginx로그를 보니 timeout 에러만 존재했다. 따라서 nginx는 단순 리버스 프록시로써 에러가 노출됨을 알수 있었고 원본인 아파치의 로그를 살펴보았다.
시놀로지에 접속하여 아래의 커맨드로 로그를 보았다.
워드프레스에 접속 시도시 proxy_fcgi 모듈에서 에러가 발생함을 찾았다.
워드프레스 proxy_fcgi 관련 이슈 구글링 해보기
https://wordpress.org/support/topic/feature-request-prevent-proxy_fcgierror-on-restrictive-servers/를 통해 wp super-cache에서 WPCACHEHOME 지정을 절대경로로 지정해놓은것이 원인임을 찾았다.
wp super-cache 이슈 해결하기
wp super-cache 비활성화
우선 관리 페이지에서 플러그인을 비활성화 해보니 해결됨을 알 수 있었다.
WPCACHEHOME 경로 변경하기
WPCACHEHOME 경로를 다시 바뀐 위치로 지정한다.
wp super-cache 활성화 및 확인
다시 플러그인을 활성화 하고 사이트에 접속해보면 정상 동작 함을 알 수 있다. 🙂
느낀 점
필자가 생각하는 장기 해결책은 아래와 같다.
- wordpress를 시놀로지에 임베딩 하는 형태가 아니라 docker형태로 만들어 제반환경 의심의 여지를 줄이고 나아가 클라우드 환경에 걸맞게 만든다.
- wp super-cache 플러그인에서 절대 경로를 지정하는것은 문제의 여지가 있으므로 다른 캐시 플러그인 대안을 고려해본다.