ইউনিক্স সকেট ব্যবহার করতে কীভাবে ম্যাকচেড সেট আপ করবেন?


12

যদিও আমি ডিবিয়ানে 11211 বন্দরটি ব্যবহার করতে ডেমিয়ানে ম্যাকচেড ব্যবহার করতে পারি, তবে ইউনিক্স সকেট স্থাপন করতে আমার খুব অসুবিধা হয়েছে।

আমি যা পড়েছি তা থেকে, আমি জানি যে আমার একটি তৈরি memcache.socketএবং যুক্ত করা দরকার:

-s /path/to/memcache.socket
-a 0766

/etc/memcached.confডিফল্ট সংযোগ পোর্ট এবং আইপি, যেমন মন্তব্য করতে এবং বোঝাতে

-p 11211 
-l 127.0.0.1

যাইহোক, আমি যখন মেমক্যাচ করা পুনরায় চালু করি তখন আমি দ্রুপাল সাইটে অভ্যন্তরীণ সার্ভার ত্রুটিগুলি পাই।

আমি টিসিপি / আইপি ওভারহেড এড়াতে এবং সামগ্রিক ম্যাকচেড পারফরম্যান্সকে বাড়াতে ইউনিক্স সকেটগুলি বাস্তবায়নের চেষ্টা করছি, তবে কেউ নিশ্চিত হতে পারেন না যে এই সাম্প্রতিক ঘটনাটি থেকে কেউ কতটা পারফরম্যান্স লাভ আশা করতে পারে।

এটি সমাধান করার জন্য আমি আপনার ইঙ্গিতগুলি বা সম্ভবত কনফিগারদের প্রশংসা করি।


ধরে নেওয়া মেমচেড চলছে, আপনি কি সকেটটি ব্যবহারের জন্য দ্রুপালকে কনফিগার করেছেন?
সিজেসি

হ্যাঁ, দ্রুপাল ম্যাকচেড ব্যবহার করার জন্য সেট আপ করা হয়েছে এবং আমি 11211 বন্দরটি ব্যবহার করার সময় সঠিকভাবে কাজ করে
আলফিশ

ব্যবহারকারী / ড্রপাল দ্বারা চালিত / সম্পূর্ণরূপে পঠনযোগ্য / সম্পাদনযোগ্য কি? আমি সকেট ফাইল নিজেই বোঝাতে চাইছি না; ড্রুপাল ব্যবহারকারীকে ডিরেক্টরি শ্রেণিবিন্যাসের অবতরণ করতে সক্ষম হতে হবে।
সিজেসি

উত্তর:


12

আপনি দেখতে পাচ্ছেন যে কেবল সকেটের পাথ সেট করা কাজ করে না। এটি সকেট তৈরি করার আগে মেমচেডযুক্ত সুবিধাগুলি ড্রপ করে, যদিও এটির পিআইডি লেখার পরে। সকেটটি স্থাপন করা সাধারণ /var/run(যেমন মাইএসকিএল যেমন করে) তবে এটি কেবলমাত্র /var/run/memcachedরুটই লিখতে পারে, তাই এটি তৈরি করে কারও কাছে ছুঁড়ে না /var/run/memcached/memcached.sockফেলে সকেটের পথ হিসাবে সেট করুন । এটি লেখার /tmpজন্যও খুব কার্যকর হবে তবে প্রকৃতির দ্বারা যা ট্র্যাশ পেতে পারে; এটি স্টিক করা /var/runকিছুটা স্থায়ী।

এটির সাথে সংযোগ স্থাপনের জন্য নেটক্যাট ব্যবহার করে আপনি এটি কাজ করছেন তা পরীক্ষা করতে পারেন:

nc -U /var/run/memcached/memcached.sock

statsখালি প্রম্পটে টাইপ করুন ; যদি এটি কাজ করে তবে আপনি একটি আউটপুট পেতে পারেন।


1
এটি অন্য উত্তরগুলির চেয়ে আমার পক্ষে কাজ করেছিল। স্পষ্টতই nobodyকোনও যথাযথ অনুমতি ডাব্লু / ও-র ফোল্ডারে লিখতে পারে না।
ড্যানিয়েল ডাব্লু।

8

আমি বিশ্বাস করি সকেটটি বিশ্ব সম্পাদনযোগ্য হতে হবে, লেখার যোগ্য নয়। যদি আপনার কোনও পিএইচপি বিজ্ঞপ্তি বার্তাটি দেখতে থাকে যা এতে errno = 32 টি ভাঙা পাইপ রয়েছে তবে মেমক্যাচড অ্যাক্সেস মাস্ককে 0755 এ সামঞ্জস্য করুন

-s /path/to/memcache.socket
-a 0755

এছাড়াও যাচাই করুন যে দ্রুপালের মেমক্যাচড ডিমনটির0 কনফিগারেশনে টিসিপি পোর্ট রয়েছে। একটি আনসেট পোর্ট ডিফল্ট হবে 11211এবং সকেট সংযোগ বিভ্রান্ত করবে।

$conf += array(
    'memcache_servers' => array(
        'unix:///path/to/memcache.socket:0'  => 'default',
    )
);

আমি বিশ্বাস করি যে আপনার পড়া / লেখার প্রয়োজন হিসাবে মুখোশটি 766 বা 666 হওয়া উচিত।
আরলেসেলি

6

/ etc / ডিফল্ট / মেমক্যাচডে যুক্ত হয়েছে:

[ ENABLE_MEMCACHED = yes ] && install -d -o memcache -g www-data -m 0770 /var/run/memcached
# or use setfacl and whatever user/group you want
true # because set -e in init-scripts

/etc/memcached.conf এ যুক্ত হয়েছে:

-s /var/run/memcached/memcached.sock
-a 0666

1

আমি মেমক্যাচড ইউনিক্স সকেটগুলি ব্যবহারের পারফরম্যান্স বুস্টকে চিহ্নিত করেছি, পিএইচপি ক্লিপ ব্যবহার করে আমার পরীক্ষায় ইউনিক্স সকেট ব্যবহার করা 33% দ্রুত is

আমি দেখতে পেয়েছি যে মেমক্যাচ ব্যবহারকারীকে www-ডেটা গ্রুপে যুক্ত করা এবং ইউনিক্স সকেটকে 775 অনুমতি দেওয়া গুরুত্বপূর্ণ, এইভাবে পিএইচপি হ্যান্ডলার এবং মেমক্যাশ ব্যবহারকারী উভয়ই এটি সম্পাদন করতে পারেন।

আপনি এখানে মাপদণ্ড খুঁজে পেতে পারেন এবং লেখার জন্য আপ করতে পারেন - যদিও এটি ওয়ার্ডপ্রেসের জন্য এটি দ্রুপালের পক্ষে কাজ করা উচিত কারণ এটি সম্ভবত কোনও অনুমতি সংক্রান্ত সমস্যা।


0

দ্রষ্টব্য আপনি যদি কুবেরনেটে কোনও আল্পাইন ধারক ব্যবহার করছেন তবে স্বাস্থ্য পরীক্ষার সাথে পোড স্পেকটি দেখতে এরকম কিছু দেখাচ্ছে:

spec:
  containers:
    - name: memcached
      image: memcached:1.5-alpine
      imagePullPolicy: "IfNotPresent"
      command:
      - memcached
      - --unix-socket=/tmp/memcached.sock
      - --unix-mask=0766
      - -m 64
      - -o modern
      - -v
...
      livenessProbe:
        exec:
          command:
          - /bin/sh
          - -c
          - 'echo "stats slabs" | nc local:/tmp/memcached.sock'
        initialDelaySeconds: 30
        timeoutSeconds: 5
      readinessProbe:
        exec:
          command:
          - /bin/sh
          - -c
          - 'echo "stats slabs" | nc local:/tmp/memcached.sock'
        initialDelaySeconds: 5
        timeoutSeconds: 1

সঠিক সেটিংস এবং ব্যস্তবক্সের মাধ্যমে কোনও ইউনিক্স স্থানীয় ডোমেন সকেটে কীভাবে সংযুক্ত করতে হয় তা নির্ধারণ করতে কিছুক্ষণ সময় নিয়েছিল।

আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.