ارفع حد تحميل الملفات على Nextcloud إلى ما يزيد عن 2 جيجابايت

إذا توقف تحميل ملف من متصفح Nextcloud عند 2 جيجابايت، فقم بزيادة الحد الأقصى في كل طبقة تعالج الطلب: PHP، وخادم الويب أو الخادم الوكيل العكسي، وأي وحدة تخزين مؤقتة قيد الاستخدام. بالنسبة لملف بحجم 5 جيجابايت، يحتاج إعداد PHP-FPM وNginx النموذجي إلى مساحة تخزين كافية upload_max_filesize = 5G، post_max_size = 6Gبالإضافة client_max_body_size 5Gإلى وقت كافٍ للنقل.

لا يوجد حد أقصى عالمي يبلغ 2 جيجابايت في Nextcloud. يشير دليل الإدارة الحالي إلى أن الحد الأقصى الافتراضي لحجم التحميل هو 512 ميجابايت، بينما يُعتبر الحد الأدنى لحجم التحميل أقل من 2 جيجابايت حدًا أقصى ثابتًا على أنظمة 32 بت. من المرجح أن الخادم الذي يتوقف عند 2 جيجابايت بالضبط قد وصل إلى حد مُحدد مسبقًا أو إلى وسيط. تستخدم الخطوات التالية 5 جيجابايت كمثال؛ استبدلها بأكبر حجم ملف تحتاجه فعليًا.

هل يأتي حد الـ 2 جيجابايت من Nextcloud؟

في كثير من الأحيان، يتم تحديد الحد الأقصى المرئي بواسطة PHP أو خادم الويب وليس بواسطة إعدادات Nextcloud. كما يعتمد الحد الأقصى المدعوم من Nextcloud على نظام التشغيل ونظام الملفات وحصة الحساب ومساحة القرص المؤقتة المتاحة. أما عميل مزامنة سطح المكتب فهو حالة منفصلة: إذ ينقل الملفات على شكل أجزاء أصغر ولا يخضع لنفس حدود التحميل للطلب الواحد المذكورة هنا.

حدد مسار الطلب أولاً. تحقق مما إذا كان المستخدمون يرفعون الملفات عبر المتصفح، أو WebDAV، أو تطبيق سطح المكتب، وما إذا كان الموقع يمر عبر Nginx، أو Apache، أو موازن الأحمال، أو خادم وكيل مزود الاستضافة. إذا لم تكن مسؤولاً عن إدارة الخادم، فأرسل إلى المسؤول حجم الملف الذي فشل رفعه، وطريقة الرفع، ووقت الفشل، وأي رمز خطأ؛ فهو الوحيد المخوّل بتغيير حدود الخادم.

ما هي إعدادات PHP التي يجب عليك تغييرها؟

بالنسبة لـ PHP-FPM، عدّل الإعدادات التي يستخدمها خادم PHP-FPM الذي يُشغّل Nextcloud، وليس فقط إعدادات PHP في سطر الأوامر. في Debian أو Ubuntu، يكون المسار الشائع هو `/php/fpm/php` /etc/php/8.2/fpm/php.ini؛ استبدل 8.2`/php/fpm` بإصدار PHP المُثبّت. قد يستخدم توزيعك أو حاويتك مسارًا مختلفًا. يُشير دليل PHP إلى أن `/php/fpm/php` post_max_sizeيجب أن يكون أكبر من `/php/fpm` upload_max_filesize، لذا اترك مساحة كافية لحجم البيانات الإضافية للطلبات.

ملف تكوين PHP-FPM مفتوح في محرر أكواد، مع ظهور المسار /etc/php/8.2/fpm/php.ini.
مثال على مسار تكوين PHP-FPM. استخدم إصدار PHP ومسار الملف النشطين في خدمة Nextcloud الخاصة بك.

حدد القيم المناسبة لخادمك. على سبيل المثال، بالنسبة لـ 5 جيجابايت:

upload_max_filesize = 5G
post_max_size = 6G
max_input_time = 3600
max_execution_time = 3600
إعدادات PHP تُظهر أن قيمة upload_max_filesize مضبوطة على 5 جيجابايت، وقيمة post_max_size مضبوطة على 6 جيجابايت، وأن مهلات الإدخال والتنفيذ مضبوطة على 3600 ثانية.
مثال على قيم PHP-FPM لهدف تحميل بحجم 5 جيجابايت؛ يتم تعيين post_max_size أعلى من upload_max_filesize.

قيم المهلة الزمنية هي أمثلة وليست متطلبات عامة. قد تتطلب الاتصالات البطيئة والخوادم المشغولة وعمليات التحميل التي يجب تجميعها في النهاية وقتًا أطول. لا تزال إعدادات ذاكرة PHP وحدود موارد كل عامل مهمة: لا تقم بتعيين حد ذاكرة كل عامل PHP-FPM تلقائيًا إلى عدة غيغابايت. توصي إرشادات PHP الخاصة بـ Nextcloud بتخصيص 512 ميجابايت على الأقل من الذاكرة لكل عملية؛ راقب المضيف ومجموعة PHP-FPM الخاصة به قبل رفع حدود الموارد.

احفظ الملف وأعد تشغيل خدمة PHP-FPM المعنية حتى تتمكن من قراءة الإعدادات الجديدة. على سبيل المثال، في نظام يستخدم PHP 8.2، قد تكون الخدمة كالتالي php8.2-fpm:

sudo systemctl restart php8.2-fpm

تختلف أسماء الخدمات. في الحاويات، قم بتحديث التكوين أو الصورة المثبتة وأعد إنشاء حاوية PHP وفقًا لعملية النشر تلك.

كيف يمكنك رفع حد خادم الويب؟

بالنسبة لـ Nginx، ضع توجيه حجم الجسم في serverالكتلة النشطة لـ Nextcloud، أو في locationكتلة أكثر تحديدًا قابلة للتطبيق:

client_max_body_size 5G;
تكوين خادم Nginx في محرر مع التوجيه client_max_body_size 5G؛ مرئي داخل كتلة الخادم.
ضع حد حجم جسم Nginx في كتلة الخادم النشط التي تتعامل مع طلبات Nextcloud.

ثم تحقق من صحة الإعدادات وأعد تحميل Nginx:

sudo nginx -t
sudo systemctl reload nginx

إذا أبلغ Nginx عن خطأ في بناء الجملة، فقم بإصلاحه قبل إعادة التحميل. إذا كان هناك خادم وكيل أو وحدة تحكم دخول أو بوابة استضافة أخرى أمام الخادم الرئيسي، فقد تفرض حدًا خاصًا بها لحجم نص الطلب؛ لذا ارفع هذا الحد أيضًا. قد يؤدي وجود حد على خادم وكيل المصدر إلى رفض عملية التحميل حتى لو كان مضيف Nextcloud مُهيأً بشكل صحيح.

بالنسبة لـ Apache، تحقق LimitRequestBodyمن إعدادات المضيف الظاهري أو الدليل ذي الصلة. تشير وثائق Nextcloud الحالية إلى أن خادم Apache HTTP الإصدار 2.4.54 والإصدارات الأحدث يضبط هذا التوجيه افتراضيًا على 1 جيجابايت؛ مما قد يمنع تحميل طلب واحد يتجاوز هذا الحجم. حدد حدًا متعمدًا للبايتات مناسبًا للمضيف، أو استخدمه 0فقط إذا كنت لا ترغب عمدًا في تحديد حد لحجم بيانات Apache. قد يحتاج Apache أيضًا إلى مهلات أطول للطلبات، خاصةً إذا mod_reqtimeoutكانت هذه الميزة مُفعّلة.

هل يمكن أن يؤدي التخزين أو انتهاء المهلة إلى إيقاف عملية التحميل؟

نعم. يجب أن يتوفر في مجلد التحميل المؤقت في PHP، ومجلد Nextcloud المؤقت المُهيأ، ومجلد Nginx المؤقت client_body_temp_pathمساحة كافية وأن تكون قابلة للكتابة. اترك مساحة كافية للتحميلات المتزامنة، وفي بعض إعدادات التخزين، لتجميع أجزاء الملفات المُحمّلة. تحقق من نظام الملفات ذي الصلة باستخدام الأمر المناسب df -h، وتأكد من أن حساب الخدمة لديه صلاحية الكتابة إلى المجلد المؤقت المُهيأ. لا تُوجه أي إعدادات مؤقتة إلى وحدة تخزين ممتلئة أو للقراءة فقط.

تحقق أيضًا من حصة المستخدم في Nextcloud ومساحة التخزين المتاحة على الخادم. لا يؤدي رفع حد حجم الطلب إلى زيادة حصة المستخدم أو زيادة سعة القرص. لا ترفع الحصة إلا إذا كان الحساب يحتوي على مساحة كافية للملف. إذا حدث الخطأ قرب نهاية التحميل أو أبلغ عن انتهاء المهلة أو خطأ في البوابة، فافحص سجلات PHP وخادم الويب والوكيل وNextcloud قبل رفع المزيد من الحدود. يشير دليل Nextcloud تحديدًا إلى انتهاء مهلة PHP وNginx fastcgi_read_timeoutكأسباب محتملة، بما في ذلك أثناء طلبات MOVE النهائية.

تنبيه هام: قد لا تتحكم إعدادات PHP upload_max_filesizeفي post_max_sizeطلبات PUT لملف واحد عبر WebDAV أو طلبات التحميل المجزأ في Nextcloud بنفس الطريقة؛ ففي هذه الحالات، قد تكون مهلة PHP وخادم الويب هي العامل المحدد. لذا، يُنصح بتشخيص طريقة التحميل قبل تغيير أي قيم لا تنطبق عليها.

كيف يمكنك التأكد من إصلاح المشكلة؟

ابدأ بملف اختبار واحد يتجاوز الحد القديم بكثير، ثم اختبر ملفًا آخر قريبًا من الحد الجديد. ارفع الملف عبر نفس المتصفح أو البرنامج الذي فشل رفعه في البداية. تأكد من اكتمال النقل، وظهور الملف بالحجم المتوقع، وإمكانية تنزيله أو فتحه. يُعد مؤشر اكتمال التحميل الأخضر في عرض الملفات فحصًا أوليًا مفيدًا، ولكن قارن حجم الملف المخزن أيضًا.

تعرض صفحة ملفات Nextcloud ملف archive-3gb.zip بحجم معروض يبلغ 3 جيجابايت وعلامة اكتمال خضراء.
بعد التغيير، تأكد من أن ملف الاختبار الأكبر من الحد السابق يظهر بحجمه المتوقع ويظهر على أنه مكتمل.

إذا استمر فشل الاختبار، استخدم الخطأ لتحديد مستوى التقييد التالي: يشير خطأ HTTP 413 إلى حد أقصى لحجم نص الطلب، بينما يشير خطأ 504 أو فشل قرب الاكتمال إلى انتهاء المهلة، وتشير رسالة الحصة أو مساحة القرص إلى سعة التخزين. راجع سجلات النظام لنفس الطابع الزمني، ثم عدّل الإعداد المسؤول فقط. حافظ على الحد الأقصى قريبًا من أكبر حجم تحميل متوقع، واحتفظ بمساحة تخزين مؤقتة كافية للأنشطة المتزامنة.

الوثائق الرسمية

اترك تعليقاً

ارفع حد تحميل الملفات على Nextcloud إلى ما يزيد عن 2 جيجابايت

ارفع حد تحميل الملفات على Nextcloud إلى ما يزيد عن 2 جيجابايت

السماح بتحميل ملفات أكبر حجماً عبر متصفح Nextcloud عن طريق ضبط إعدادات PHP أو Nginx أو Apache والتخزين المؤقت والمهلة الزمنية - والتحقق من الحد الذي يمنع الملف.

إزالة تحذير ذاكرة PHP الخاص بـ Nextcloud على خادم الويب

قم بتعيين حد ذاكرة PHP الذي يستخدمه Nextcloud فعليًا، وأعد تشغيل الخدمة الصحيحة، وتأكد من إعداد 512 ميجابايت في نظرة عامة على المسؤول.

قم بتوصيل حاوية تخزين متوافقة مع S3 بوحدة تخزين خارجية في Nextcloud

قم بتثبيت حاوية تخزين كائنات متوافقة في Nextcloud باستخدام الواجهة الخلفية S3 الخاصة بها، مع نقطة النهاية الصحيحة، وبيانات الاعتماد، ونطاق الوصول، وخطوات التحقق.

انقل بيانات Nextcloud إلى محرك أقراص خارجي دون التأثير على مساحة التخزين

انقل بيانات Nextcloud إلى محرك أقراص خارجي دون التأثير على مساحة التخزين

قم بنقل دليل بيانات Nextcloud الخاص بنظام Linux بأمان إلى محرك أقراص خارجي باستخدام تركيب UUID ثابت، ووضع الصيانة، ونسخة تم التحقق منها، والرابط الرمزي للمسار الأصلي.

خطأ في قاعدة بيانات Nextcloud بعد التحديث: ما الذي يجب التحقق منه أولاً

استعادة الوصول إلى Nextcloud بعد التحديث عن طريق تشخيص أخطاء SQL، والتحقق من اتصال قاعدة البيانات، وإكمال عمليات الترحيل المتقطعة بأمان.

إعادة تعيين كلمة مرور مسؤول Nextcloud المفقودة باستخدام OCC

استخدم أمر OCC الخاص بـ Nextcloud لإعادة تعيين كلمة مرور المسؤول من واجهة سطر الأوامر الخاصة بالخادم، مع إرشادات حول أسماء المستخدمين والأذونات وموفري تسجيل الدخول الخارجيين.

أضف رأس HSTS إلى نقطة نهاية HTTPS التي تخدم Nextcloud

قم بإزالة تحذير HSTS الخاص بـ Nextcloud عن طريق تعيين العنوان في Apache أو NGINX أو وكيل TLS الخاص بك، ثم تحقق من استجابة HTTPS العامة بأمان.

استكشاف أخطاء تثبيت تطبيقات Nextcloud التي تُبلغ عن عدم وجود اتصال بالإنترنت وإصلاحها

استكشاف أخطاء تثبيت تطبيقات Nextcloud التي تُبلغ عن عدم وجود اتصال بالإنترنت وإصلاحها

تتبع حالات فشل تثبيت التطبيقات من متجر التطبيقات إلى مشاكل في نظام أسماء النطاقات (DNS) أو بروتوكول HTTPS أو الخادم الوكيل أو بروتوكول TLS أو مشاكل في التكوين من خادم Nextcloud نفسه.

التحكم في ارتفاعات استخدام وحدة المعالجة المركزية في Nextcloud Preview باستخدام قائمة انتظار مجدولة

انقل العمل على الصور المصغرة إلى جدول زمني مُتحكم به في الخلفية، وقم بتقليص أحجام المعاينة غير المستخدمة، وتحقق من قائمة الانتظار دون إثقال خادم Nextcloud الخاص بك.

تجاوز مرحلة "معالجة الملفات" في مزامنة سطح المكتب مع Nextcloud

ابحث عن الملف أو قاعدة الاستبعاد أو مشكلة الاتصال أو حالة قاعدة بيانات العميل التي تعيق مزامنة Nextcloud، ثم تحقق من عمليات التحميل والتنزيل بأمان.