أحاول إجراء تثبيت غير قياسي، ولكن ربما يتمكن شخص ما من تقديم بعض الأفكار حول سبب الخطأ. أستخدم docker-compose لتشغيل postgres و redis و sidekiq والتطبيق الرئيسي من صور Bitnami 2.3.9 المنفصلة، وهذه تعمل بشكل ممتاز على جهاز الكمبيوتر الخاص بي الذي يعمل بنظام Windows. لكن عند النشر على AWS ECS، أواجه خطأً في التطبيق الرئيسي في منتصف عملية التثبيت. كما أن آخر الأسطر المتعلقة بدمج الأصول (والتي تكون القائمة أطول) لا تظهر على الإطلاق على نظام Windows المحلي؛ حيث ينتظر النظام لفترة طويلة ثم يطبع رسائل النجاح.
postgre INFO Found PostgreSQL server listening at postgresql:5432
postgre INFO PostgreSQL server listening and working at postgresql:5432
discour INFO Preparing Discourse environment...
discour INFO Configuring the Discourse database files...
discour INFO Configuring Redis...
discour INFO Setting up SMTP in Discourse...
discour INFO Configuring Discourse database...
discour INFO Enabling PostgreSQL plugins for Discourse...
discour INFO Migrating database...
discour INFO Creating the Discourse admin user...
discour INFO Configuring your Discourse installation...
Error executing 'postInstallation': Purging temp files
Bundling assets
I, [2020-02-10T13:56:52.236240 #1088] INFO -- : Writing /opt/bitnami/discourse/public/assets/vendor-3b2f6dcdff2179eecae36277e07dc69ded2872f619a6a2bd222bbfe69e9f28ae.js
I, [2020-02-10T13:56:58.189628 #1088] INFO -- : Writing /opt/bitnami/discourse/public/assets/admin-e6fbf7cad5fdf706d3f174807bd8e6f8051c81dabdcb8c2c1cfae1ccee125eff.js
يبدو ذلك جيدًا، لأن السبب الرئيسي كان فصل قاعدة البيانات عن النظام الأحادي. لقد راجعت عملية الإعداد والتشغيل، وأعمل على نظام Ubuntu Linux (عبر WSL) على Windows مع تثبيت Docker على Windows (بما أن Docker الأصلي لا يعمل على WSL)، وقد سارت الأمور بسلاسة: تم تهيئة الصورة، وتحديث قاعدة البيانات، وظهور عدد من العناصر الأخرى على الشاشة. أخيرًا، تم تشغيل Docker (أراه في قائمة docker ps، وتمت تعيين المنافذ بشكل صحيح)، لكن عند محاولة الوصول إليه عبر localhost (وهو ما قمت بإعداده عليه)، أرى شاشة فارغة لأن الخادم لا يرسل أي استجابة. نفس الأمر كان يعمل بشكل ممتاز مع حاويات Bitnami Docker (حيث تفتح التطبيق)، لكنني لم أستطع تشغيلها بشكل صحيح على AWS لسبب ما. هل يمكن أن يكون هناك شيء ما فاتني؟ أشك في أن التشغيل عبر WSL قد يكون مشكلة، حيث أنه نظام Linux حقيقي، وقد سارت عملية التهيئة دون أخطاء.
وكذلك بشكل مشابه، تم التثبيت على AWS EC2، وتم التمهيد، وتم تشغيل Docker، لكنه يفشل في العمل على المنفذ 80. يبدو الأمر هكذا:
[*******]# telnet localhost 80
Trying 127.0.0.1...
Connected to localhost.
Escape character is '^]'.
Connection closed by foreign host.
متصل بـ Docker داخل EC2، وفي سجلات nginx أجد مثل هذه الأخطاء كل ثانية:
cannot load certificate “/shared/ssl/ec2-x-x-x-x.xx-xx.compute.amazonaws.com.cer”: PEM_read_bio_X509_AUX() failed (SSL: error:0909006C:PEM routines:get_name: no start line: Expecting: TRUSTED CERTIFICATE)
أما سجلات Redis و Postgres فكلها جيدة. وسجلات التطبيق في /var/www/discourse/log لا تُظهر أي شيء خاص (على الرغم من أنها قصيرة جدًا).
هل تمكنت من حل هذه المشكلة؟ أنا أواجه نفس المشكلة…
هناك أيضاً سجلات إضافية تظهر لدي:
at runProgram (/opt/bitnami/nami/node_modules/nami-utils/lib/os/run-program.js:223:14)
at Object.runProgram (/opt/bitnami/nami/node_modules/nami-utils/lib/os/index.js:63:12)
at Object.$app.helpers.execute (/root/.nami/components/com.bitnami.ruby/helpers.js:44:7)
at Object.$app.helpers.bundleExecute (/root/.nami/components/com.bitnami.ruby/helpers.js:62:8)
at Object.<anonymous> (/opt/bitnami/nami/node_modules/lodash/index.js:51:276)
at Service.$app.postInstallation (/root/.nami/components/com.bitnami.discourse/main.js:82:8)
at Service.runStep (/opt/bitnami/nami/node_modules/nami-core/lib/components/component.js:159:12)
at _.each.step (/opt/bitnami/nami/node_modules/nami-core/lib/components/component.js:236:32)
at r (/opt/bitnami/nami/node_modules/lodash/index.js:5:348)
at Function.sf (/opt/bitnami/nami/node_modules/lodash/index.js:78:256)
Error executing 'postInstallation': Purging temp files