logo

413 Request Entity Too Large 문제에 대해

2019. 03. 19.

이 역시 최초에 nginx 서버를 설정하고 얼마 지나지 않아 개발을 할때 생기는 문제였습니다.

 

대게 POST 방식으로 파일을 전송할 때 보게되는 에러입니다. 저같이 서버이전을 하는 사람은 phpmyadmin 으로 데이터베이스 이전중에 보게되는 문제이기도 하죠.

어느부분이 문제나면 기본으로 nginx와 php는 전송되는 POST 데이터의 제한이 엄청 낮게 설정되어있습니다. 2Mbyte 정도?

이 설정을 왠만한 파일은 허용되도록 풀어주어야 합니다.

 

먼저 그나마 익숙한 php 부터 바꾸는 방법을 알아봐요.

php.ini 파일 위치는 각자 설치한 php 버전에 따라 상이할 수 있습니다. 전 nginx 환경 위에서 돌아가는 php7.2-fpm 버전이라 경로는 아래와 같습니다. vi 에디터가 열리면 커맨드라인에 아래와 같이 찾기기능을 적용합니다.

 

1
2
#sudo vi /etc/php/7.2/fpm/php.ini
:/upload_max
cs

 

그럼 아래처럼 해당위치로 바로 이동되는데 여기의 값을 자신이 원하는 크기로 바꿉니다. 전 64메가정도로 전체적으로 조정할 예정이라 아래처럼 바꾸었습니다.

 

 

한가지 더, 바로 아래 보이는 max_file_uploads 는 한번에 올릴 수 있는 파일의 수를 말합니다. 기본값이 20인데 이 부분도 필요에 따라 변경할 수 있습니다.

이어서 값을 하나 더 변경해봅시다. 이 값도 원하는 수치만큼 바꿔줍니다. 전 64메가!

 

이렇게 까지 수정하고 :wq 로 수정후 종료이후 php 서비스를 재시작 시켜줍니다.

 

1
$ sudo service php7.2-fpm reload
cs

 

php 설정은 끝났습니다. 만약 서버를 nginx를 사용하고 있다면 서버설정에서 아래 구문 한 줄을 추가시켜주어야 합니다.

 

1
2
3
4
5
6
7
#sudo vi /etc/nginx/nginx.conf
...
 
http {
    client_max_body_size 64M;
 
    ...
cs
1
2
$ sudo service nginx reload
 
cs

 

그리고 마찬가지로 :wq 저장 후 종료이후 nginx 서비스를 재시작 해줍니다.

 

끝났습니다! 이제 설정한 전송값의 크기 만큼은 문제없이 전송될꺼에요!

 

홈페이지 파비콘(favicon) 만들고 등록하기

홈페이지 파비콘(favicon) 만들고 등록하기

2019. 03. 18.
크리에이티브 커먼즈, CC 표시에 대해

크리에이티브 커먼즈, CC 표시에 대해

2019. 03. 18.
로그 더 보기