서기록

2024-07-22 월요일 / seogilang

 워드프레스의 파일 업로드 기본 용량은 2M 정도로 설정되어 있다.

 때문에 해당 용량을 초과하는 파일을 업로드하기 위해서는 서버와 php의 설정을 모두 변경해야 하는데 변경 방법은 크게 어렵지 않다.
(파일 수정 후 서비스를 다시 시작해야 적용되기 때문에 순서는 상관없다)

 

워드프레스 파일 업로드 용량 설정 방법

1. nginx 파일 설정

 nginx의 설정 파일이 있는 위치로 이동 하자.

 우분투 기준 설치 경로를 변경하지 않았다면 아마 아래의 경로가 기본 경로일 것이다.

 /etc/nginx

 

 경로에 이동했다면 vi에디터나 nano 에디터를 사용하여 nginx.conf 파일을 열고 아래를 참고하여 html{ } 사이에 용량을 설정하는 코드를 추가하면 된다.

 client_max_body_size 5m;

nginx에서 파일 업로드 설정

 

 용량을 얼마 늘리지 않았다면 단순히 용량을 늘리는 코드만 추가하면 되지만 업로드 파일의 용량을 많이 늘렸다면 서버의 응답 시간이나 버퍼 등의 설정의 변경도 같이하는 것이 좋다.

 예를 들어 client_max_body_size 500m; 정도로 설정했다면 아래의 코드를 추가하는 것이 좋다.

 fastcgi_buffers 16 32k;

 fastcgi_buffer_size 64k;

 fastcgi_connect_timeout 300s;

 fastcgi_send_timeout 300s;

 fastcgi_read_timeout 300s;

 

2. php 파일 설정

 php의 경우 수정해야 하는 파일은 두 개지만 수정 내용은 똑같기 때문에 어려운 부분은 없을 것이다.

 우분투 기준 php가 설치된 경로를 변경하지 않았다면 기본 경로는 아래와 같을 것이다.

 /etc/php/8.0/cli

 /etc/php/8.0/fpm

 

 경로에 이동했다면 마찬가지로 vi나 nano 에디터로 php.ini 파일을 열자.
(경로는 두 군데지만 파일명은 같다)

 파일을 열었다면 아래의 내용을 참고하여 해당 부분을 찾아 수정하면 되는데 upload_max_filesize의 경우 업로드 가능한 파일의 용량으로 nginx에서 설정한 용량과 같은 용량으로 설정하면 되며 post_max_size의 경우 upload_max_filesize 그 이상으로 설정해야 한다.

 upload_max_filesize = 5M

 post_max_size = 5M

php에서 파일 업로드 설정

 

 역시나 파일의 업로드 용량을 상당히 높게 설정했다면 아래의 응답 시간과 관련된 부분도 찾아서 같이 설정하는 것이 좋다.

 max_execution_time = 300

 max_input_time = 300

 

3. 서비스 재시작

 nginx와 php의 파일을 수정하여 설정을 변경했다면 서비스를 다시 시작하여 적용하면 된다.

 sudo systemctl restart nginx

 sudo systemctl restart php8.0-fpm

 

기타 참고 사항

 설정을 변경할 때 보통 특별하게 건드린 부분이 없다면 nginx의 nginx.conf 파일 설정에는 파일 업로드 용량과 관련된 코드가 아예 없기 때문에 코드를 추가하면 되지만 php의 php.ini 파일 설정에서는 이미 코드는 추가되어 있기 때문에 해당 위치를 찾아서 변경해야 한다.

 사용자가 어떻게 구성했는지에 따라 다를 수 있으니 잘 확인하고 설정을 변경하자.

 

워드프레스의 파일 업로드 용량이 아닌 zip 등 파일 업로드 타입을 추가하고자 한다면 아래의 글을 참고하면 도움이 될 것이다.

@워드프레스 파일 타입 업로드 권한 문제 해결 방법