মেমকেচে বেসিক কনফিগারেশন


14

আমি মেমক্যাচড পেকল এক্সটেনশন সহ একটি দ্রুপাল সাইটের জন্য মেমক্যাচ ইনস্টল করেছি। সব ঠিকঠাক চলছে তবে আমি এখনও কনফিগারেশন সেটিংসের সাথে লড়াই করছি।

উদাহরণস্বরূপ, drupal.org- এ পরামর্শ অনুসরণ করে

You should probably lock down the memcache server so that it only listens for 
connections from the hosts that need to be served, as the default is that 
memcache listens to connections from all addresses. 
So, to close that hole, edit /etc/sysconfig/memcached with:

OPTIONS="-l ${HOSTIP}"

সমস্যাটি হ'ল আমার সার্ভারে এই ফাইলটি নেই, কোনও অবস্থাতেই এই অবস্থানে নেই। কিছু অন্যান্য নিবন্ধ /etc/memcached.conf উল্লেখ করেছে তবে আমি এই ফাইলটিও খুঁজে পাই না।

বিবেচনা করে যে / etc / sysconfig / memcached বা /etc/memcached.conf আমার সার্ভারে প্রস্থান করে না, আমি কি সেগুলি নিরাপদে তৈরি করতে পারি? এই ফাইলগুলি অন্য কোথাও অবস্থিত হওয়া কি সম্ভব, যেখানে আমার সন্ধান করা উচিত বা সেই তথ্যটি খুঁজে পাওয়ার কোনও উপায় আছে?

অবশেষে, কোনও সংস্থান, টিউটোরিয়াল বা ডকুমেন্টেশন লিঙ্কগুলি প্রশংসিত হবে। আমি মেমক্যাসের সাইট উইকির মাধ্যমে ব্রাউজ করেছি এবং কেবল নতুনদের জন্য প্রাসঙ্গিক কয়েকটি নিবন্ধ পেয়েছি।


1
ড্রুপাল নির্দেশাবলী ভুল। -lবিকল্প নিয়ন্ত্রণ করবে যা memcached ইন্টারফেসগুলি চাই, শুনবে না হোস্ট সার্ভ করা হবে পারে।
ওয়েইন কনরাড 21

উত্তর:


17

আপনি আমাদের আপনার ওএস / ডিস্ট্রো সম্পর্কে বলেন নি। এছাড়াও, আপনি কীভাবে মেমক্যাচ ইনস্টল করেছেন তা আমাদের জানাননি।

সাধারণত, আপনি অধীনে একটি নমুনা কনফিগ ফাইল পাবেন /etc/যখন আপনি ব্যবহার memcached ইনস্টল apt-getডেবিয়ান ভিত্তিক ব্যবস্থার অধীনে এবং rpmবা yumRedHat, ফেডোরা বা CentOS অধীনে।

যদি আপনি এটি উত্স থেকে ইনস্টল করেন তবে আপনি এর অধীনে একটি নমুনা ফাইল নাও পেতে পারেন /etc/(আমি নিজে উত্স থেকে ম্যাক্যাচড ইনস্টল করি নি)। তবে আপনি আনপ্যাকড উত্স ফোল্ডারে নমুনা কনফিগারেশন ফাইলটি সন্ধান করতে পারেন।

যাইহোক, আপনি locate memcached.confআপনার সিস্টেমে সন্ধানের জন্য ব্যবহার করতে পারেন। sudo updatedbঅনুসন্ধান ক্যাশে আপডেট করার জন্য আপনাকে তার আগে এটি করা দরকার ।

আমার সিস্টেমের কনফিগারেশন ফাইলটি এখানে। তুমি এটা ব্যবহার করতে পারো:

# Run memcached as a daemon. This command is implied, and is not needed for the
# daemon to run. See the README.Debian that comes with this package for more
# information.
-d

# Log memcached's output to /var/log/memcached
logfile /var/log/memcached.log

# Be verbose
# -v

# Be even more verbose (print client commands as well)
# -vv

# Start with a cap of 64 megs of memory. It's reasonable, and the daemon default
# Note that the daemon will grow to this size, but does not start out holding this much
# memory
-m 64

# Default connection port is 11211
-p 11211
# Run the daemon as root. The start-memcached will default to running as root if no
# -u command is present in this config file
-u memcache

# Specify which IP address to listen on. The default is to listen on all IP addresses
# This parameter is one of the only security measures that memcached has, so make sure
# it's listening on a firewalled interface.
-l 127.0.0.1

# Limit the number of simultaneous incoming connections. The daemon default is 1024
# -c 1024

# Lock down all paged memory. Consult with the README and homepage before you do this
# -k

# Return error when memory is exhausted (rather than removing items)
-M

# Maximize core file limit
# -r

আপনি কমান্ড লাইন থেকে একই বিকল্পগুলি পাস করতে পারেন।


ডেবিয়ান জিএনইউ / লিনাক্স 5.0.9 (লেনি) / 1.4.10 কে মেমক্যাচ করেছে mem আমি মেমক্যাচ ইনস্টল করার জন্য এতগুলি পদক্ষেপের মধ্য দিয়ে গিয়েছিলাম যে আমি কীভাবে করেছি তা নির্দিষ্ট করে মনে করতে পারি না। এই কনফিগার ফাইলগুলি অনুপস্থিত থাকায় এটি উত্স থেকে সংকলন করা হতে পারে। আমি জানি যে নির্দিষ্টভাবে পেকল এক্সটেনশনগুলি উত্স থেকে ইনস্টল করা হয়েছিল, কেবল কারণ পেকল ব্যবহার করা কার্যকর হয়নি। উত্স ফোল্ডারটির দিকে তাকিয়ে, আমি বলতে পারি না যে নমুনা কনফিগারেশন ফাইলটি কী হবে ...
প্যাট্রিকস

@ পেট্রিকস: আমি আমার উত্তর আপডেট করেছি।
খালেদ

আমি উপরের কমান্ড লাইন অপশনের সাহায্যে
মেকচেটি

11

ডিফল্ট (CentOS) / ইত্যাদি / sysconfig / ম্যাকচেড:

PORT="11211"
USER="memcached"
MAXCONN="1024"
CACHESIZE="64"
OPTIONS=""

Init স্ক্রিপ্ট (CentOS) /etc/init.d/ মেমক্যাচড:

...
if [ -f /etc/sysconfig/memcached ];then
        . /etc/sysconfig/memcached
fi
...

উপরের পরিমাণগুলি যদি ফাইলটি বিদ্যমান থাকে তবে এটি 'উত্স' করে (যেমন এর বিষয়বস্তু পড়ুন এবং মূল্যায়ন করুন)।

আমি যতদূর জানি, মেমক্যাচেডের কনফিগারেশন ফাইল নেই। এটি কমান্ড লাইন প্যারামিটার ব্যবহার করে , উদাহরণস্বরূপ (একটি RHEL / CentOS init স্ক্রিপ্ট থেকে):

daemon --pidfile ${pidfile} memcached -d -p $PORT -u $USER  -m $CACHESIZE -c $MAXCONN -P ${pidfile} $OPTIONS

(আপনি লক্ষ্য করবেন যে উপরে বর্ণিত ভেরিয়েবলগুলি এখানে ব্যবহৃত হয়েছে)।

নীচের লাইনটি, সুতরাং:

  • আপনার আরআইপি স্ক্রিপ্টটি পরীক্ষা করুন - যদি এটিতে উপরের (যদি বিবৃতি) এর মতো কোনও বিভাগ থাকে তবে অবশ্যই, মিলানো ফাইলটি তৈরি করুন এবং এতে উপযুক্ত ভেরিয়েবল রাখুন।
  • কোনও কনফিগারেশন ফাইল নেই - এটি ব্যবহার করা হবে না বলে একটি তৈরি করবেন না।

3

আপনি যদি CentOS /etc/init.d/ মেমক্যাচডে খুঁজে না পান তবে এটি ব্যবহার করে দেখুন:

nano /usr/lib/systemd/system/memcached.service

এবং পরিবর্তন:

ExecStart=/usr/bin/memcached -u $USER -p $PORT -m $CACHESIZE -c $MAXCONN $OPTIONS

প্রতি:

ExecStart=/usr/bin/memcached -u $USER -p $PORT -m $CACHESIZE -I $MAXITEMSIZE -c $MAXCONN $OPTIONS

এড করার পরে / ইত্যাদি / সিসকনফিগ / মেমক্যাচ করা হয়েছে

MAXITEMSIZE="128m"

পুনঃসূচনা মেমক্যাচ করা হয়েছে

service memcached restart

প্যারামিটার যুক্ত হয়েছে কিনা তা পরীক্ষা করে দেখুন:

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