Nginx.http.sock غير منشأ

مرحباً،

لقد قررت ترك phpbb قبل بضعة أسابيع والانتقال إلى discourse.

لقد قمت بتثبيته على جهاز Raspberry pi يعمل بنظام Ubuntu 22.04.
بعد محاولات عديدة لجعله يعمل خلف Apache، قررت استخدام Nginx. (أحتاج إلى تشغيل العديد من مواقع الويب الصغيرة على خادمي…)

ومع ذلك، باتباع هذا الدليل تشغيل مواقع ويب أخرى على نفس الجهاز مثل Discourse

أواجه خطأ “بوابة سيئة” (Bad gateway) مع سجل Nginx الذي يعطيني:

connect() to unix:/var/discourse/shared/standalone/nginx.http.sock failed (2: No such file or directory)

أنا لست أول شخص يواجه هذه المشكلة. بعض المواضيع قديمة جداً، والبعض الآخر Nginx.http.sock never created لم تحصل على ردود مناسبة.
لقد قمت بإعادة تشغيل Nginx عدة مرات (والحاوية Docker)، ورأيت في مكان ما أنه يجب علي تعيين DOCKER_USE_HOSTNAME: true وقمت بتنفيذ chmod -R 777 على /var/discourse/shared/standalone.

أنا لست أكبر متخصص في هذا المجال، ولكن على مدار الـ 25 عامًا الماضية تمكنت من تشغيل برامج مختلفة على الخوادم (أنا جديد جدًا على Docker)، وسأكون سعيدًا بالاستمرار في هذا الطريق إذا كان بإمكان أي شخص المساعدة.

شكراً جزيلاً،

ملاحظة: ملف الـ yml الخاص بي:

## هذا هو قالب حاوية Discourse المتكامل والمستقل
##
## بعد إجراء تغييرات على هذا الملف، يجب عليك إعادة البناء
## /var/discourse/launcher rebuild app
##
## كن حذراً جداً عند التحرير!
## ملفات YAML حساسة للغاية للأخطاء في المسافات البيضاء أو المحاذاة!
## قم بزيارة http://www.yamllint.com/ للتحقق من صحة هذا الملف حسب الحاجة

templates:
  - "templates/postgres.template.yml"
  - "templates/redis.template.yml"
  - "templates/web.template.yml"
  ## قم بإلغاء التعليق على السطر التالي لتمكين مستمع IPv6
  #- "templates/web.ipv6.template.yml"
  - "templates/web.ratelimited.template.yml"
  ## قم بإلغاء التعليق على هذين السطرين إذا كنت ترغب في إضافة Lets Encrypt (https)
  - "templates/web.ssl.template.yml"
  #- "templates/web.letsencrypt.ssl.template.yml"


## ما هي منافذ TCP/IP التي يجب أن تعرضها هذه الحاوية؟
## إذا كنت تريد أن تشارك Discourse منفذًا مع خادم ويب آخر مثل Apache أو nginx،
## راجع https://meta.discourse.org/t/17247 للحصول على التفاصيل
expose:
  #- "8080:80"   # http
  #- "443:443" # https

params:
  db_default_text_search_config: "pg_catalog.english"

  ## قم بتعيين db_shared_buffers إلى حد أقصى 25٪ من الذاكرة الإجمالية.
  ## سيتم تعيينه تلقائيًا بواسطة bootstrap بناءً على الذاكرة العشوائية المكتشفة، أو يمكنك تجاوزها
  #db_shared_buffers: "256MB"

  ## يمكن أن يحسن أداء الفرز، ولكنه يزيد من استخدام الذاكرة لكل اتصال
  #db_work_mem: "40MB"

  ## أي مراجعة Git يجب أن تستخدمها هذه الحاوية؟ (الافتراضي: tests-passed)
  #version: tests-passed

env:
  LC_ALL: en_US.UTF-8
  LANG: en_US.UTF-8
  LANGUAGE: en_US.UTF-8
  # DISCOURSE_DEFAULT_LOCALE: en

  ## كم عدد طلبات الويب المتزامنة التي يمكن دعمها؟ يعتمد على الذاكرة ووحدات المعالجة المركزية.
  ## سيتم تعيينه تلقائيًا بواسطة bootstrap بناءً على وحدات المعالجة المركزية المكتشفة، أو يمكنك تجاوزها
  #UNICORN_WORKERS: 3


  ## TODO: اسم النطاق الذي ستستجيب له هذه النسخة من Discourse
  ## مطلوب. لن يعمل Discourse برقم IP عادي.
  DISCOURSE_HOSTNAME: 'my.attented_adress.com'

  ## قم بإلغاء التعليق إذا كنت تريد بدء تشغيل الحاوية بنفس
  ## اسم المضيف (-h option) كما هو محدد أعلاه (الافتراضي "$hostname-$config")
  DOCKER_USE_HOSTNAME: true

  ## TODO: قائمة بالبريد الإلكتروني المفصولة بفواصل والتي سيتم جعلها مسؤولة ومطورة
  ## عند التسجيل الأولي مثال 'user1@example.com,user2@example.com'
  DISCOURSE_DEVELOPER_EMAILS: 'myemail@adress.com'

  ## TODO: خادم البريد SMTP المستخدم للتحقق من الحسابات الجديدة وإرسال الإشعارات
  # عنوان SMTP واسم المستخدم وكلمة المرور مطلوبة
  # تحذير الحرف '#' في كلمة مرور SMTP يمكن أن يسبب مشاكل!
  DISCOURSE_SMTP_ADDRESS: this_is_set
  DISCOURSE_SMTP_PORT: 587
  DISCOURSE_SMTP_USER_NAME: this_is_set
  DISCOURSE_SMTP_PASSWORD: this_is_set
  DISCOURSE_SMTP_ENABLE_START_TLS: true           # (اختياري، افتراضي true)
  #DISCOURSE_SMTP_DOMAIN: discourse.example.com    # (مطلوب من قبل بعض مقدمي الخدمة)
  #DISCOURSE_NOTIFICATION_EMAIL: noreply@discourse.example.com    # (العنوان الذي سيتم إرسال الإشعارات منه)

  ## إذا قمت بإضافة قالب Lets Encrypt، قم بإلغاء التعليق أدناه للحصول على شهادة SSL مجانية
  #LETSENCRYPT_ACCOUNT_EMAIL: me@example.com

  ## عنوان CDN http أو https لهذه النسخة من Discourse (تم تكوينه للسحب)
  ## راجع https://meta.discourse.org/t/14857 للحصول على التفاصيل
  #DISCOURSE_CDN_URL: https://discourse-cdn.example.com
  
  ## مفتاح عنوان IP الخاص بـ maxmind geolocation للبحث عن عنوان IP
  ## راجع https://meta.discourse.org/t/-/137387/23 للحصول على التفاصيل
  #DISCOURSE_MAXMIND_LICENSE_KEY: 1234567890123456
## الحاوية Docker عديمة الحالة؛ يتم تخزين جميع البيانات في /shared
volumes:
  - volume:
      host: /var/discourse/shared/standalone
      guest: /shared
  - volume:
      host: /var/discourse/shared/standalone/log/var-log
      guest: /var/log
      
## الإضافات هنا
## راجع https://meta.discourse.org/t/19157 للحصول على التفاصيل
hooks:
  after_code:
    - exec:
        cd: $home/plugins
        cmd:
          - git clone https://github.com/discourse/docker_manager.git

## أي أوامر مخصصة لتشغيلها بعد البناء
run:
  - exec: echo "Beginning of custom commands"
  ## إذا كنت تريد تعيين عنوان البريد الإلكتروني 'من' للتسجيل الأول الخاص بك، قم بإلغاء التعليق والتغيير:
  ## بعد الحصول على بريد التسجيل الأول، أعد التعليق على السطر. يحتاج إلى التشغيل مرة واحدة فقط.
  #- exec: rails r "SiteSetting.notification_email='info@unconfigured.discourse.org'"
  - exec: echo "End of custom commands"

سأبدأ باتباع Discourse على Raspberry Pi | مدونة بدون وكيل عكسي.

إعجابَين (2)

شكراً جزيلاً @pfaffman
يبدو أن المشكلة كانت نسيان chmod 700 على container.
في الوقت الحالي، يعمل Discourse خلف Nginx على جهاز Raspberry 4. آمل أن يساعد هذا الأشخاص المشاركين في المواضيع الأخرى التي لم يتم حلها.

إعجابَين (2)

This topic was automatically closed 30 days after the last reply. New replies are no longer allowed.