"Enter"a basıp içeriğe geçin

NGINX – LEMP Stack Oluşturma

Last updated on 10 Eylül 2020

Proxy_pass kullanmak, bir bağlantı noktasında çalıştırabileceğimiz herhangi bir hizmet için işe yarar, ancak bazen bir soket kullanmak isteriz. NGINX, hem FastCGI hem de uWSGI kablo protokolleri için trafiği nasıl proxy yapacağını bilir. Ardından, FastCGI kullanarak bir PHP uygulamasına (WordPress) proxy oluşturmayı öğreneceğiz, ancak önce LEMP (Linux, NGINX, MariaDB, PHP) yığınının geri kalanını kurmamız gerekiyor.

Documentation For This Video

Php-fpm Kurulumu

Not: İşletim sisteminize ve php-fpm’yi nasıl kurduğunuza bağlı olarak, bu komutlar ve paketler oldukça farklı olacaktır.

Varsayılan olarak yüklenecek olan PHP sürümü 5.5 sürümüdür, ancak önemli ölçüde daha hızlı olduğu için PHP 7’yi kullanmak istiyoruz. Bunu yum kullanarak kolayca kurmak için başka bir depo eklememiz gerekir; “Software Collections” deposu. Bu komut depoyu ekleyecektir:

[root] $ yum install -y centos-release-scl
[root] $ yum update

Şimdi php-fpm paketini kurmamız gerekiyor (fpm “FastCGI Process Manager” dır). PHP için ihtiyacımız olanı kuralım.

[root] $ yum install -y rh-php71-php rh-php71-php-fpm rh-php71-php-mysqlnd

Buradan, /etc/opt/rh/rh-php71/php-fpm.d/www.conf adresinde php-fpm için yeni yapılandırma dosyasını değiştirerek PHP hizmetimizi yapılandırıp çalıştıracağız. Değişikliklerimiz, nginx kullanıcısının erişime sahip olmasını ve daha sonra proxy kurulumumuzda gereksiz ağ oluşumunu önlemek için bağlantı noktası yerine bir soket kullanmamızı sağlar:

/etc/opt/rh/rh-php71/php-fpm.d/www.conf (sadece farklı satırları değiştirin)

; Set user and group (RPM apache user choosen to provide access ve keep a group allowed to write in log dir satırlarında ki apache alanları)
user = nginx
group = nginx
; Set to listen on a socket instead of port. (this value is mandatory olarak tanımlanan alan)
listen = /var/run/php-fpm.sock
; Set permissions on Unix socket.
listen.owner = nginx
listen.group = nginx
listen.mode = 0660

Son olarak, php-fpm hizmetini başlatalım:

[root] $ systemctl start rh-php71-php-fpm
[root] $ systemctl enable rh-php71-php-fpm

MariaDB’yi Ayarlama

Artık çalışan PHP’ye sahip olduğumuza göre, WordPress blogumuzun birlikte çalışabileceği veritabanını kurmamız gerekiyor. Birinci adım, MariaDB‘nin daha yeni bir sürümünü yüklemek için bir havuz oluşturmak olacaktır:

/etc/yum.repos.d/mariadb.repo

[mariadb]
name = MariaDB
baseurl = http://yum.mariadb.org/10.2/centos7-amd64
gpgkey=https://yum.mariadb.org/RPM-GPG-KEY-MariaDB
gpgcheck=1

Şimdi MariaDB istemcisini, sunucusunu ve geliştirme kitaplıklarını güncelleyip kuracağız:

[root] $ yum update
[root] $ yum install -y MariaDB-server MariaDB-client MariaDB-devel MariaDB-shared
[root] $ systemctl start mariadb
[root] $ systemctl enable mariadb

Sunucu çalışırken, gerekli kullanıcı ve izinleri ayarlayalım:

[root] $ mysql_secure_installation
... Go through the process to set the root password, answer `Y` to all other questions.
[root] $ mysql -u root -p
Enter password:
Welcome to the MariaDB monitor.  Commands end with ; or \g.
Your MariaDB connection id is 15
Server version: 10.2.13-MariaDB MariaDB Server

Copyright (c) 2000, 2018, Oracle, MariaDB Corporation Ab and others.


Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.


MariaDB [(none)]> CREATE DATABASE wordpress;
Query OK, 1 row affected (0.00 sec)
MariaDB [(none)]> GRANT ALL PRIVILEGES ON wordpress.* TO wpuser@localhost
IDENTIFIED BY "p@ssw0rd";
Query OK, 0 rows affected (0.00 sec)
MariaDB [(none)]> FLUSH PRIVILEGES;
Query OK, 0 rows affected (0.01 sec)
MariaDB [(none)]> \q
[root] $

Artık WordPress’i çalıştırmaya başladığımızda aşağıdaki bilgileri kullanabiliriz:

Veritabanı Adı: wordpress
Veritabanı Kullanıcısı: wpuser
Veritabanı Şifresi: p@ssw0rd

WordPress Kurulumu

Son kurulum parçamız WordPress’in kendisini kurmaktır. En yeni WordPress kaynak kodunu wordpress.org’dan indirip /var/www/blog.example.com’a tanımlayalım:

mkdir -p /var/www/test.example.com
wget -q -O - http://wordpress.org/latest.tar.gz | tar -xzf - --strip 1 -C /var/www/test.example.com

Son değişikliğimiz, örneği kopyalayıp oradan özelleştirmeler yaparak wp-config.php dosyamızı kurmak olacaktır.

[root] $ cp /var/www/test.example.com/wp-config-sample.php /var/www/test.example.com/wp-config.php
[root] $ chown -R nginx:nginx /var/www/test.example.com

Artık dosyayı yerel veritabanımızın değerlerine sahip olacak şekilde değiştirebiliriz:

/var/www/test.example.com/wp-config.php (partial)

define('DB_NAME', 'wordpress');

/** MySQL database username */
define('DB_USER', 'wpuser');


/** MySQL database password */
define('DB_PASSWORD', 'p@ssw0rd');


/** MySQL hostname */
define('DB_HOST', 'localhost');

Tanımlamamız gereken bazı salt değerleri de var, ancak buradan çıktıyı kopyalayarak bunları üretebiliriz.

PHP-FPM, MariaDB ve WordPress kurulduktan sonra, NGINX’i FastCGI trafiğine proxy oluşturacak şekilde yapılandırmaya hazırız.

Bir cevap yazın

E-posta hesabınız yayımlanmayacak. Gerekli alanlar * ile işaretlenmişlerdir