من يمكنه مساعدتي في تحليل سبب عدم القدرة على إعادة البناء بعد إضافة عنوان IP الحقيقي لـ cf

مرفق سجل التثبيت
مرفق سجل التثبيت

تمت إضافة - “templates/cloudflare.template.yml” إلى app.yml
log.txt (167.9 KB)

[root@iZj ~]# docker info
Client: Docker Engine - Community
 Version:    26.0.1
 Context:    default
 Debug Mode: false
 Plugins:

  buildx: Docker Buildx (Docker Inc.)
    Version:  v0.13.1
    Path:     /usr/libexec/docker/cli-plugins/docker-buildx
  compose: Docker Compose (Docker Inc.)
    Version:  v2.26.1
    Path:     /usr/libexec/docker/cli-plugins/docker-compose

Server:
 Containers: 5
  Running: 0
  Paused: 0
  Stopped: 5
 Images: 5
 Server Version: 26.0.1
 Storage Driver: overlay2
  Backing Filesystem: extfs
  Supports d_type: true
  Using metacopy: false
  Native Overlay Diff: false
  userxattr: false
 Logging Driver: json-file
 Cgroup Driver: cgroupfs
 Cgroup Version: 1
 Plugins:
  Volume: local
  Network: bridge host ipvlan macvlan null overlay
  Log: awslogs fluentd gcplogs gelf journald json-file local splunk syslog
 Swarm: inactive
 Runtimes: io.containerd.runc.v2 runc
 Default Runtime: runc
 Init Binary: docker-init
  containerd version: e377cd56a71523140ca6ae87e30244719194a521
  runc version: v1.1.12-0-g51d5e94
  init version: de40ad0
 Security Options:
  seccomp
   Profile: builtin
 Kernel Version: 5.10.134-16.3.al8.x86_64
 Operating System: Alibaba Cloud Linux 3 (Soaring Falcon)
 OSType: linux
 Architecture: x86_64
 CPUs: 2
 Total Memory: 3.499GiB
 Name: iZj6cdtkubp4jn6i3drnbzZ
 ID: 7196760b-fdec-4e69-8758-9186040c032c
 Docker Root Dir: /var/lib/docker
 Debug Mode: false
 Experimental: false
 Insecure Registries:
  127.0.0.0/8
 Live Restore Enabled: false
[root@iZj ~]# free -m
              total        used        free      shared  buff/cache   available
Mem:           3583         224        2582           2         776        3124
Swap:             0           0           0
[root@iZj~]# df -h
ملف النظام        الحجم  المستخدم  المتاح  النسبة المئوية  نقطة التركيب
devtmpfs          1.8G     0        1.8G     0% /dev
tmpfs             1.8G     0        1.8G     0% /dev/shm
tmpfs             1.8G   540K      1.8G     1% /run
tmpfs             1.8G     0        1.8G     0% /sys/fs/cgroup
/dev/vda3          79G    19G       57G    25% /
tmpfs             1.8G     0        1.8G     0% /tmp
/dev/vda2         200M  5.8M      195M     3% /boot/efi
tmpfs             359M     0        359M     0% /run/user/0

وحدة المعالجة المركزية الافتراضية هي 2 نواة، وذاكرة وصول عشوائي بسعة 4 جيجابايت.
لا يمكنني إعادة بنائها، فهي متصلة بـ Cloudflare، وأحاول إظهار عنوان IP الحقيقي.
تمت إضافة - “templates/cloudflare.template.yml”
لا يمكنني جعلها تعيد البناء.

وفقًا لسجلك، فإن الخطوة /tmp/add-cloudflare-ips هي التي فشلت، ولكن لا يمكن تحديد الأمر المحدد داخل هذا البرنامج النصي.

Pups::ExecError: /tmp/add-cloudflare-ips failed with return #<Process::Status: pid 4229 exit 8>
Location of failure: /usr/local/lib/ruby/gems/3.2.0/gems/pups-1.2.1/lib/pups/exec_command.rb:132:in `spawn'
exec failed with the params "/tmp/add-cloudflare-ips"
bootstrap failed with exit code 8

قم بإزالة سطر cloudflare من app.yml الخاص بك، ثم بعد إعادة البناء، ادخل إلى الحاوية وقم بتنفيذ أوامر templates/cloudflare.template.yml يدويًا خطوة بخطوة، ثم قم بتشغيل nginx -s reload. بناءً على تجربتي، قد تكون مشكلة في الشبكة تسببت في فشل wget.

run:
  - file:
      path: /tmp/add-cloudflare-ips
      chmod: +x
      contents: |
        #!/bin/bash -e
        # Download list of CloudFlare ips
        wget -q https://www.cloudflare.com/ips-v4/ -O - > /tmp/cloudflare-ips
        echo >> /tmp/cloudflare-ips
        wget -q https://www.cloudflare.com/ips-v6/ -O - >> /tmp/cloudflare-ips
        # Make into nginx commands and escape for inclusion into sed append command
        CONTENTS=$(</tmp/cloudflare-ips sed '/^$/d; s/^.*/set_real_ip_from &;/' | tr '\n' '\\' | sed 's/\\/\\n/g')

        echo CloudFlare IPs:
        echo $(echo | sed "/^/a $CONTENTS")
        # Insert into discourse.conf
        sed -i "/sendfile on;/a $CONTENTS\n" /etc/nginx/conf.d/discourse.conf
        #sed -i "/sendfile on;/a $CONTENTS\nreal_ip_header CF-Connecting-IP;" /etc/nginx/conf.d/discourse.conf
        # Clean up
        rm /tmp/cloudflare-ips

  - exec: "/tmp/add-cloudflare-ips"
  - exec: "rm /tmp/add-cloudflare-ips"

هل يجب أن يحتوي جهاز VPS على مساحة تبديل (swap)؟ ذاكرة الوصول العشوائي (RAM) الخاصة بجهاز VPS الخاص بي صغيرة، ولا تحتوي على مساحة تبديل افتراضية.

لم تذكر سبب فشلك المتعلق بالذاكرة/التبديل.
بالإضافة إلى ذلك، واجه آخرون مشكلتك، يرجى البحث قبل طرح السؤال. في الواقع، قسم “Related” أدناه قد قدم لك توصيات ذكية، على سبيل المثال: Failed to bootstrap (/tmp/add-cloudflare-ips)