Konfigurasi dasar memcache

14

Saya telah menginstal memcache untuk situs Drupal dengan ekstensi pecl memcached. Semuanya berjalan dengan baik tetapi saya masih berjuang dengan pengaturan konfigurasi.

Misalnya, mengikuti saran di 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}"

Masalahnya adalah saya tidak memiliki file ini di server saya, dalam hal apa pun tidak di lokasi ini. Beberapa artikel lain menyebutkan /etc/memcached.conf tetapi saya tidak dapat menemukan file ini juga.

Mempertimbangkan bahwa / etc / sysconfig / memcached atau /etc/memcached.conf tidak keluar di server saya, dapatkah saya membuatnya dengan aman? Apakah mungkin file-file ini ditempatkan di tempat lain, dalam hal mana saya harus mencari atau ada cara untuk menemukan info itu?

Akhirnya, semua sumber daya, tutorial, atau tautan dokumentasi akan sangat dihargai. Saya telah meramban situs Wiki memcache, dan hanya bisa menemukan beberapa artikel yang relevan untuk pemula.

PatrickS
sumber
1
Instruksi drupal salah. The -lMenagatur pilihan untuk yang antarmuka memcached akan mendengarkan, tidak yang host akan dilayani.
Wayne Conrad

Jawaban:

17

Anda tidak memberi tahu kami tentang OS / distro Anda. Juga, Anda tidak memberi tahu kami bagaimana Anda menginstal memcached.

Biasanya, Anda akan mendapatkan file konfigurasi sampel di bawah /etc/ketika Anda menginstal memcached menggunakan di apt-getbawah sistem berbasis debian dan rpmatau di yumbawah redhat, fedora atau centos.

Jika Anda menginstalnya dari sumber, Anda mungkin tidak mendapatkan file sampel di bawah /etc/(saya sendiri tidak menginstal memcached dari sumber). Namun, Anda dapat mencari sampel file konfigurasi di folder sumber yang tidak dibongkar.

Bagaimanapun, Anda dapat menggunakannya locate memcached.confuntuk mencari di sistem Anda. Yang perlu Anda lakukan sudo updatedbsebelum itu untuk memperbarui cache pencarian.

Ini file konfigurasi dari sistem saya. Anda bisa menggunakannya:

# 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

Anda juga dapat melewati opsi yang sama dari baris perintah.

Khaled
sumber
Debian GNU / Linux 5.0.9 (lenny) / memcached 1.4.10. Saya telah melalui banyak langkah untuk menginstal memcache yang tidak dapat saya ingat dengan pasti bagaimana saya melakukannya. Mungkin telah dikompilasi dari sumber karena file konfigurasi ini tidak ada. Saya tahu pasti ekstensi pecl diinstal dari sumber, hanya karena menggunakan pecl tidak berfungsi. Melihat folder sumber, saya tidak tahu apa yang akan menjadi file contoh konfigurasi ...
PatrickS
@ Patrick: Saya memperbarui jawaban saya.
Khaled
Saya akhirnya membuat /etc/init.d/memcached menggunakan opsi baris perintah di atas untuk mengkonfigurasi memcache
PatrickS
11

Default (CentOS) / etc / sysconfig / memcached:

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

Skrip init (CentOS) /etc/init.d/memcached:

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

Jumlah di atas sama dengan, jika file itu ada, 'sumber' itu (yaitu membaca dan mengevaluasi isinya).

Sejauh yang saya tahu, memcached tidak memiliki file konfigurasi. Ini menggunakan parameter baris perintah , misalnya (dari skrip init RHEL / CentOS):

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

(Anda akan mencatat bahwa variabel yang didefinisikan di atas, digunakan di sini).

Intinya, oleh karena itu, adalah:

  • Periksa skrip init Anda - jika berisi bagian yang mirip dengan yang di atas (pernyataan if) maka tentu saja, buat file yang cocok, dan tempatkan variabel yang sesuai di dalamnya.
  • Tidak ada file konfigurasi - jangan buat file karena tidak akan digunakan.
cyberx86
sumber
3

Jika Anda tidak dapat menemukannya di CentOS /etc/init.d/memcached coba ini:

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

dan ubah:

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

untuk:

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

Setelah menambahkan / etc / sysconfig / memcached

MAXITEMSIZE="128m"

Mulai kembali memcached

service memcached restart

Untuk memeriksa apakah parameter ditambahkan coba:

ps aux | grep memcached
onalbi
sumber