أحاول تثبيت Discourse على نطاق فرعي.
نطاقي الرئيسي يعمل بنظام WordPress، والذي تم بناؤه باستخدام docker-compose.
النطاق الفرعي والنطاق يستخدمان نفس خادم VPS.
للأسف، لا يمكن بدء تشغيل NGIX. عندما أقوم بتشغيل الأمر systemctl status nginx، تظهر الرسالة التالية:
× nginx.service - خادم ويب عالي الأداء وخادم وكيل عكسي
تم التحميل: تم التحميل (/lib/systemd/system/nginx.service؛ ممكّن؛ إعداد افتراضي: ممكّن)
نشط: فشل (النتيجة: رمز خروج) منذ الجمعة 2024-03-08 07:06:36 CST؛ قبل 1 ساعة و 14 دقيقة
المستندات: man:nginx(8)
العملية: 27329 ExecStartPre=/usr/sbin/nginx -t -q -g daemon on; master_process on; (رمز الخروج، الحالة=0/نجاح)
العملية: 27330 ExecStart=/usr/sbin/nginx -g daemon on; master_process on; (رمز الخروج، الحالة=1/فشل)
وحدة المعالجة المركزية: 42 مللي ثانية
08 مارس 07:06:33 vmi1695712.contaboserver.net systemd[1]: بدء خادم ويب عالي الأداء وخادم وكيل عكسي...
08 مارس 07:06:33 vmi1695712.contaboserver.net nginx[27330]: nginx: [emerg] فشل الربط بـ 0.0.0.0:80 (98: خطأ غير معروف)
08 مارس 07:06:34 vmi1695712.contaboserver.net nginx[27330]: nginx: [emerg] فشل الربط بـ 0.0.0.0:80 (98: خطأ غير معروف)
08 مارس 07:06:34 vmi1695712.contaboserver.net nginx[27330]: nginx: [emerg] فشل الربط بـ 0.0.0.0:80 (98: خطأ غير معروف)
08 مارس 07:06:35 vmi1695712.contaboserver.net nginx[27330]: nginx: [emerg] فشل الربط بـ 0.0.0.0:80 (98: خطأ غير معروف)
08 مارس 07:06:35 vmi1695712.contaboserver.net nginx[27330]: nginx: [emerg] فشل الربط بـ 0.0.0.0:80 (98: خطأ غير معروف)
08 مارس 07:06:36 vmi1695712.contaboserver.net nginx[27330]: nginx: [emerg] لا يزال غير قادر على الربط()
08 مارس 07:06:36 vmi1695712.contaboserver.net systemd[1]: nginx.service: تم إنهاء عملية التحكم، الرمز=منتهي، الحالة=1/فشل
08 مارس 07:06:36 vmi1695712.contaboserver.net systemd[1]: nginx.service: فشل مع النتيجة 'رمز خروج'.
08 مارس 07:06:36 vmi1695712.contaboserver.net systemd[1]: فشل في بدء خادم ويب عالي الأداء وخادم وكيل عكسي.
ملف الموقع الخاص بي لـ Discourse:
# إعدادات الخادم الافتراضية
#
server {
# listen 80 default_server;
# listen [::]:80 default_server;
# إعدادات SSL
#
# listen 443 ssl default_server;
# listen [::]:443 ssl default_server;
#
# ملاحظة: يجب عليك تعطيل gzip لحركة مرور SSL.
# انظر: https://bugs.debian.org/773332
#
# اقرأ عن ssl_ciphers للتأكد من إعداد آمن.
# انظر: https://bugs.debian.org/765782
#
# شهادات ذاتية التوقيع تم إنشاؤها بواسطة حزمة ssl-cert
# لا تستخدمها في خادم إنتاجي!
#
# include snippets/snakeoil.conf;
root /var/www/html;
# أضف index.php إلى القائمة إذا كنت تستخدم PHP
index index.html index.htm index.nginx-debian.html;
server_name forum.ictsharks.com;
location / {
proxy_pass http://unix:/var/discourse/shared/standalone/nginx.http.sock:;
proxy_set_header Host $http_host;
proxy_http_version 1.1;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header X-Forwarded-Proto $scheme;
proxy_set_header X-Real-IP $remote_addr;
# حاول أولاً تقديم الطلب كملف، ثم
# كدليل، ثم ارجع إلى عرض 404.
# try_files $uri $uri/ =404;
}
# تمرير نصوص PHP إلى خادم FastCGI
#
#location ~ \.php$ {
# include snippets/fastcgi-php.conf;
#
# # مع php-fpm (أو مقابس Unix أخرى):
# fastcgi_pass unix:/run/php/php7.4-fpm.sock;
# # مع php-cgi (أو مقابس TCP أخرى):
# fastcgi_pass 127.0.0.1:9000;
#}
# منع الوصول إلى ملفات .htaccess، إذا كان جذر مستند Apache
# يتوافق مع جذر NGINX
#
#location ~ /\\.ht {
# deny all;
#}
}
لقد قمت بفحصه عدة مرات، لكنني لا أستطيع معرفة مكان الخطأ.
آسف، أنا مبتدئ في أمور Linux / NGINX / Docker. أي نصيحة ستكون موضع تقدير. شكراً لك.
## ما هي منافذ TCP/IP التي يجب أن يكشف عنها هذا الحاوية؟
## إذا كنت تريد أن تشارك Discourse منفذًا مع خادم ويب آخر مثل Apache أو nginx،
## انظر https://meta.discourse.org/t/17247 للحصول على التفاصيل
expose:
# - "80:80" # http
# - "443:443" # https
أتفهم سجلات DNS و https والشهادات. فقط الباقي جديد بالنسبة لي.
كما ذكرت، أعتقد أن NGINX الآخر (الخاص بـ WordPress) يعمل في حاوية مع MySQL و WordPress.
هذا ما أحصل عليه عند تشغيل الأمر docker ps:
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
6ca4cbec2c88 local_discourse/app "\"/sbin/boot\"" 51 minutes ago Up 15 minutes app
4a3ebdd9f5b5 nginx:1.15.12-alpine "\"nginx -g 'daemon of..." 20 hours ago Up 15 minutes 0.0.0.0:80->80/tcp, 0.0.0.0:443->443/tcp webserver
42c4211a2fb6 wordpress:5.1.1-fpm-alpine "\"docker-entrypoint.s..." 2 days ago Up 15 minutes 9000/tcp wordpress
5b588a7435ad mysql:8.0 "\"docker-entrypoint.s..." 2 days ago Up 15 minutes 3306/tcp, 33060/tcp db
وهذا يفسر سبب عدم قدرة nginx الخارجي على البدء، حيث إن المنافذ مشغولة بواسطة المنفذ الداخلي. ربما تحتاج إلى إيقاف تشغيل هذا الحاوية ونقل إعداداتها الخاصة بـ Wordpress إلى طبقة nginx الخارجية.
أيضًا، هذه حاويات منفصلة، nginx منفصل عن MySQL و WordPress.
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
6ca4cbec2c88 local_discourse/app " /sbin/boot" 3 hours ago Up 2 hours app
42c4211a2fb6 wordpress:5.1.1-fpm-alpine "docker-entrypoint.s…" 2 days ago Up 2 hours 9000/tcp wordpress
5b588a7435ad mysql:8.0 "docker-entrypoint.s…" 2 days ago Up 2 hours 3306/tcp, 33060/tcp db
اتصالات الإنترنت النشطة (الخوادم فقط)
Proto Recv-Q Send-Q Local Address Foreign Address State PID/Program name
tcp 0 0 127.0.0.53:53 0.0.0.0:* LISTEN 418/systemd-resolve
tcp 0 0 0.0.0.0:22 0.0.0.0:* LISTEN 462/sshd: /usr/sbin
tcp6 0 0 :::22 :::* LISTEN 462/sshd: /usr/sbin
udp 0 0 127.0.0.53:53 0.0.0.0:* 418/systemd-resolve