Bilgi Bankası: Linux
REDIS ile WordPress önbelleğe alma (Redis & Wordpress)
Posted by Veri Merkezi Operasyonları(287) on 12 March 2015 11:18 AM

Redis Nedir?
Redis, C ile yazılmış olan, Client/Server modelinde çalışan, Key/Value Store tipinden yüksek performanslı cacheing mekanizmasına sahip bir NoSQL(Not Only SQL) veritabanıdır. Veriyi bellek üzerinde(in-memory) tutmak üzerine inşa edilmiştir ancak ancak belirli periyotlarla üzerindeki verileri bir dosyaya kaydebilir. Bu nedenle özellikle key/value store’ lara ulaşılması noktasında önemli hız avantajlarına sahiptir ve veri kaybı söz konusu değildir.

Popüler NoSQL veritabanları arasında bulunan Redis'in Instagram, Stackoverflow, Flickr, GitHub, Disqus vb. firmalar tarafından kullanılmaktadır.

Redis destekleyen diller :
C, C#, C++, Clojure, Common Lisp, D, Dart, emacs lisp, Erlang, Fancy, Go, Haskell, haXe, Io, Java, Lua, Node.js, Objective-C, Perl, PHP, Pure Data, Python, Ruby, Scala, Scheme, Smalltalk, Tcl.

Redis Server hakkında detaylı bilgi için (Türkçe ve İngilizce) aşağıdaki adresleri incelemenizi öneririz.
http://destek.doruk.net.tr/staff/index.php?/Knowledgebase/ViewKnowledgebase/Article/260/44

http://www.redis.io/documentation

Bu yazıda Linux CentOS 6 üzerinde Redis ile Wordpress önbelleğe alma, Apache Web Server , MySQL ve PHP kurulumu anlatılmaktadır. 

# Sunucunuzdaki paketlerin güncel olup olmadığını kontrol edin. Eğer sunucunuz için güncelleme varsa kurun.
yum update -y

# wget ve git paketlerinin kurulumunu gerçekleştiriniz.
yum install wget git -y

# Gerekli paketleri indirmek için Atomic , Remi ve Epel Repo'larının etkinleştirimesi
# Atomic Repo
wget -q -O - http://www.atomicorp.com/installers/atomic | sh

# Epel Repo
wget http://dl.fedoraproject.org/pub/epel/6/x86_64/epel-release-6-8.noarch.rpm
rpm -ivh epel-release-6-8.noarch.rpm

# Remi Repo
wget http://rpms.famillecollet.com/enterprise/remi-release-6.rpm
rpm -ivh remi-release-6.rpm
# Herhangi bir metin editörü ile /etc/yum.repos.d/remi.repo dosyasını açın ve "enabled=1" olarak değiştiriniz ve kaydedip çıkın.
vi /etc/yum.repos.d/remi.repo

# Redis Server, PHP ve PHP-Redis, Apache Web Server ve MySQL Server Kurulumu
yum install php redis php-pecl-redis php-redis httpd mysql mysql-server php-gd php-mysql -y

# Servislerin Başlatılması
/etc/init.d/httpd start
/etc/init.d/mysqld start
/etc/init.d/redis start

# Reboot sonrasında servislerin başlaması için
chkconfig httpd on
chkconfig mysqld on
chkconfig redis on

# Redis Server, Apache Web Server, MySQL ve PHP Sürüm Kontrolü
redis-server --version
httpd -v
mysql -V
php -v

# PHP Redis Desteğinin Kontrol Edilmesi
vi /var/www/html/phpinfo.php

<?php
phpinfo();
phpinfo(INFO_MODULES);
?>

# Aşağıdaki adımarla Windows Azure Pack üzerindeki External IP adresinizi görüntüleyebilirsiniz.
http://destek.doruk.net.tr/staff/index.php?/Knowledgebase/ViewKnowledgebase/Article/209/42

# MySQL Güvenli Kurulum
/usr/bin/mysql_secure_installation

Enter current password for root (enter for none):                                                       (Enter)
Set root password? [Y/n]                                                                                            ( "Y" tuşlayınız.)
New password:                                                                                                           ( Parola yazınız.)
Re-enter new password:                                                                                            ( Parolayı tekrar yazınız.)

Remove anonymous users? [Y/n]                                                                              ( "Y" tuşlayınız.)
Disallow root login remotely? [Y/n]                                                                             ( "Y" tuşlayınız.)
Remove test database and access to it? [Y/n]                                                           ( "Y" tuşlayınız.)
Reload privilege tables now? [Y/n]                                                                             ( "Y" tuşlayınız.)

# Wordpress 'te kullanmak üzere MySQL veritabanı ve kullanıcısı oluşturunuz.

mysql -uroot -p

CREATE DATABASE databaseAdı;
GRANT ALL PRIVILEGES ON databaseAdı.* TO 'databaseKullanıcı'@'localhost' IDENTIFIED BY 'DB-Parolası-Yazın';
FLUSH PRIVILEGES;
exit

# Wordpress Kurulumu
# Tarafımızdan yapılan kurulumda Wordpress " /var/www/html/ " dizinine yapılacaktır. Eğer websayfanızı farklı bir dizinden çalıştırıyorsanız aşağıdaki komutları buna göre değiştirmenizi öneririz.

wget -q -O - http://wordpress.org/latest.tar.gz | tar -xzf - --strip 1 -C /var/www/html/

cp -v /var/www/html/{wp-config-sample.php,wp-config.php}
# Veritabanı bağlantısı için oluşturduğunuz database bilgilerini wp-config.php dosyasındaki ilgili alanlara tanımlayınız.
vi /var/www/html/wp-config.php

# database_name_here ( Veritabanı adınız)
# username_here ( Veritabanı kullanıcı adınız)
# password_here ( Veritabanı Parolanız)

# Wordpress Kurulumunu Gerçekleştiriniz.
http://domainadınız.com.tr/wp-admin/install.php
veya
http://external_ipniz/wp-admin/install.php

 # Redis Cache Kurulumu
git clone https://github.com/BenjaminAdams/wp-redis-cache.git /tmp/wp-redis-cache

# Tarafımızdan yapılan kurulumda Wordpress " /var/www/html/ " dizinine yapılacaktır. Eğer websayfanızı farklı bir dizinden çalıştırıyorsanız aşağıdaki komutları buna göre değiştirmenizi öneririz.

mv /tmp/wp-redis-cache/{index-wp-redis.php,index.php}  /var/www/html/
mv: overwrite `/var/www/html/index.php'? Y                                                       ("Y" tuşlayın)
mv /tmp/wp-redis-cache/wp-redis-cache   /var/www/html/wp-content/plugins/

# Kernel, sysctl Yapılandırması
# /etc/sysctl.conf dosyasını bir metin editörü ile açarak aşağıdaki satırları ekleyiniz.
vi /etc/sysctl.conf
vm.overcommit_memory = 1
fs.file-max = 100000
net.core.somaxconn=1024
# Değişiklikleri kaydederek dosyadan çıkın. "sysctl -p" ile yapılan değişiklikleri etkinleştiriniz.
sysctl -p

# rc.local dosyasını bir metin editörü ile açın ve aşağıdaki satırları ekleyiniz.
vi /etc/rc.local

if test -f /sys/kernel/mm/transparent_hugepage/enabled; then
echo never > /sys/kernel/mm/transparent_hugepage/enabled
fi

echo never > /sys/kernel/mm/transparent_hugepage/enabled

# grub.conf dosyasında kernel /vmlinuz satırının sonuna "transparent_hugepage=never" ekleyiniz.
vi /etc/grub.conf

# Redis Server Test'i için aşağıdaki komutları çalıştırabilirsiniz.

# Redis CLI Ping komutunu çalıştırınız. PONG yanıtı alınıyor mu kontrol ediniz
redis-cli ping

# Eğer sunucunuzd Telnet Client kurulu değilse aşağıdaki adımlarla kurabilirsiniz.
yum install telnet -y

# Redis Server kurulumunuzu test etmek için, aşağıdaki komutları çalıştırın:
telnet 127.0.0.1 6379
set attitude:doruk "cloud"
get attitude:doruk

# Redis Server Log dosyalarını aşağıdaki komutla kontrol edebilirsiniz.
tail -20 /var/log/redis/redis.log

# Wordpress yazılımınızın admin panelinden WP Redis Cache eklentisini aktifleştiriniz.

# Redis Server 'in Wordpress yazılımınızda yaptığı işlemleri "redis-cli monitor" komutuyla görüntüleyebilirsiniz.
redis-cli monitor

# Redis Server üzerindeki önbelleklemeyi boşaltmak için aşağıdaki komutları çalıştırabilirsiniz.

redis-cli
127.0.0.1:6379> flushall

(1 oy)
Bu makale yararlı
Bu makale yararlı değil

Yorumlar (0)
Yorum gönder
 
 
Tam İsim:
E-Posta:
Yorumlar:
Resim Doğrulama 
 
Lütfen alttaki resimde gördüğünüz karakterleri aşağıdaki kutucuğa girin. Bu özellik otomatik kayıt ve form gönderilerini engellemek için uygulanmaktadır.