Nextcloud의 누락된 데이터베이스 인덱스 경고를 지우세요
Nextcloud의 OCC 복구 기능을 안전하게 실행하고, 데이터베이스 변경 사항을 미리 보고, 경고가 계속 표시되는 이유를 확인하십시오.
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를 예시로 사용하므로, 실제로 필요한 최대 파일 크기에 맞게 값을 변경하십시오.
일반적으로 표시되는 제한은 Nextcloud 설정이 아닌 PHP 또는 웹 서버에서 설정됩니다. Nextcloud에서 지원하는 최대 용량은 운영 체제, 파일 시스템, 계정 할당량 및 사용 가능한 임시 디스크 공간에 따라 달라집니다. 데스크톱 동기화 클라이언트는 별개의 경우로, 파일을 작은 단위로 전송하므로 여기에 설명된 단일 요청 업로드 제한의 적용을 받지 않습니다.
먼저 요청 경로를 파악하십시오. 사용자가 브라우저, WebDAV 또는 데스크톱 클라이언트를 통해 파일을 업로드하는지, 그리고 사이트가 Nginx, Apache, 로드 밸런서 또는 호스팅 제공업체의 프록시를 거치는지 확인하십시오. 서버 관리자가 아닌 경우, 실패한 파일 크기, 업로드 방식, 실패 시간 및 오류 코드를 관리자에게 전달하십시오. 서버 측 제한 사항은 관리자만 변경할 수 있습니다.
PHP-FPM의 경우, 명령줄 PHP 설정뿐 아니라 Nextcloud를 제공하는 PHP-FPM 서비스에서 사용하는 설정을 수정해야 합니다. Debian 또는 Ubuntu에서는 일반적인 경로가 `/ php /etc/php/8.2/fpm/php.ini- 8.2fpm ...post_max_sizeupload_max_filesize

서버에 적합한 값을 설정하세요. 5GB 예시의 경우:
upload_max_filesize = 5G
post_max_size = 6G
max_input_time = 3600
max_execution_time = 3600

타임아웃 값은 예시일 뿐이며, 보편적인 요구 사항은 아닙니다. 연결 속도가 느리거나, 서버 사용량이 많거나, 업로드 후 최종적으로 데이터를 취합해야 하는 경우에는 더 긴 시간이 필요할 수 있습니다. 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;

그런 다음 구성을 검증하고 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 및 웹 서버 타임아웃이 제한 요소가 될 수 있습니다. 따라서 업로드 방식에 적용되지 않는 값을 변경하기 전에 먼저 해당 업로드 방식을 진단하십시오.
먼저 기존 제한보다 훨씬 큰 테스트 파일을 하나 업로드한 다음, 새 목표 크기에 가까운 파일을 업로드해 보세요. 이전에 업로드에 실패했던 동일한 브라우저나 클라이언트를 사용하여 업로드를 진행합니다. 전송이 완료되고, 파일이 예상 크기로 표시되며, 다운로드 또는 열 수 있는지 확인합니다. 파일 보기에서 업로드 완료를 나타내는 녹색 표시가 나타나는 것이 유용한 첫 번째 확인 방법이지만, 저장된 파일 크기도 비교해 보세요.

테스트가 여전히 실패하면 오류 메시지를 사용하여 다음 제한 요소를 찾으십시오. HTTP 413 오류는 요청 본문 제한을, 504 오류 또는 완료 직전 실패는 시간 초과를, 할당량 또는 디스크 공간 부족 메시지는 저장 용량 부족을 나타냅니다. 동일한 타임스탬프의 로그를 검토한 후 해당 설정만 조정하십시오. 제한은 예상되는 최대 업로드 크기에 가깝게 유지하고 동시 작업을 위한 충분한 임시 공간을 확보하십시오.
Nextcloud의 OCC 복구 기능을 안전하게 실행하고, 데이터베이스 변경 사항을 미리 보고, 경고가 계속 표시되는 이유를 확인하십시오.
PHP, Nginx 또는 Apache, 임시 저장소 및 시간 초과 설정을 조정하여 Nextcloud 브라우저의 대용량 파일 업로드를 허용하고, 어떤 제한 사항이 파일 업로드를 차단하는지 확인하십시오.
Nextcloud에서 실제로 사용하는 PHP 메모리 제한을 설정하고, 해당 서비스를 재시작한 다음, 관리자 개요에서 512MB 설정이 제대로 되었는지 확인하십시오.
Nextcloud의 S3 백엔드를 사용하여 호환되는 객체 스토리지 버킷을 마운트하고, 올바른 엔드포인트, 자격 증명, 액세스 범위 및 검증 단계를 설정하십시오.
영구 UUID 마운트, 유지 관리 모드, 검증된 복사본 및 원본 경로 심볼릭 링크를 사용하여 Linux Nextcloud 데이터 디렉터리를 외부 드라이브로 안전하게 이동합니다.
SQL 오류를 진단하고, 데이터베이스 연결을 확인하고, 중단된 마이그레이션을 안전하게 완료하여 업데이트 후 Nextcloud 액세스를 복원하세요.
Nextcloud의 OCC 명령어를 사용하여 서버 셸에서 관리자 암호를 재설정하는 방법을 안내합니다. 사용자 이름, 권한 및 외부 로그인 공급자에 대한 지침도 제공됩니다.
Apache, NGINX 또는 TLS 프록시에서 헤더를 설정하여 Nextcloud의 HSTS 경고를 해제한 다음 공개 HTTPS 응답을 안전하게 확인하십시오.
Nextcloud 서버 자체의 DNS, HTTPS, 프록시, TLS 또는 구성 문제로 인해 App Store 설치가 실패하는 경우 원인을 추적하십시오.
썸네일 작업을 제어된 백그라운드 일정으로 이동하고, 사용하지 않는 미리보기 크기를 줄이고, Nextcloud 서버에 과부하를 주지 않고 대기열을 검증하세요.