LEMP Nedir ve Google Cloud'da LEMP Nasıl Kurulur? (Video İçerik)
BU YAZINIMDA LEMP NEDİR VE GOOGLE CLOUD'DA LEMP NASIL KURULABİLECEĞİNİZDEN BAHSEDECEĞİM.
Merhaba, bu yazınımda sizelere LEMP nedir ve Google Cloud'da LEMP nasıl kurabileceğinizden bahsediyorum. LEMP kurulumlarında sizlere sırasıyla NGINX, MariaDB ve PHP-FPM kurulumlarını anlatacağım.
LEMP NEDİR?
LEMP, bir işletim sistemi ve üç farklı servisin baş harflerinden oluşmaktadır. Gelin öncelikle bu baş harflerini teker teker tanımlayalım.
LİNUX NEDİR?
Linux, unix ailesine üye olan açık kaynaklı bir işletim sistemidir. Biz, videolarımızda ve yazınlarımızda Linux işletim sisteminin bir dağıtımı olan CentOS 7'yi kullanıyoruz.
NGINX NEDİR?
NGINX servisi, videomda da bahsettiğim üzere ilk olarak Mail.Ru için e-posta sunucusu olarak geliştirilmiştir. Ancak daha sonrasında web sunucusu olarak evrilmiş ve şuanda yüksek trafikli siteler için birebir çözüm olarak kullanılmaktadır.
MARIADB NEDİR?
MariaDB, yeni videomda da bahsettiğim üzere MySQL veri tabanından forklanmış bir veri tabanı türüdür. Geliştiren ekip aynı ekiptir. Temelde MySQL kullanarak, üzerine yeni özellikler katılarak MariaDB ortaya çıkarılmıştır. Syntax neredeyse birebir aynıdır.
PHP-FPM(FASTCGI PROCESS MANAGER) NEDİR?
LAMP kurulumu yaparken PHP servisini kullanmıştık ancak, LEMP kurulumu yaparken PHP-FPM servisini kullanmamız gerekiyor. PHP-FPM servisinin PHP servisine göre daha çok trafik kaldırma ve daha hızlı çalışmak gibi bir özelliği bulunmaktadır.
KOMUTLAR
> sudo su root
> yum update
NGINX KURULUMU
> yum install nginx
# NGINX servisinin kurulumunu başlatıyoruz
> systemctl start nginx
> systemctl enable nginx
# NGINX servisini başlattık ve enable durumuna getirdik. "start" ve "enable" komutları arasındaki farkları şu şekilde açıklamak gerekir: start verildiğinde servis o an itibarıyla çalıştırılır, enable komutu çalıştırıldığında ise kullandığımız sistem yeniden başlatıldığında otomatik olarak o serviste çalıştırılır.
MARIADB KURULUMU
> yum install mariadb
# MariaDB servisinin kurulumunu başlatıyoruz.
> systemctl start mariadb
> systemctl enable mariadb
> mysql_secure_installation
# MariaDB'de yetkili kullanıcımızın şifresini düzenlemek ve gerekli ayarları yapmak için bu komutu kullanıyoruz. Komutun detayları videomda yer almaktadır.
> systemctl restart mariadb
# Gerekli ayarlamalarımızı yaptıktan sonra servisimizi yeniden başlatıyoruz.
PHP-FPM KURULUMU
> yum install epel-release
# Eğer başlangıçta "update" işlemini gerçekleştirdiyseniz, bu servis otomatik olarak güncellenmiş olacaktır.
> yum install https://rpms.remirepo.net/enterprise/remi-release-7.rpm
# Remi kütüphanesini kuruyoruz. Bu kütüphanenin içerisinde ihtiyacımız olan PHP'nin yeni versiyonları bulunuyor.
> yum install yum-utils
> yum-config-manager --enable remi-php72
> yum-config-manager --enable remi-php71
> yum-config-manager --enable remi-php70
# Remi kütüphanesinden PHP 7.2, 7.1 ve 7.0 versiyonlarını aktif hale getiriyoruz.
> yum install php php-fpm php-mysql php-mysqlnd
> systemctl start php-fpm
> systemctl enable php-fpm
YAPILANDIRMA AYARLARI
> vim /etc/php.ini
# Açılan dosyamızda /cgi.fix_pathinfo yazıp aratıyoruz.
;cgi.fix_pathinfo=1
# Şeklinde bulunan satırı:
cgi.fix_pathinfo=0
# Şeklinde düzeltiyoruz. ESC tuşuna tıklıyoruz ve :wq yazarak dosyamızı kaydedip çıkıyoruz.
> vim /etc/php-fpm.d/www.conf
# Açılan dosyada /listen yazıp aratıyoruz.
user = apache
# Şeklinde bulunan satırı:
user = nginx
# Şeklinde düzeltiyoruz.
group = apache
# Şeklinde bulunan satırı:
group = nginx
# Şeklinde düzeltiyoruz.
listen = 127.0.0.1:9000
# Şeklinde bulunan satırı:
listen = /var/run/php-fpm/php-fpm.sock
# Şeklinde düzeltiyoruz.
;listen.owner = nobody
;listen.group = nobody
;listen.mode = 0660
# Şeklinde bulunan satırı:
listen.owner = nginx
listen.group = nginx
listen.mode = 0660
#Şeklinde düzeltiyoruz.
# Bu komutlar ile birlikte NGINX servisimizi php-fpm üzerinde yetkilendirmiş olduk. Listen komutunu düzenleyerek php-fpm servisini takip etmesi üzerine komut verdik.
> systemctl restart php-fpm
# PHP-FPM servisimizi yeniden başlatıyoruz ve yaptığımız ayarları işleme almasını sağlıyoruz.
> vim /etc/nginx/conf.d/default.conf
# "i" tuşuna basarak satır ekleme moduna giriyoruz.
server {
listen 80;
server_name Sunucu_ip_adresiniz;
root /usr/share/nginx/html;
index index.php index.html index.htm;
location / {
try_files $uri $uri/ =404;
}
error_page 404 /404.html;
error_page 500 502 503 504 /50x.html;
location = /50x.html {
root /usr/share/nginx/html;
}
location ~ \.php$ {
try_files $uri =404;
fastcgi_pass unix:/var/run/php-fpm/php-fpm.sock;
fastcgi_index index.php;
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
include fastcgi_params;
}
}
# Satırlarını dosyamıza yazıyoruz, ESC tuşuna basarak :wq yazarak dosyamızı kaydedip çıkıyoruz.
> systemctl restart nginx
> vim /usr/share/nginx/html/info.php
<?php phpinfo(); ?>
# Satırını ekliyoruz, ESC tuşuna basıyoruz ve :wq yazarak dosyamızı kaydedip çıkıyoruz.
İşlemlerimizi bu şekilde tamamlamış olduk. Daha sonrasında http://ipadresiniz/info.php yazarak oluşturduğunuz dosyayı görüntüleyebilirsiniz.