Nextcloud 파일 업로드가 10MB 씩 끊겨서 업로드됩니다
라즈베리파이 4 4GB
64비트 라즈비안 lite OS에
OMV6를 설치하고 도커와 portainer를 설치한 후
도커에
linuxserver/nextcloud와 nginx proxy manger, collabora/code, netdata 를 설치한 상태입니다.
공유기는 80:80, 443:444 로 포트포워딩 돼있습니다
npm은 80:80, 81:81, 444:443 으로 맵핑 돼있고
Nextcloud는 443:443, collabora/code는 9980:9980 으로 맵핑 돼있습니다
도메인은 xxx.duckdns.org 를 사용하고 있고
외부에서는 cloud.xxx.duckdns.org 로 넥스트클라우드를,
coll.xxx.duckdns.org로 Collabora/code 를 접속할 수 있습니다.
2. Nextcloud 셋팅 후 테스트삼아 9기가 짜리 파일을 업로드 해보는데 10MB씩 끊겨서? 올라가네요
쫘악 업로드 속도 유지하며 업로드되는게 아니라
10메가 올라가고 잠깐 텀을 두고 다시 10메가 올라가고 반복입니다
php 설정에서 램 3기가, post 파일 사이즈랑 max 업로드 파일 사이즈 50기가로 설정했습니다
어디가 문제일까요...?
SSD가 부팅용이고 HDD가 데이터 저장용이긴 한데
Nextcloud는 HDD(외장스토리지)로 업로드를 해도 일단 /data 디렉토리 (SSD)에 업로드를 받아놓고
나중에 HDD로 파일을 이동시키는 프로세스더라구요...
HDD의 문제는 아닌 듯 합니다
nginx 파일 업로드 용량설정은 하셨나요?
php 뿐만아니라 nginx에서도 비슷한 설정이 있으니 확인해보시면 될듯합니다
https://svrforum.com/svr/105529
저는 client_max_body쪽을 말씀드렸는데 이건 영향이 없나보네요 ㅠ
저도 같은 증상이 었는데 오류가 아니고 기본 설정인 거 같더라고요
https://help.nextcloud.com/t/nextcloud-18-uploading-1gb-file-stucking-every-10mb-please-help-i-am-already-hopeless/70719/6
여기에 채택된 답변으로 해결했었습니다
sudo -u www-data php occ config:app:set files max_chunk_size --value 0
이렇게 하셨다는 거죠?
저랑 설치 환경이 저와 비슷하신 거 같아서 제가 사용한 방법을 알려드리자면 포테이너에서 컨테이너 콘솔 들어간 다음 /config/www/nextcloud/occ config:app:set files max_chunk_size --value 0로 설정했던 걸로 기억합니다
콘솔에서 occ 파일에 files max_chunk_size --value 0 문구를 넣어야한다는 건가요?
config:app:set 이랑 -u가 뭔지 잘 모르겠네요....
터미널창에서 치시면 됩니다. 도커가 아니시고 웹서버와 php를 www-data로 치고계실때 아래명령어입니다.
sudo -u www-data php occ config:app:set files max_chunk_size --value 0
SSH에 입력했더니 Could not open input file: occ 라고 나오고 도커 콘솔창에 쳤더니 www-data 가 unknown user라고 나옵니다... 제 상황에 맞게 하려면 명령어를 어떻게 바꿔줘야 할까요?
도커시면 컴린이님 말씀처럼 컨테이너 내부에 진입 후 명령어입니다.
/config/www/nextcloud/occ config:app:set files max_chunk_size --value 0
앞에 아무것도 안붙이고 적어주신 명령어를 넣으니 다음과 같은 문구가 나옵니다
Console has to be executed with the user that owns the file config/config.php
Current user id: 0
Owner id of config.php: 65534
Try adding 'sudo -u #65534' to the beginning of the command (without the single quotes)
If running with 'docker exec' try adding the option '-u 65534' to the docker command (without the single quotes)
그래서 앞에 sudo -u #65534 를 붙여봤지만
usage: sudo -h | -K | -k | -V
usage: sudo -v [-ABknS] [-g group] [-h host] [-p prompt] [-u user]
usage: sudo -l [-ABknS] [-g group] [-h host] [-p prompt] [-U user] [-u
user] [command]
usage: sudo [-ABbEHknPS] [-C num] [-D directory] [-g group] [-h host]
[-p prompt] [-R directory] [-T timeout] [-u user]
[VAR=value] [-i|-s] []
usage: sudo -e [-ABknS] [-C num] [-D directory] [-g group] [-h host]
[-p prompt] [-R directory] [-T timeout] [-u user] file ...
이런 문구가 나오네요... 권한 관련 문제인 것 같은데 앞에 뭘 붙여야하는지 모르겠습니다
-u 65534 를 붙이니 bash: -u: command not found 라고 나옵니다
컨테이너 내부는 아래처럼 진입하면됩니다
https://svrforum.com/svr/11755
이미 해결이 하셨는지는 모르겠지만 외부에서 명령어 전달하는 방법도 올려봅니다
sudo docker exec -u abc XXXX /config/www/nextcloud/occ config:app:set files max_chunk_size --value 0
여기서 'XXXX'는 컨테이너 이름입니다.
'Config value max_chunk_size for app files set to 0'라고 출력되면 성공입니다.
감사합니다 덕분에 해결됐습니다 ㅎㅎㅎ
해결하셨다니 다행입니다 ㅎㅎ
cmt alert