أحاول تجاوز إعداد واحد فقط ( server_names_hash_bucket_size
) في القالب الرئيسي الافتراضي.
التعليقات في حالة الملف "# الافتراضيات هي القيم الموجودة في تثبيت NGINX الجديد." لذلك اعتقدت أن تمكين nginx_config_main_template_enable
ومجرد تجاوز المفتاح الفرعي الصحيح سيفي بالغرض لأنه سيحتفظ بقيم الآخرين.
لم ينجح هذا ، لذلك علقت على تعديلي حول الإعداد المخصص وحاولت تطبيق الدور مع تعيين nginx_config_main_template_enable
على true
لكنه فشل أيضًا.
فشل استخدام الدور مع تعيين nginx_config_main_template_enable
على true
مع قيم الدور الافتراضية.
خطوات إعادة إنتاج السلوك:
- name: NGINX
hosts: nginx
debugger: on_failed
become: true
pre_tasks:
- name: Enabling nginx_config_main_template
set_fact:
nginx_config_main_template_enable: true
roles:
- role: nginxinc.nginx
- role: nginxinc.nginx-config
TASK [nginxinc.nginx-config : Dynamically generate NGINX main configuration file] ***********************************************************************************************************
task path: /home/xxx/ansible/yyy/roles/nginxinc.nginx-config/tasks/config/template-config.yml:37
fatal: [nginx_0]: FAILED! => {
"changed": false,
"msg": "AnsibleUndefinedVariable: 'dict object' has no attribute 'dest'"
}
ليس لدي المزيد من المعلومات حول "كائن dt" الذي فشل فيه ، لأن المهمة Dynamically generate NGINX main configuration file
لها قيم افتراضية احتياطية لملف dest ( /etc/nginx/nginx.conf
) وبالتالي لا يجب أن تفشل.
تقول التعليقات "# الافتراضيات هي القيم الموجودة في تثبيت NGINX الجديد." لذلك يجب إنشاء ملف قياسي nginx.conf
بقيم افتراضية.
ansible 2.9.17
2.11.2
Debian Buster
عثر على الخطأ ، وكما هو معتاد ، وجد بعض الأخطاء الأخرى أثناء وجوده. أحدها أن التعليق # Defaults are the values found in a fresh NGINX installation
لم يعد صحيحًا. آمل أن يكون لديك علاقات عامة جاهزة في أسرع وقت ممكن. قد لا يكون بيان الإعدادات الافتراضية صحيحًا تمامًا بعد الإصلاح ، ولكن يجب أن يكون أقرب مما هو عليه الآن 😄
ممتاز ، ترقب هذا الأمر بعد ذلك:)
مرحبًا ، يبدو أن العلاقات العامة تعمل على حل المشكلة بالفعل (كان عليك فقط التأكد من تحديث المستخدم إلى بيانات www لأنه مستخدم www الافتراضي على دبيان ولم يكن مستخدم nginx موجودًا على نظامي). شكرا على الإصلاح السريع :)