| | |
|
|
|
|
Kurz notiert: Mehrere getrennte Memcached-Server |
|
|
|
Das ist zwar sehr speziell für mein Serversetup, trotzdem passt es gut in die Kategorie "kurz notiert"...
Zur Abschottung von verschiedenen Projekten verwende ich bereits seit Jahren mehrere Memcached-Server, damit niemand den Cache des jeweils anderen lesen kann oder man gezielt einen gemeinsamen Cache für bestimmte Projekte hat. Die Grundvoraussetzung dafür ist natürlich, dass die Prozesse unter einem eigenen Benutzer laufen (im Falle des Webservers also auf CGI/FCGI gesetzt wird) und der Zugriff auf die lokalen Ports je nach User durch die Firewall geregelt wird. Bevor FPM bei PHP brauchbar war, hatte ich die Startaufgaben für weitere Memcached-Server in ein eigenes Script ausgelagert. Mittlerweile nutze ich dafür Systemd, womit es deutlich leichter wurde, weitere Server zu starten. Das nachfolgende Beispiel wurde unter Debian Jessie getestet und dient Hauptsächlich als Notiz und Anregung für eigene Setups.
/etc/systemd/system/memcached-w0000003.service (siehe auch /lib/systemd/system/memcached.service)
Code: [Unit]
Description=memcached daemon for w0000003
After=network.target
[Service]
ExecStart=/usr/share/memcached/scripts/systemd-memcached-wrapper /etc/memcached-w0000003.conf
[Install]
WantedBy=multi-user.target |
/etc/memcached-w0000003.conf (siehe auch /etc/memcached.conf)
Code: -d
-t 1
-m 5
-p 51003
-U 51003
-u nobody
-l 127.0.0.1 |
Aktivieren und Starten:
Code: systemctl enable memcached-w0000003.service
service memcached-w0000003 restart |
Für die Firewall wäre z.B. folgendes Snippet ganz brauchbar, mit dem man absolut flexibel ist:
Code: iptables -N "memcached"
ip6tables -N "memcached"
iptables -A "memcached" -j REJECT
ip6tables -A "memcached" -j REJECT
iptables -A OUTPUT -o lo -d 127.0.0.1 -p tcp -m state --state NEW --dport 51000:51999 -j memcached
iptables -A OUTPUT -o lo -d 127.0.0.1 -p udp -m state --state NEW --dport 51000:51999 -j memcached
ip6tables -A OUTPUT -o lo -d ::1 -p tcp -m state --state NEW --dport 51000:51999 -j memcached
ip6tables -A OUTPUT -o lo -d ::1 -p udp -m state --state NEW --dport 51000:51999 -j memcached
iptables -I "memcached" -p tcp --dport 51003 -m owner --uid-owner "w0000003" -j ACCEPT
iptables -I "memcached" -p udp --dport 51003 -m owner --uid-owner "w0000003" -j ACCEPT
ip6tables -I "memcached" -p tcp --dport 51003 -m owner --uid-owner "w0000003" -j ACCEPT
ip6tables -I "memcached" -p udp --dport 51003 -m owner --uid-owner "w0000003" -j ACCEPT |
|
|
Kommentare: 0 |
Kommentare sind deaktiviert |
|
Autor |
Nachricht |
Für diesen Beitrag können zur Zeit keine neuen Kommentare verfasst werden. Kontaktiere den Autor des Beitrages, falls du Fragen dazu hast. |
Verwendete Zeitzone: CET (Europe/Berlin ) Aktuelles Datum & Uhrzeit: 13.01.2025, 21:39 |
Nach oben |
|
|
|
|
|
|
| | |