Ubuntu 20.04 LEMP(Nginx, MySQL, PHP) 쿠루루무

7233 단어

엔진엑스



İşleme sudo yetkisine sahip normal bir kullanıcı ile başlıyoruz ve depoları güncelledikten sonra nginx'i kuruyoruz.

sudo apt update
sudo apt install nginx


Firewall 설치 Nginx Full olanı seçiyoruz. Böylece http ve https bağlantılarına izin verilmiş olacak. Son olarak은 seçeneğiyle 방화벽을 사용하여 그녀의 açılışta aktif halecek을 활성화합니다.

sudo ufw allow 'Nginx Full'
sudo ufw enable


크기가 ssh인 경우 ssh bağlantısının kesilebileceği uyarısı gelecektir. Devam seçeneğiyle devam edin, bağlantınız kesilmeyecek çünkü ssh portu 22 varsayılan olarak açık geliyor. Nginx kuruldu 및 방화벽 ayarları yapıldı. Sunucu IP adresini tarayıcıdan çağırdığınızda nginx hoşgeldiniz sayfası gelecektir.

MySQL




sudo apt install mysql-server


Mysql은 사용자 정의 작업을 수행하는 데 사용되며 스크립트를 작성하는 데 사용할 수 있습니다.

sudo mysql_secure_installation


Sizden ilk olarak VALIDATE PASSWORD PLUGIN için onay istenecek. Bu özelliği NO ile devre dışı bırakmanızı öneriyorum ancak her zaman güçlü ve tahmini zor şifreler seçmeye özen göstermelisiniz. Internette hazır şifre üreticilerden yardım alınabilir. Güçlü şifreler oluşturmak için bu web sitesini kullanın.

Kalan sorulara cevap olarak her seferinde Y girin ve entere basın. Bu süreçte anonim kullanıcılar ile test veritabanını kaldırılacak, uzaktan root girişini kapatacak ve yeni kuralları aktif hale getirecektir. Şimdi 테스트 edelim.

sudo mysql


Programın çıktısı şöyle olacaktır:

Welcome to the MySQL monitor.  Commands end with ; or \g.
Your MySQL connection id is 22
Server version: 8.0.19-0ubuntu5 (Ubuntu)

Copyright (c) 2000, 2020, Oracle and/or its affiliates. All rights reserved.

Oracle is a registered trademark of Oracle Corporation and/or its
affiliates. Other names may be trademarks of their respective
owners.

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

mysql> 


출구 komutu ile çıkış yapabilirsiniz.

Dikkat ettiyseniz mysql 루트 şifresi oluşturmadık çünkü mysql yetkilendirme içinpassword yerineunix_socket kullanıyor. Bu ilk başta bir güvenlik açığı gibi görünse de aslında sistemi daha güvenli kılıyor. İleride mysql root şifresine ihtiyacınız olursa bir tane oluşturabilirsiniz.

PHP




sudo apt install php-fpm php-mysql


PHP kurulumu bu kadardı. Sırada nginx'in php ile sorunsuz çalışması için yapacağımız bazı önemli ayarlar var.

Nginx için varsayılan web kök dizini /var/www/html dir ve tek bir web sitesi kullanacaksanız başka ayara gerek yoktur. Biz çoklu 사이트 kullanımına göre example.com için ayarımızı yapacağız.

sudo mkdir -p /var/www/example.com/html
sudo chown -R $USER:$USER /var/www/example.com/html


Alan adımız için gerekli dizinleri oluşturduk ve kullanıcımıza erişim haklarını verdik. Şimdi nginx'e sitemizi tanıtalım.

sudo nano /etc/nginx/sites-available/example.com


Açılan dosyanın içine aşağıdaki bilgileri girin.

server {
    listen 80;
    server_name example.com www.example.com;
    root /var/www/example.com/html;

    index index.html index.htm index.php;

    location / {
        try_files $uri $uri/ :404;
    }

    location ~ \.php$ {
        include snippets/fastcgi-php.conf;
        fastcgi_pass unix:/var/run/php/php7.4-fpm.sock;
     }

    location ~ /\.ht {
        deny all;
    }

}


Son olarak sembolik bağlantıyı veriyoruz, yazımda hata olup olmadığını denetliyoruz ve nginx'i yeniden başlatıyoruz.

sudo ln -s /etc/nginx/sites-available/example.com /etc/nginx/sites-enabled/
sudo nginx -t
sudo systemctl reload nginx


Kurulumu tamamladık ancak web kökünde halen dosya yok ve sitemiz boş gözüküyor. etmek için basit index dosyası hazırlamak yeterlidir을 테스트합니다.

nano /var/www/example.com/html/index.html


dosyasına alttaki içeriği 기린

<html>
  <head>
    <title>Hoşgeldiniz</title>
  </head>
  <body>
    <h1>Merhaba Dünya!</h1>
    <p>Example.com için test sayfasıdır</p>
  </body>
</html>


Artık alan adınızı tarayıcıdan açtığınızda karşınıza bu test sayfası gelecektir. Dikkat ederseniz web kök dosyalarımız artık /var/www/html klasöründen okunmuyor. Blok oluşturmanın güzel yanı bu.

Şimdi PHP'nin doğru çalıştığından emin olmak için bize detaylı çıktı veren php test sayfasını oluşturalım.

echo "<?php phpinfo(); ?>" | sudo tee /var/www/example.com/html/info.php


Buradainfo.php dosyasını tarayıcıdan çağırdığınınızda detaylı php bilgilerine ulaşabilirsiniz. 제어 장치가 작동하지 않을 수 있습니다!

Kurulumu tamamladık. Aynı metodu izleyerek, daha fazla siteyi sunucuda host edebilirsiniz.

좋은 웹페이지 즐겨찾기