سؤال

أنا أستخدم Django كإطار ويب ثم Apache وLighttpd كخادم ويب وخادم وسائط ثابت على التوالي.يخدم Lighty كل المحتوى الثابت الخاص بي بشكل جيد، ولكنني بحاجة إلى تهيئته لخدمة الملفات الجديدة التي تم تحميلها بواسطة المستخدم.يتم تشغيل Lighttpd على جهاز مختلف عن جهاز Apache(Django).يتم تنفيذ كود جانغو الخاص بي لإنشاء دليل ثم إنشاء ملف صورة على جهاز Apache الخاص بي، مما يجعله يتم حفظه حاليًا في نفس الجهاز نفسه.أريد أن يتم إنشاء هذا الدليل والملف على خادم الوسائط الثابت الخاص بي، والذي يجب أن يتم تقديمه بعد ذلك بواسطة خادم الوسائط نفسه.أنا أستخدم وظائف os.mkdir وurllib.urlretrieve على التوالي لإنشاء دليل وحفظ الملفات على جهاز Django(Apache).هل يمكنني على أية حال إجراء بعض التعديلات على التكوين لتشغيل هذه الأشياء أو أحتاج إلى كتابة نصوص برمجية على خادم الوسائط والاتصال بها من جهاز Django؟؟

هل كانت مفيدة؟

المحلول

وأبسط الجواب هو أن الإضافات المستخدم إلى الدليل المشترك أن كلا من خوادم الشبكة يمكن الوصول إليها. ثم كان متوفرا على الفور. إذا كنت تستخدم يونكس (يبدو وكأنه هو) ثم NFS هو الحل الممكن. إذا كنت تعتقد أن موقع الويب الخاص بك تحجيم إلى خوادم متعددة على فليكر لوس انجليس ثم استخدام رسينك لدفع إلى خوادم حافة متعددة، وربما حتى تنفيذ مخطط عملية التجزئة هو حل آخر.

وفقط كن حذرا. هناك الكثير من المخاوف الأمنية التي اعتمادا على التطبيق الخاص بك عليك أن تنظر.

وإذا كان كل الملفات تذهب إلى دليل في متناول الجمهور قد يكون من الممكن للمستخدمين لتخمين أسماء الملفات الشعوب الأخرى وتحميلها

و. في هذه الحالة سوف تحتاج لخدمتهم من جانغو بطبقة رقيقة من الأمن على القمة.

وأبدا على ثقة المستخدمين لديك! تحقق من أن ما ينشرونه في مجموعة المسموح به معين. تحت أي ظرف من الظروف يجب أن تسمح لهم لتحميل كل ما تريد. ما لم يكن بالطبع مستخدمين عدد قليل موثوق به. حتى ذلك الحين يجب عليك القيام ببعض الفحوصات. أنها ربما لا ينبغي أن يكون تحميل الملفات فب لأحد. آخر شيء كنت تريد أن تعطي لهم القدرة على تشغيل البرامج النصية التعسفية على الخادم الخاص بك. على الأقل تكوين الدليل لخدمة لتو الملفات ويتم تنفيذ أي شيء.

وحظا سعيدا

نصائح أخرى

هذا هو نوع الأشياء التي أستخدم rsync من أجلها.افعل ما تريد على الخادم الرئيسي ثم ادفع rsync بشكل دوري (أو عند الطلب) إلى الخادم الثابت.يعد Rsync أسرع (وأكثر ميزات) من أي شيء يمكنك إنتاجه باختراق سريع.

فقط لأنني مصاب بجنون العظمة، أقوم بإجراء rsync كل ساعة لجميع مواقع عملائي إلى خادمين احتياطيين، أحدهما موجود في المرآب الخاص بي.لقد قمت للتو بتحديد توقيت "rsync -a" مقابل موقع عميل بسعة 1.7 جيجابايت (والذي لم يكن به أي تغييرات) واستغرق الأمر 9.92 ثانية على مدار الساعة، بما في ذلك 3 مصافحات للشبكة لمزامنة 3 أدلة مختلفة.إذا تغير أي شيء، فقد تم إنجازه، مع الطوابع الزمنية، والمالك/المجموعة، وما إلى ذلك.

إنه لأمر مدهش كيف يمكن أن تصبح غير مبالٍ بشأن فشل الخادم عندما تعمل نسخًا احتياطيًا حقيقيًا متعدد الأجهزة ولا يشارك فيه البشر.أنا أنام جيدًا حقًا.

مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top