Nextcloud의 웹 업로드 제한을 2GB 이상으로 상향 조정하세요

Nextcloud 브라우저 업로드가 2GB에서 멈추는 경우, 요청을 처리하는 모든 계층(PHP, 웹 서버 또는 리버스 프록시, 사용 중인 임시 저장소)에서 제한을 늘리십시오. 5GB를 목표로 하는 경우, 일반적인 PHP-FPM 및 Nginx 설정에는 upload_max_filesize = 5G, post_max_size = 6G, 및 client_max_body_size 5G외에도 전송에 필요한 충분한 디스크 공간과 시간이 필요합니다.

Nextcloud에 2GB라는 보편적인 용량 제한은 없습니다. 현재 관리자 매뉴얼에 따르면 기본 최대 업로드 크기는 512MB이며, 32비트 시스템에서는 2GB 미만이 최대 용량 제한입니다. 정확히 2GB에서 업로드가 중단되는 서버는 구성된 제한이나 중간 제한에 걸린 것일 가능성이 높습니다. 아래 설명에서는 5GB를 예시로 사용하므로, 실제로 필요한 최대 파일 크기에 맞게 값을 변경하십시오.

2GB 용량 제한은 넥스트클라우드에서 부과하는 건가요?

일반적으로 표시되는 제한은 Nextcloud 설정이 아닌 PHP 또는 웹 서버에서 설정됩니다. Nextcloud에서 지원하는 최대 용량은 운영 체제, 파일 시스템, 계정 할당량 및 사용 가능한 임시 디스크 공간에 따라 달라집니다. 데스크톱 동기화 클라이언트는 별개의 경우로, 파일을 작은 단위로 전송하므로 여기에 설명된 단일 요청 업로드 제한의 적용을 받지 않습니다.

먼저 요청 경로를 파악하십시오. 사용자가 브라우저, WebDAV 또는 데스크톱 클라이언트를 통해 파일을 업로드하는지, 그리고 사이트가 Nginx, Apache, 로드 밸런서 또는 호스팅 제공업체의 프록시를 거치는지 확인하십시오. 서버 관리자가 아닌 경우, 실패한 파일 크기, 업로드 방식, 실패 시간 및 오류 코드를 관리자에게 전달하십시오. 서버 측 제한 사항은 관리자만 변경할 수 있습니다.

어떤 PHP 설정을 변경해야 할까요?

PHP-FPM의 경우, 명령줄 PHP 설정뿐 아니라 Nextcloud를 제공하는 PHP-FPM 서비스에서 사용하는 설정을 수정해야 합니다. Debian 또는 Ubuntu에서는 일반적인 경로가 `/ php /etc/php/8.2/fpm/php.ini- 8.2fpm ...post_max_sizeupload_max_filesize

PHP-FPM 설정 파일이 코드 편집기에서 열려 있고, 경로 /etc/php/8.2/fpm/php.ini가 표시됩니다.
PHP-FPM 설정 경로 예시입니다. 사용 중인 Nextcloud 서비스에서 활성화된 PHP 버전과 파일 경로를 사용하십시오.

서버에 적합한 값을 설정하세요. 5GB 예시의 경우:

upload_max_filesize = 5G
post_max_size = 6G
max_input_time = 3600
max_execution_time = 3600
PHP 설정에서 upload_max_filesize는 5G, post_max_size는 6G로 설정되어 있고, 입력 및 실행 시간 초과는 3600초로 설정되어 있습니다.
5GB 업로드 대상에 대한 PHP-FPM 값 예시입니다. post_max_size가 upload_max_filesize보다 크게 설정되어 있습니다.

타임아웃 값은 예시일 뿐이며, 보편적인 요구 사항은 아닙니다. 연결 속도가 느리거나, 서버 사용량이 많거나, 업로드 후 최종적으로 데이터를 취합해야 하는 경우에는 더 긴 시간이 필요할 수 있습니다. PHP 메모리 설정과 워커별 리소스 제한도 중요합니다. 모든 PHP-FPM 워커의 메모리 제한을 자동으로 수 기가바이트로 설정하지 마십시오. Nextcloud의 PHP 가이드라인에서는 프로세스당 최소 512MB의 메모리를 권장합니다. 리소스 제한을 높이기 전에 호스트와 PHP-FPM 풀을 모니터링하십시오.

파일을 저장하고 해당 PHP-FPM 서비스를 다시 시작하여 새 설정을 적용하십시오. 예를 들어 PHP 8.2를 사용하는 시스템에서는 서비스 시작 시 다음과 같이 설정할 수 있습니다 php8.2-fpm.

sudo systemctl restart php8.2-fpm

서비스 이름은 다양합니다. 컨테이너의 경우, 마운트된 구성 또는 이미지를 업데이트하고 해당 배포 프로세스에 따라 PHP 컨테이너를 다시 생성하십시오.

웹 서버 제한을 ​​어떻게 높이나요?

Nginx의 경우, body-size 지시문을 serverNextcloud용 활성 블록 또는 보다 구체적인 적용 가능한 location블록에 배치하십시오.

client_max_body_size 5G;
편집기에서 `client_max_body_size 5G;` 지시문이 서버 블록 내부에 보이는 Nginx 서버 구성입니다.
Nextcloud 요청을 처리하는 활성 서버 블록에 Nginx 본문 크기 제한을 추가하세요.

그런 다음 구성을 검증하고 Nginx를 다시 로드하십시오.

sudo nginx -t
sudo systemctl reload nginx

Nginx에서 구문 오류가 발생하면 재시작하기 전에 수정하세요. 다른 프록시, 인그레스 컨트롤러 또는 호스팅 게이트웨이가 앞에 있는 경우, 해당 프록시에서 요청 본문 제한을 적용할 수 있습니다. 이 경우에도 해당 제한을 높이세요. 상위 프록시의 제한으로 인해 Nextcloud 호스트가 올바르게 구성되어 있더라도 업로드가 거부될 수 있습니다.

Apache의 경우, LimitRequestBody해당 가상 호스트 또는 디렉터리 구성을 확인하십시오. 현재 Nextcloud 문서에 따르면 Apache HTTP Server 2.4.54 이상 버전에서는 이 지시문의 기본값이 1GiB로 설정되어 있어, 해당 크기를 초과하는 단일 요청 업로드가 차단될 수 있습니다. 호스트에 적합한 바이트 제한을 의도적으로 설정하거나, 0Apache 본문 크기 제한을 의도적으로 없애려는 경우에만 사용하십시오. 특히 `request-timeout` mod_reqtimeout이 활성화된 경우, Apache에 더 긴 요청 시간 제한을 설정해야 할 수도 있습니다.

저장 공간 부족이나 시간 초과로 인해 업로드가 중단될 수 있나요?

네. PHP의 업로드 임시 디렉터리, Nextcloud의 구성된 임시 디렉터리, 그리고 Nginx의 임시 디렉터리에는 client_body_temp_path충분한 여유 공간이 있어야 하고 쓰기 권한이 필요합니다. 동시 업로드를 위한 공간을 확보하고, 일부 스토리지 구성에서는 업로드된 파일들을 합치는 데 필요한 공간도 확보해야 합니다. 관련 파일 시스템의 상태를 명령어로 확인하고 df -h, 서비스 계정이 구성된 임시 디렉터리에 쓰기 권한이 있는지 확인하십시오. 임시 디렉터리를 가득 찼거나 읽기 전용인 볼륨으로 지정하지 마십시오.

사용자의 Nextcloud 할당량과 서버의 여유 저장 공간도 확인하십시오. 요청 크기 제한을 늘린다고 해서 사용자의 할당량이 증가하거나 디스크 용량이 늘어나는 것은 아닙니다. 계정에 파일을 저장할 공간이 충분한 경우에만 할당량을 늘리십시오. 업로드 막바지에 오류가 발생하거나 시간 초과 또는 게이트웨이 오류가 보고되는 경우, 추가 제한을 설정하기 전에 PHP, 웹 서버, 프록시 및 Nextcloud 로그를 검사하십시오. Nextcloud 설명서에서는 fastcgi_read_timeout최종 MOVE 요청을 포함하여 PHP 시간 초과 및 Nginx 시간 초과가 가능한 원인이라고 명시하고 있습니다.

한 가지 주의할 점은 PHP의 설정 방식이 WebDAV 단일 파일 PUT이나 Nextcloud의 분할 업로드 요청을 처리하는 방식 upload_max_filesize과 post_max_size다를 수 있다는 것입니다. 이러한 경우에는 PHP 및 웹 서버 타임아웃이 제한 요소가 될 수 있습니다. 따라서 업로드 방식에 적용되지 않는 값을 변경하기 전에 먼저 해당 업로드 방식을 진단하십시오.

어떻게 수정 사항을 확인할 수 있나요?

먼저 기존 제한보다 훨씬 큰 테스트 파일을 하나 업로드한 다음, 새 목표 크기에 가까운 파일을 업로드해 보세요. 이전에 업로드에 실패했던 동일한 브라우저나 클라이언트를 사용하여 업로드를 진행합니다. 전송이 완료되고, 파일이 예상 크기로 표시되며, 다운로드 또는 열 수 있는지 확인합니다. 파일 보기에서 업로드 완료를 나타내는 녹색 표시가 나타나는 것이 유용한 첫 번째 확인 방법이지만, 저장된 파일 크기도 비교해 보세요.

Nextcloud 파일 보기에서 archive-3gb.zip 파일의 크기가 3GB로 표시되고 완료 표시가 녹색으로 나타납니다.
변경 후, 이전 제한보다 큰 테스트 파일이 예상 크기로 표시되고 완료되었다고 나타나는지 확인하십시오.

테스트가 여전히 실패하면 오류 메시지를 사용하여 다음 제한 요소를 찾으십시오. HTTP 413 오류는 요청 본문 제한을, 504 오류 또는 완료 직전 실패는 시간 초과를, 할당량 또는 디스크 공간 부족 메시지는 저장 용량 부족을 나타냅니다. 동일한 타임스탬프의 로그를 검토한 후 해당 설정만 조정하십시오. 제한은 예상되는 최대 업로드 크기에 가깝게 유지하고 동시 작업을 위한 충분한 임시 공간을 확보하십시오.

공식 문서

댓글 남기기

Nextcloud의 누락된 데이터베이스 인덱스 경고를 지우세요

Nextcloud의 누락된 데이터베이스 인덱스 경고를 지우세요

Nextcloud의 OCC 복구 기능을 안전하게 실행하고, 데이터베이스 변경 사항을 미리 보고, 경고가 계속 표시되는 이유를 확인하십시오.

Nextcloud의 웹 업로드 제한을 2GB 이상으로 상향 조정하세요

Nextcloud의 웹 업로드 제한을 2GB 이상으로 상향 조정하세요

PHP, Nginx 또는 Apache, 임시 저장소 및 시간 초과 설정을 조정하여 Nextcloud 브라우저의 대용량 파일 업로드를 허용하고, 어떤 제한 사항이 파일 업로드를 차단하는지 확인하십시오.

Nextcloud 웹 서버의 PHP 메모리 경고를 해결하는 방법

Nextcloud에서 실제로 사용하는 PHP 메모리 제한을 설정하고, 해당 서비스를 재시작한 다음, 관리자 개요에서 512MB 설정이 제대로 되었는지 확인하십시오.

S3 호환 버킷을 Nextcloud 외부 스토리지에 연결하기

Nextcloud의 S3 백엔드를 사용하여 호환되는 객체 스토리지 버킷을 마운트하고, 올바른 엔드포인트, 자격 증명, 액세스 범위 및 검증 단계를 설정하십시오.

기존 스토리지를 손상시키지 않고 Nextcloud 데이터를 외장 드라이브로 옮기기

기존 스토리지를 손상시키지 않고 Nextcloud 데이터를 외장 드라이브로 옮기기

영구 UUID 마운트, 유지 관리 모드, 검증된 복사본 및 원본 경로 심볼릭 링크를 사용하여 Linux Nextcloud 데이터 디렉터리를 외부 드라이브로 안전하게 이동합니다.

Nextcloud 데이터베이스 업데이트 후 오류 발생 시 우선 확인 사항

SQL 오류를 진단하고, 데이터베이스 연결을 확인하고, 중단된 마이그레이션을 안전하게 완료하여 업데이트 후 Nextcloud 액세스를 복원하세요.

OCC를 사용하여 분실한 Nextcloud 관리자 암호를 재설정하세요

Nextcloud의 OCC 명령어를 사용하여 서버 셸에서 관리자 암호를 재설정하는 방법을 안내합니다. 사용자 이름, 권한 및 외부 로그인 공급자에 대한 지침도 제공됩니다.

Nextcloud를 제공하는 HTTPS 엔드포인트에 HSTS 헤더를 추가하세요.

Apache, NGINX 또는 TLS 프록시에서 헤더를 설정하여 Nextcloud의 HSTS 경고를 해제한 다음 공개 HTTPS 응답을 안전하게 확인하십시오.

Nextcloud 앱 설치 시 인터넷 연결이 안 된다는 오류 메시지 표시 문제 해결

Nextcloud 앱 설치 시 인터넷 연결이 안 된다는 오류 메시지 표시 문제 해결

Nextcloud 서버 자체의 DNS, HTTPS, 프록시, TLS 또는 구성 문제로 인해 App Store 설치가 실패하는 경우 원인을 추적하십시오.

예약 대기열을 사용하여 Nextcloud 미리보기의 CPU 사용량 급증을 제어하세요

썸네일 작업을 제어된 백그라운드 일정으로 이동하고, 사용하지 않는 미리보기 크기를 줄이고, Nextcloud 서버에 과부하를 주지 않고 대기열을 검증하세요.