الورنيش التربنتين-فشل في تطبيق فكل
-
13-12-2019 - |
سؤال
لقد قمت بتثبيت الورنيش توربينتين على موقع التدريج لدينا باتباع الإرشادات الموجودة على الماجنتو-توربينتين ويكي.
موقعنا على أوبونتو 14.04 ، إنجن إكس ، ورنيش-4.0.3 م ، زيت التربنتين الإصدار 0.6.5 ، الماجنتو 1.9.2.
هذه هي بلدي DAEMON_OPTS
في /etc/default/varnish
DAEMON_OPTS="-a :80 \
-T localhost:6082 \
-f /etc/varnish/default.vcl \
-S /etc/varnish/secret \
-p cli_buffer=16384 \
-p feature=+esi_ignore_other_elements \
-p vcc_allow_inline_c=on \
-s malloc,256m"
لقد قمت بتثبيت وحدة زيت التربنتين بنجاح ، فقط قمت بتغيير التكوين لمفتاح مصادقة الورنيش السري باستخدام \n
إلحاق ، القائمة السوداء رابط وتمكين معلومات التصحيح.
عندما حاولت حفظ التكوين الخاص بي ، حصلت على الخطأ أدناه:
Failed to apply the VCL to 127.0.0.1:6082: Got unexpected response code from Varnish: 106 Message from VCC-compiler: directors are now in directors VMOD. ('input' Line 27 Pos 1) director default round-robin { ########---------------------- Running VCC-compiler failed, exited with 2 VCL compilation failed
هذا هو ما لدي في التربنتين توليد var/default.vcl
ملف:
vcl 4.0;
C{
#include <stdlib.h>
#include <stdio.h>
#include <time.h>
#include <pthread.h>
static pthread_mutex_t lrand_mutex = PTHREAD_MUTEX_INITIALIZER;
void generate_uuid(char* buf) {
pthread_mutex_lock(&lrand_mutex);
long a = lrand48();
long b = lrand48();
long c = lrand48();
long d = lrand48();
pthread_mutex_unlock(&lrand_mutex);
sprintf(buf, "frontend=%08lx%04lx%04lx%04lx%04lx%08lx",
a,
b & 0xffff,
(b & ((long)0x0fff0000) >> 16) | 0x4000,
(c & 0x0fff) | 0x8000,
(c & (long)0xffff0000) >> 16,
d
);
return;
}
}C
import std;
director default round-robin {
{
.backend = {
.host = "127.0.0.1";
.port = "8080";
.first_byte_timeout = 300s;
.between_bytes_timeout = 300s;
}
}
}
director admin round-robin {
{
.backend = {
.host = "127.0.0.1";
.port = "8080";
.first_byte_timeout = 21600s;
.between_bytes_timeout = 21600s;
}
}
كنت على ما يبدو قادرا على إصلاح هذا عن طريق إنشاء custom_include.vcl
ملف من version-4.vcl
كما كان مفقودا
cp app/code/community/Nexcessnet/Turpentine/misc/version-4.vcl app/code/community/Nexcessnet/Turpentine/misc/custom_include.vcl
ولكن الآن عندما أحاول حفظ التكوين أحصل على خطأ جديد:
Failed to apply the VCL to 127.0.0.1:6082: Varnish data to write over length limit by 749 characters
يبدو أن هذا مرتبط بـ -p cli_buffer=16384
التي وضعت في DAEMON_OPTS
في /etc/default/varnish
.عندما أحاول زيادة هذا ما زلت أحصل على نفس الخطأ ولكن مع حد مختلف.
Failed to apply the VCL to 127.0.0.1:6082: Varnish data to write over length limit by 8941 characters.
ليس لدي أي شيء في magento/var/log/
أو /var/log/varnish/
للورنيش.حاولت تحطيم المشرف الورنيش لمعرفة ما إذا كان هناك أي شيء خاطئ مع كليبوفر ولكن يمكن أن نرى شيئا من المذكرة.
$ sudo varnishadm
varnish> param.show cli_buffer
200
cli_buffer
Value is: 16k [bytes]
Default is: 8k
Minimum is: 4k
Size of buffer for CLI command input.
You may need to increase this if you have big VCL files and use
the vcl.inline CLI command.
NB: Must be specified with -p to have effect.
شكرا مقدما على أي اقتراحات المشورة.
المحلول 2
يبدو أنني قد حصلت على هذا العمل من خلال تطبيق الإصلاح وجدت من تذكرة جيثب 915.
أولا ، كان الإصلاح الذي تقدمت به لخطئي الأول مضللا ، لذا قمت بإزالة الملف الذي قمت بإنشائه.
rm app/code/community/Nexcessnet/Turpentine/misc/custom_include.vcl
ثم قمت بدمج فرع ديفيل من الماجنتو-توربينتين الريبو مع مشروع الماجنتو الخاص بي كما هو مقترح في تذكرة جيثب 915.
الآن عندما حفظ التكوين توربينتين / تطبيق التكوين الورنيش حصلت على أي رسائل خطأ.
على الرغم من أن الموقع لا يبدو أنه قد أسرع كثيرا, كيف يمكنني التأكد من أن الورنيش يعمل كما هو مفترض.
تحديث وكنت قادرا على ضمان الورنيش كان يعمل عن طريق تشغيل فارنيشستات ، إذا كان متوسط هيترات أكبر من 0 فهذا يعني أن يتم ضرب ذاكرة التخزين المؤقت.
نصائح أخرى
شكرا لتقاسم.لقد قمت للتو بتثبيت أحدث إصدار من devel
فرع لإصلاح مشكلة مشابهة جدا.للتحقق مما إذا كان الورنيش هو التخزين المؤقت يمكنك استخدام أي من الأوامر فارنيشتوب التالية ، إذا كان لديك الوصول إلى الخادم.
/usr/bin/varnishtop -i RxURL
/usr/bin/varnishtop -i RxHeader -C -I \^HOST