워드프레스에서 글을 작성하고 작성한 글을 공개하기 위해 미리 보기를 하거나 공개를 누르면 “Publishing failed. Error message: 응답이 유효한 JSON 응답이 아닙니다.”라는 메시지가 뜨면서 진행이 되지 않는다.
관련해서 인터넷을 찾아보니 대체로 아래 3가지 경우에 발생한다.
- 쿠텐베르크 에디터
- 호환되지 않는 플러그인
- 고유주소(Permalink)
해결책(Workaround)
첫 번째 및 두 번째 경우는 뭐 워드프레스의 에디터를 클래식으로 바꿔보고 설치한 플러그인들을 하나하나 비활성화시켜보는 수밖에 없다. 세 번째는 제가 경험한 경우라서 찾은 정보를 정리해 본다.
제 경우는 워드프레스의 글을 기본이 아닌 다른 고유주소(Permalink)로 사용하도록 설정했을 때 발생했다. 왜 잘 되다가 이 문제가 발생했는지는 모르겠다. Nginx의 설정 파일을 아래와 같이 수정하니 정상동작한다.
$ sudo nano /etc/nginx/sites-available/default
원본 내용
location / {
# First attempt to serve request as file, then
# as directory, then fall back to displaying a 404.
try_files $uri $uri/ =404;
아래는 수정한 파일이다.
location / {
# First attempt to serve request as file, then
# as directory, then fall back to displaying a 404.
#try_files $uri $uri/ =404;
try_files $uri $uri/ /index.php?$args;
try_files $uri $uri/ 문장 뒤에 /index.php?$args 를 추가했다. 이후 Nginx를 다시 시작해준다.
$ sudo /etc/init.d/nginx restart
참고 문서