LEMP Stack, bir sunucunun dinamik web sitelerini veya web uygulamalarını barındırmasını sağlamak için toplu olarak çalışan bir grup açık kaynaklı programdır. LEMP temsil eder Linux (işletim sistemi), ENginx (web sunucusu), mySQL (MariaDB veritabanı), PHP (komut dosyası dili). Nginx yerine Apache kullanan LAMP Stack'in en popüler alternatifidir. Bu kılavuzda, LEMP'nin CentOS 7'ye nasıl kurulacağını öğreneceğiz.
Önkoşullar
LEMP'yi CentOS'a kurmadan önce, sunucunuzun yazılım paketlerini en son sürüme güncelleyin. Bunu yapmak için aşağıdaki komutu çalıştırın:
sudo yum -y update
Bu kılavuz, sahip olmanızı gerektirir
root sunucunuzun erişimi. Gibi bir SSH istemcisine ihtiyacınız olacak Macun (Windows) veya terminal kabuğu (Linux, macOS) sunucunuza bağlanmak için.
CentOS'ta LEMP Nasıl Kurulur
Artık Linux (CentOS) kurulu olduğuna ve yazılım paketleri en son sürüme güncellendiğine göre, Nginx, MySQL ve PHP'yi yükleyeceğiz.
Adım 1: Nginx'i CentOS 7'ye Yükleme
Nginx, CentOS deposunda varsayılan olarak bulunmadığından, sunucumuza EPEL deposu yüklememiz gerekiyor. Bunu yapmak için şunu çalıştırın:
sudo yum install epel-release -y
kullandığımızdan beri
sudo komutu, komutu çalıştırmak için izinleri kontrol etmek için normal kullanıcının şifresini girmeniz istenecek ve işlemler kök ayrıcalıklarıyla yürütülecektir.
Artık Nginx deposu kurulduğuna göre, kullanarak Nginx'i CentOS'a kurmak için daha ileri gidebiliriz.
yum emretmek:
sudo yum install Nginx
Nginx size soracak Evet veya HAYIR seçenek. cevap verirsen Evet Cevap verirken Nginx kurulumu bitirecek HAYIR Nginx kurulumunu durduracak.
Nginx, sunucunuzda çalışıyor ve çalışıyor olmalıdır. Nginx web sunucunuzun durumunu şunu yazarak kontrol edebilirsiniz:
sudo systemctl status nginx
Nginx henüz başlamadıysa, şunu yazarak başlayın:
sudo systemctl start nginx
Şimdi, Nginx'imizin sistem açılışında otomatik olarak başlamasını isteriz. Bunu etkinleştirmek için şunu çalıştırın:
sudo systemctl enable nginx
HTTP ve HTTPS Trafiğine İzin Ver
Sunucunuzda güvenlik duvarı etkinse ve web sitenizi veya web uygulamanızı dağıtmak istiyorsanız, HTTP ve HTTPS trafiğine de izin vermeniz gerekir. Buna izin vermek için şunu çalıştırın:
sudo firewall-cmd --permanent --zone=public --add-service=http sudo firewall-cmd --permanent --zone=public --add-service=https sudo firewall-cmd --reload
Şimdi tarayıcınıza sunucunuzun genel IP adresini girerek Nginx'in çalışıp çalışmadığını kontrol edin. Sayfanız şöyle görünmelidir:
Sunucunuzun IP adresini bilmiyorsanız şunu yazabilirsiniz:
ip addr show eth0 | grep inet | awk '{ print $2; }' | sed 's//.*$//'
Alternatif olarak şunları da yazabilirsiniz:
curl http://icanhazip.com
Adım #2: MySQL (MariaDB) Kurulumu
Artık Nginx web sunucumuz hazır ve çalışır durumda olduğuna göre, MySQL'i (MariaDB) kurmanın zamanı geldi.
MariaDB, MySQL ilişkisel veritabanının topluluk tarafından geliştirilmiş bir çatalıdır. Ticari olarak desteklenen ve GNU Genel Kamu Lisansı kapsamında ücretsiz ve açık kaynaklı yazılım olarak kalması amaçlanan.
MariaDB sunucusunu kurmak ve MySQL/MariaDB-PHP desteğini sağlamak için şunu çalıştırın:
sudo yum install mariadb-server php-mysql
MariaDB yüklendikten sonra, MariaDB hizmetini etkinleştirin ve başlatın:
sudo systemctl start mariadb sudo systemctl enable mariadb
Şimdi, aşağıdakileri çalıştırarak MariaDB kurulumunu güvenceye almamız gerekiyor:
sudo mysql_secure_installation
İstem, MariaDB'yi yeni kurduğunuzdan beri sahip olmadığınız mevcut kök şifrenizi soracaktır. Bu yüzden şifre alanını boş bırakın ve enter tuşuna basın.
Bir sonraki istem size bir kök şifresi belirlemek isteyip istemediğinizi soracaktır. Giriş VE ve talimatları izleyin.
Şimdi komut istemi birkaç güvenlik sorusu döndürecek. Yanıt vermek VE aşağıdaki istemler için:
Remove anonymous users? [Y/n] Disallow root login remotely? [Y/n] Remove test database and access to it? [Y/n] Reload privilege tables now? [Y/n]
Yapmamız gereken son şey, MariaDB'yi bir sunucu her yeniden başlatıldığında otomatik olarak başlayacak şekilde etkinleştirmektir. Bunu yapmak için şunu çalıştırın:
sudo systemctl enable mariadb
Adım 3: PHP'yi yükleyin
Dinamik içeriği görüntülemek için web uygulamamızı veya web sitesi kodumuzu işleyecek olan PHP FastCGI işleme yöneticisini kurun. bu yüzden biz yüklemek için gidiyoruz
php-mysql ve
php-fpm aşağıdaki komutu çalıştırarak paketler:
sudo yum install php php-mysql php-fpm
PHP'nin çalışır durumda olduğundan emin olmak için:
sudo systemctl start php-fpm
Ayrıca, sunucu yeniden başlatıldığında otomatik olarak başlatmayı etkinleştirin:
sudo systemctl enable php-fpm
Şimdi PHP'ye yalnızca sunucuda bulunan dosyalar için URI'leri kabul etmesini söylememiz gerekiyor. Bu özel eylem, PHP yorumlayıcısının rastgele kodu çalıştırmak için kandırılabileceği PHP kurulumundaki güvenlik açığını azaltacaktır. Bu güvenlik açığı hakkında daha fazla bilgi edinmek için resmi Nginx belgeleri.
sudo sed -i 's/;cgi.fix_pathinfo=1/cgi.fix_pathinfo=0/g' /etc/php.ini
Varsayılan olarak, PHP altında çalışacak şekilde yapılandırılmıştır.
apache kullanıcı. PHP'yi Nginx için yapılandırmak için,
apache Nginx'li kullanıcı
user ve
group.
şimdi değiştir
user ve
group içindeki değişkenler
www.conf dosya:
sudo sed -i 's/user = apache/user = nginx/g' /etc/php-fpm.d/www.conf sudo sed -i 's/group = apache/group = nginx/g' /etc/php-fpm.d/www.conf
Alternatif olarak, açabilirsiniz PHP-FPM uygun değişiklikleri yapmak için yapılandırma:
nano /etc/php-fpm.d/www.conf
Aşağıdakileri bulun ve değiştirin:
user = apache to user = nginx group = apache to group = nginx listen.owner = nobody to listen.owner = nginx listen.group = nobody to listen.group = nginx
CTRL + X tuşlarına basarak yapılandırmayı kaydedin ve PHP-FPM'yi başlatın:
sudo systemctl start php-fpm.service
Şimdi yeniden başlatıldığında otomatik olarak başlaması için PHP-FPM'yi etkinleştirin:
systemctl enable php-fpm.service
Adım #4: Nginx'i PHP Sayfalarına Hizmet Verecek Şekilde Yapılandırın
Artık tüm yapılandırmayı yüklediğimize göre, Nginx'i PHP sayfalarına hizmet edecek şekilde yapılandırmamız gerekiyor.
Her şeyden önce, web siteniz için bir kök dizin oluşturun.
Örneğin, alan adı örnek.com:
sudo mkdir -p /var/www/example.com/
değiştirebilirsiniz örnek.com alan adınızla.
Web siteniz için kök dizini oluşturduktan sonra, aşağıdakileri çalıştırarak varsayılan Nginx yapılandırmasını devre dışı bırakmanız gerekir:
sudo mv /etc/nginx/conf.d/default.conf /etc/nginx/conf.d/default.conf.disabled
Şimdi web siteniz için bir Nginx yapılandırma dosyası oluşturun:
sudo nano /etc/nginx/conf.d/example.com.conf
Aşağıdakini dosyanızın içine yapıştırın örnek.com.conf dosya:
server { listen 80 default_server; listen [::]:80 default_server; server_name example.com www.example.com; root /var/www/example.com; index index.php index.html; location / { try_files $uri $uri/ =404; } location ~* .php$ { fastcgi_pass 127.0.0.1:9000; include fastcgi_params; fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name; fastcgi_param SCRIPT_NAME $fastcgi_script_name; } }
düğmesine basarak yapılandırma dosyası dosyasını kaydedin. CTRL + X (Windows) veya CMD + X (Mac).
Ardından Nginx'i yeniden başlatın:
systemctl restart nginx
Adım #5: LEMP Yığınını Test Etme
LEMP Yığın yapılandırmamızı test etmek için temel bir PHP dosyası oluşturun
index.php web sitenizin kök dizininde
example.com.
sudo nano /var/www/example.com/index.php
Aşağıdaki tek satır kodunu yapıştırın:
<?php phpinfo(); ?>
tuşuna basarak dosyayı kaydedin. CTRL + X.
Şimdi PHP-FPM'yi yeniden başlatın ve Nginx'i yeniden yükleyin:
sudo systemctl restart php-fpm sudo nginx -s reload
şimdi git
http://example.com/index.php.
Yer değiştirmek örnek.com alan adınızla.
Aşağıdaki gibi görünecek PHP bilgilerini içeren bir sayfa açacaktır:
Ayrıca LEMP Stack'in başarıyla kurulduğunu da onaylar.
Çözüm
Bu kılavuzda, LEMP'yi CentOS 7'ye nasıl kuracağımızı öğrendik. Umarım bu öğreticiyi faydalı bulursunuz.
Herhangi bir sorunuz veya geri bildiriminiz varsa, aşağıya yorum yapmaktan çekinmeyin.