워드프레스의 파일 업로드 기본 용량은 2M 정도로 설정되어 있다.
때문에 해당 용량을 초과하는 파일을 업로드하기 위해서는 서버와 php의 설정을 모두 변경해야 하는데 변경 방법은 크게 어렵지 않다.
(파일 수정 후 서비스를 다시 시작해야 적용되기 때문에 순서는 상관없다)
워드프레스 파일 업로드 용량 설정 방법
1. nginx 파일 설정
nginx의 설정 파일이 있는 위치로 이동 하자.
우분투 기준 설치 경로를 변경하지 않았다면 아마 아래의 경로가 기본 경로일 것이다.
/etc/nginx
경로에 이동했다면 vi에디터나 nano 에디터를 사용하여 nginx.conf 파일을 열고 아래를 참고하여 html{ } 사이에 용량을 설정하는 코드를 추가하면 된다.
client_max_body_size 5m;
용량을 얼마 늘리지 않았다면 단순히 용량을 늘리는 코드만 추가하면 되지만 업로드 파일의 용량을 많이 늘렸다면 서버의 응답 시간이나 버퍼 등의 설정의 변경도 같이하는 것이 좋다.
예를 들어 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
역시나 파일의 업로드 용량을 상당히 높게 설정했다면 아래의 응답 시간과 관련된 부분도 찾아서 같이 설정하는 것이 좋다.
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 등 파일 업로드 타입을 추가하고자 한다면 아래의 글을 참고하면 도움이 될 것이다.