Jak zainstalować serwer Nginx+PHP+Mysql na systemie Ubuntu 20.04

Wdrożenie serwera internetowego Nginx, środowiska wykonawczego PHP i systemu baz danych MySQL na platformie Ubuntu 20.04 to fundamentalny etap dla twórców witryn internetowych oraz administratorów systemów. Ten szczegółowy poradnik przeprowadzi Cię przez każdy krok procesu, zapewniając solidne podstawy do hostowania i uruchamiania dynamicznych serwisów online.

Wprowadzenie do technologii

Nginx to bardzo efektywny serwer HTTP oraz serwer proxy odwrotny, znany z dużej szybkości działania, zdolności do skalowania oraz oszczędnego zarządzania zasobami. PHP jest popularnym językiem programowania po stronie serwera, wykorzystywanym do tworzenia dynamicznych witryn internetowych, a MySQL to powszechnie stosowany system zarządzania relacyjnymi bazami danych (RDBMS). Te technologie razem tworzą wszechstronną platformę do konstruowania i hostowania serwisów internetowych.

Instalacja serwera Nginx

1. Odśwież spis pakietów i zainstaluj Nginx:
sudo apt update
sudo apt install nginx

2. Uruchom i aktywuj usługę Nginx:
sudo systemctl start nginx
sudo systemctl enable nginx

3. Zweryfikuj prawidłowość działania Nginx, otwierając przeglądarkę i wpisując adres IP serwera lub nazwę domeny. Powinna pojawić się domyślna strona powitalna Nginx.

Instalacja PHP

1. Zainstaluj PHP-FPM:
sudo apt install php-fpm

2. Aktywuj moduł Nginx dla PHP:
sudo nano /etc/nginx/sites-available/default

Dodaj poniższy fragment w sekcji server:
location ~ \.php$ {
include snippets/fastcgi-php.conf;
fastcgi_pass unix:/run/php/php7.4-fpm.sock;
}

3. Zapisz i zamknij plik. Wprowadź zmiany w konfiguracji Nginx:
sudo systemctl restart nginx

Instalacja MySQL

1. Zainstaluj pakiet MySQL:
sudo apt install mysql-server

2. Uruchom i włącz usługę MySQL:
sudo systemctl start mysql
sudo systemctl enable mysql

3. Skonfiguruj zabezpieczenia MySQL:
sudo mysql_secure_installation

4. Stwórz bazę danych i użytkownika dla swojego serwisu:

CREATE DATABASE nazwa_bazy_danych;
CREATE USER 'nazwa_użytkownika' IDENTIFIED BY 'hasło';
GRANT ALL PRIVILEGES ON nazwa_bazy_danych.* TO 'nazwa_użytkownika';
FLUSH PRIVILEGES;

Testowanie poprawności konfiguracji

1. Stwórz plik PHP w folderze /var/www/html:
sudo nano /var/www/html/info.php

Dodaj następujący kod PHP:
<?php
phpinfo();
?>

2. Otwórz przeglądarkę i wpisz adres http://[adres_IP_lub_nazwa_domeny]/info.php. Powinna pojawić się strona z informacjami o konfiguracji PHP.

3. Sprawdź połączenie z bazą danych, tworząc prosty skrypt PHP:
<?php
$servername = "localhost";
$username = "nazwa_użytkownika";
$password = "hasło";
$dbname = "nazwa_bazy_danych";

// Inicjalizacja połączenia
$conn = new mysqli($servername, $username, $password, $dbname);

// Sprawdzenie połączenia
if ($conn->connect_error) {
die("Połączenie nieudane: " . $conn->connect_error);
}

// Zamknięcie połączenia
$conn->close();
?>

4. Zapisz plik i odśwież stronę http://[adres_IP_lub_nazwa_domeny]/info.php. Jeśli połączenie z bazą danych jest prawidłowe, na stronie powinien pojawić się informujący komunikat.

Dodatkowe ustawienia (opcjonalnie)

Konfiguracja wirtualnych hostów Nginx: Utwórz pliki w /etc/nginx/sites-available/ i zdefiniuj bloki serwera dla swoich stron.

Optymalizacja PHP: Dostosuj ustawienia PHP-FPM, na przykład liczbę procesów roboczych i limit pamięci RAM.

Ustawienia zapory ogniowej: Skonfiguruj UFW, aby zezwolić na ruch HTTP, HTTPS i do bazy danych MySQL.

Monitorowanie i rejestrowanie: Skonfiguruj monitorowanie za pomocą Monit, analizuj logi Nginx i MySQL.

Podsumowanie

Instalacja i konfiguracja serwera Nginx z PHP i MySQL na systemie Ubuntu 20.04 stanowi solidną podstawę do hostowania i uruchamiania dynamicznych serwisów online. Postępując zgodnie z tym poradnikiem, możesz dostosować konfigurację do swoich potrzeb. Pamiętaj o aktualizacjach i monitorowaniu systemu w celu zapewnienia bezpieczeństwa i optymalnej wydajności.

Najczęściej zadawane pytania

1. Jak zaktualizować oprogramowanie Nginx, PHP i MySQL?
– Nginx: sudo apt update && sudo apt upgrade
– PHP: sudo apt update && sudo apt upgrade
– MySQL: sudo apt update && sudo apt upgrade

2. Jak sprawdzić wersje zainstalowanych programów?
– Nginx: nginx -v
– PHP: php -v
– MySQL: mysql --version

3. Jak skonfigurować alias domeny dla strony internetowej?
– Zmodyfikuj plik /etc/hosts lub wykorzystaj serwer DNS.

4. Jak zabezpieczyć serwer przed nieuprawnionym dostępem?
– Skonfiguruj zaporę sieciową, na przykład UFW.
– Użyj silnych haseł i włącz uwierzytelnianie dwuskładnikowe.

5. Gdzie szukać dokumentacji Nginx, PHP i MySQL?
– Dokumentacja Nginx: https://nginx.org/en/docs/
– Dokumentacja PHP: https://www.php.net/docs/
– Dokumentacja MySQL: https://dev.mysql.com/doc/

6. Jak zoptymalizować wydajność serwera?
– Dostosuj ustawienia PHP-FPM, takie jak liczba procesów roboczych i limit pamięci.
– Włącz kompresję GZIP i buforowanie w Nginx.
– Monitoruj system za pomocą narzędzi jak Monit.

7. Jak rozwiązywać problemy z serwerem?
– Przeanalizuj logi Nginx i MySQL.
– Użyj /var/log/syslog | grep nginx lub /var/log/syslog | grep mysql, aby odnaleźć komunikaty o błędach.

8. Co zrobić w przypadku problemów podczas instalacji lub konfiguracji?
– Sprawdź poprawność składni plików konfiguracyjnych Nginx i PHP.
– Upewnij się, że połączenie z bazą danych działa i spróbuj ponownie uruchomić usługi.
– Skonsultuj się ze specjalistycznymi forami lub społecznością online.


newsblog.pl