Etiket: Docker WordPress Redis

  • Yavaş WordPress’e Son! Synology NAS’ta Docker ve Redis ile Performansı Patlatın!

    Docker yardımı ile Synology NAS’a wordpress kuracağız, üstelik redis cache ile hızına güç katacağız.

    Önce Docker dizini altında wordpress adında bir dizin açıyor ve içerisine db_data, redis_data ve html dizinlerini oluşturuyoruz. Ana dizine uploads.ini adında bir dosya oluşturup kopyalıyoruz.

    INIuploads.ini
    file_uploads = On
    memory_limit = 512M
    upload_max_filesize = 256M 
    post_max_size = 280M      ; upload_max_filesize'dan biraz büyük
    max_execution_time = 300
    max_input_time = 300
    max_input_vars = 3000     ; Karmaşık temalar ve eklentiler için eklend

    Bu dosya sayesinde php.ini ayarlarını basitçe yapmış olacağız. devam edelim ve Container Manager açıp yeni bir proje oluşturalım. Ben projenin adına wordpress yazdım.

    Örnek docker compose dosyası aşağıda kendize göre düzenleyip kaynak bölümüne yapıştırıp ileri ye tıklayıp bitirin

    YAMLwordpress.yaml
    version: '3.8'
    
    services: 
      db:
        image: mariadb:latest
        container_name: wp_db
        restart: unless-stopped
        command: --default-authentication-plugin=mysql_native_password
        volumes:
          - /volume1/docker/wordpress/db_data:/var/lib/mysql
        environment:
          MYSQL_ROOT_PASSWORD: rootpass
          MYSQL_DATABASE: wordpress
          MYSQL_USER: wordpress
          MYSQL_PASSWORD: wordpresspass
        networks:
          - wp-net
    
      redis:
        image: redis:latest
        container_name: wp_redis
        restart: unless-stopped
        volumes:
          - /volume1/docker/wordpress/redis_data:/data
        networks:
          - wp-net
    
      wordpress:
        image: wordpress:latest
        container_name: wp_app
        restart: unless-stopped
        depends_on:
          - db
          - redis
        ports:
          # Synology IP'nizden 8095 portu ile erişirsiniz.
          - "8095:80"
        volumes:
          # WordPress dosyalarınız (temalar, eklentiler) bu klasörde olacak
          - /volume1/docker/wordpress/html:/var/www/html
          # Özel PHP ayarlarımızı içeri bağlıyoruz
          - /volume1/docker/wordpress/uploads.ini:/usr/local/etc/php/conf.d/uploads.ini
        environment:
          WORDPRESS_DB_HOST: db:3306 # 'db' servis adını kullanıyoruz
          WORDPRESS_DB_USER: wordpress
          WORDPRESS_DB_PASSWORD: wordpresspass
          WORDPRESS_DB_NAME: wordpress
          WORDPRESS_TABLE_PREFIX: wp_
          # Redis bağlantısı için
          WORDPRESS_REDIS_HOST: redis
          WORDPRESS_REDIS_PORT: 6379
          # --- REST API Sorunu ÇÖZÜMÜ ---
          # !!! Buraya Synology NAS'ınızın IP'sini ve portunu YAZMALISINIZ !!!
          WORDPRESS_SITEURL: http://192.168.1.53:8095
          WORDPRESS_HOME:  http://w.kpl.pw
        networks:
          - wp-net
    
      phpmyadmin:
        image: phpmyadmin:latest
        container_name: wp_pma 
        restart: unless-stopped
        depends_on:
          - db
        ports:
          # PHPMyAdmin'e 8096 portu ile erişirsiniz
          - "8096:80"
        environment:
          PMA_HOST: db # 'db' servis adını kullanıyoruz
          PMA_PORT: 3306
          MYSQL_ROOT_PASSWORD: rootpass
        networks:
          - wp-net
    
    # Servislerin birbirleriyle konuşacağı özel ağı tanımlıyoruz
    networks:
      wp-net:
        driver: bridge
    
    # Verilerin saklanacağı klasörleri tanımlıyoruz
    volumes:
      db_data:
      redis_data:
      wordpress

    şimdi redis ayarlarını yapalım. html dizini içerisinde wp-config.php dosyasını bulun ve aşağıdaki kodları /* That’s all, stop editing! Happy publishing. satırından önceye ekleyin.ekledikten sonra dosyayı kaydetmeyi unutmayın.

    INI
    define( 'WP_REDIS_HOST', 'redis' );
    define( 'WP_REDIS_PORT', 6379 );

    kullandığınız web tarayıcısına http://NASIP:8095 adresini girerek wordpress kurulumunu başlatabilirsiniz.

    şimdi herşey tamam ve belirlediğimiz kullanıcı adı ve şifre ile giriş yapalım

    Redis eklentisini yüklemek için eklentilere girin, arama bölümüne Redis yazıp eklentiyi görene kadar bekleyin ardından eklentiyi kurup etkinleştirin.

    etkinleştirdikten sonra Ayarların altında Redis e girin. herşey tamam sadece enable yaparak Redisimiz aktif olacak

    sorun yok ve redis çalışıyor, isterseniz wp super cache eklentisinide kurup sorun yaşamadan kullanabilirsiniz. şimdi site sağlığına bakalım.

    Ve herşey yolunda bir domain atayıp SSL verebilir ve modemden port açıp rahat bir şekilde kullanabilirsiniz.

    Sıkça Sorulan Sorular





     

    Synology NAS’ta Docker ile WordPress ve Redis Kurulumu Sıkça Sorulan Sorular

    Bu rehberin Synology NAS üzerinde WordPress kurulumu için temel amacı nedir?

    Bu rehber, Synology NAS cihazınızda Docker kullanarak hızlı ve performanslı bir WordPress sitesi kurmayı amaçlamaktadır. Kurulum, Redis cache entegrasyonu ile sitenizin hızını önemli ölçüde artırmayı, MariaDB veritabanı kullanmayı ve phpMyAdmin ile veritabanı yönetimini kolaylaştırmayı hedefler.

    Hız ve performans için Redis cache neden kullanılıyor?

    Redis, WordPress sitenizin veritabanı sorgularını ve sık erişilen içerikleri önbelleğe alarak sitenin yüklenme hızını ve genel performansını önemli ölçüde artırır. Bu rehberde Redis, Docker konteyneri olarak entegre edilmiştir ve WordPress ile sorunsuz bir şekilde çalışacak şekilde yapılandırılmıştır.

    `uploads.ini` dosyası ne işe yarar ve içeriği nedir?

    `uploads.ini` dosyası, WordPress uygulamanızın PHP ayarlarını kolayca yapılandırmanızı sağlar. Özellikle dosya yükleme limitleri (`upload_max_filesize`, `post_max_size`), bellek kullanımı (`memory_limit`), maksimum yürütme ve girdi süreleri (`max_execution_time`, `max_input_time`) gibi kritik PHP direktiflerini içerir. Bu sayede büyük dosyaların yüklenmesi veya karmaşık işlemlerin sorunsuz çalışması sağlanır.

    Docker Compose dosyasında hangi bilgileri kendi Synology NAS’ıma göre düzenlemeliyim?

    Docker Compose dosyasında kendi ortamınıza özel olarak düzenlemeniz gereken başlıca alanlar şunlardır:

    • Veritabanı Kimlik Bilgileri: `db` servisi altındaki `MYSQL_ROOT_PASSWORD`, `MYSQL_DATABASE`, `MYSQL_USER`, `MYSQL_PASSWORD` değerleri.
    • WordPress Site URL’si: `wordpress` servisi altındaki `WORDPRESS_SITEURL` ve `WORDPRESS_HOME` değişkenleri altına Synology NAS’ınızın IP adresini ve WordPress için belirlediğiniz portu (örneğin, `http://192.168.1.53:8095` gibi) yazmalısınız. Bu, özellikle REST API sorunlarının önüne geçmek için önemlidir.
    • Volume Yolları: `/volume1/docker/wordpress/…` şeklindeki volume yollarını kendi Synology NAS’ınızdaki Docker dizininize ve klasör yapınıza göre ayarlamanız gerekebilir.

    Kurulum tamamlandıktan sonra WordPress ve phpMyAdmin’e nasıl erişebilirim?

    Kurulumu başarıyla tamamladıktan sonra, WordPress sitenize Synology NAS’ınızın IP adresi ve Docker Compose dosyasında belirlenen port üzerinden erişebilirsiniz. Örnek olarak, `http://[Synology_IP_Adresi]:8095` adresinden WordPress’e ulaşabilirsiniz. phpMyAdmin ise `http://[Synology_IP_Adresi]:8096` portu üzerinden erişilebilir ve veritabanı yönetiminiz için kullanılabilir.