Jak zainstalować WordPress z Nginx na Debianie 12 lub 11

WordPress to potężny i szeroko stosowany system zarządzania treścią (CMS), który umożliwia użytkownikom łatwe tworzenie stron internetowych i zarządzanie nimi. W połączeniu ze stosem LEMP (Linux, NGINX, MariaDB, PHP) WordPress staje się solidną i wydajną platformą do tworzenia stron internetowych. Stos LEMP jest znany ze swojej wydajności, szybkości i skalowalności, dzięki czemu idealnie nadaje się do hostingu witryn WordPress. Kluczowe cechy WordPressa obejmują intuicyjny interfejs, rozbudowany ekosystem wtyczek, konfigurowalne motywy i silne wsparcie społeczności.

Aby zainstalować WordPress na Debianie 12 lub 11 z NGINX, MariaDB i PHP, wykonaj następujące kroki. W tym przewodniku omówimy konfigurację stosu LEMP, instalację WordPressa i niezbędne konfiguracje, aby Twoja witryna działała sprawnie.

Zainstaluj LEMP dla WordPressa

Zaktualizuj Debiana przed instalacją stosu LEMP

Przed zainstalowaniem WordPressa zaktualizuj swój system Debian, aby zapobiec potencjalnym konfliktom. Otwórz terminal i uruchom:

sudo apt update && sudo apt upgrade

To polecenie aktualizuje dostępne pakiety i aktualizuje system.

Zainstaluj niezbędne pakiety

Nawet jeśli masz kilka niezbędnych pakietów dla WordPressa, sprawdź dokładnie, czy żadnego nie pominąłeś. Uruchom następujące polecenie:

sudo apt install curl git wget unzip zip

To polecenie instaluje lub potwierdza niezbędne pakiety dla WordPress.

Zainstaluj Nginx – część 1 instalacji LEMP

Aby skonfigurować stos LEMP, musisz zainstalować Nginx. Uruchom to polecenie:

sudo apt install nginx

Po instalacji sprawdź, czy Nginx jest uruchomiony:

systemctl status nginx

Jeśli usługa Nginx nie jest aktywna, możesz ją uruchomić za pomocą następującego polecenia:

sudo systemctl enable nginx --now

To polecenie gwarantuje, że Nginx uruchomi się przy każdym ponownym uruchomieniu serwera, co jest niezbędne dla funkcjonalnego stosu LEMP.

Uwaga: najlepiej używać najnowszej głównej wersji Nginx, aby zoptymalizować wydajność WordPressa. Możesz postępować zgodnie z przewodnikiem instalowanie Nginx Mainline na Debianie Linux aby zainstalować najnowszą wersję. Ta wersja oferuje dodatkowe funkcje i ulepszenia, które zwiększają szybkość i ogólną wydajność Twojej witryny.

Konfigurowanie zapory UFW dla Nginx

Konfiguracja zapory UFW z serwerem Nginx ma kluczowe znaczenie dla bezpieczeństwa i umożliwienia zewnętrznego dostępu do standardowych portów internetowych. Dobra wiadomość jest taka, że ​​Nginx oferuje profile upraszczające proces konfiguracji UFW.

Instalowanie UFW:

Jeśli nie zainstalowałeś jeszcze UFW w swoim systemie Debian, wykonaj poniższe polecenie:

sudo apt install ufw

Aktywacja UFW:

Po zainstalowaniu nadszedł czas na aktywację UFW. Domyślnie UFW blokuje wszystkie połączenia przychodzące, jednocześnie zezwalając na wszystkie połączenia wychodzące. Aktywuj zaporę sieciową za pomocą:

sudo ufw enable

Przeglądanie profili Nginx:

Aby sprawdzić profile Nginx dostępne dla UFW, uruchom następujące polecenie:

sudo ufw app list

Na podstawie wyników zauważysz, że:

  • Nginx działa na porcie 80 (HTTP)
  • Nginx Secure działa na porcie 443 (HTTPS)
  • Nginx Full obejmuje oba porty

Konfiguracja UFW dla Nginx:

Jeśli chcesz włączyć dostęp zarówno przez HTTP, jak i HTTPS, wybierz pełny profil Nginx:

sudo ufw allow 'Nginx Full'

Jednak Twoje wymagania mogą się różnić:

Aby uzyskać dostęp tylko za pośrednictwem protokołu HTTPS, wybierz profil Nginx Secure:

sudo ufw allow 'Nginx Secure'

Dostęp tylko przez HTTP, skorzystaj z profilu HTTP Nginx:

sudo ufw allow 'Nginx HTTP'

Możesz utworzyć inne reguły UFW, aby zabezpieczyć swój serwer i konfigurację LEMP za pomocą WordPress, i powinieneś zainwestować czas w zablokowanie serwera, jeśli jest on wystawiony na widok publiczny.

Zainstaluj MariaDB – część 2 instalacji LEMP

MariaDB, znana ze zwiększonej wydajności w stosunku do MySQL, to komponent bazy danych w stosie LEMP. Jeśli chcesz zainstalować konkretną wersję MariaDB z oficjalnych repozytoriów MariaDB.org, zapoznaj się z przewodnikami na instalowanie MariaDB na Debianie. Może to jeszcze bardziej zoptymalizować wydajność WordPressa.

Aby zainstalować MariaDB, uruchom:

sudo apt install mariadb-server mariadb-client

Po instalacji sprawdź status MariaDB:

systemctl status mariadb

To polecenie wyświetla status usługi MariaDB i wszelkie potencjalne błędy.

Jeśli MariaDB nie działa, zacznij od:

sudo systemctl enable mariadb --now

Dzięki temu MariaDB uruchamia się przy każdym ponownym uruchomieniu systemu, co jest niezbędne dla stabilnego stosu LEMP i konfiguracji WordPress.

Zabezpiecz MariaDB za pomocą skryptu zabezpieczającego

Aby chronić dane, musisz zabezpieczyć swoją instalację MariaDB. Świeże instalacje MariaDB mogą mieć luźne domyślne zabezpieczenia, narażając je na zagrożenia. Jednak skrypt mysql_secure_installation może wzmocnić zabezpieczenia Twojej bazy danych.

Uruchom skrypt bezpieczeństwa:

sudo mysql_secure_installation

Ten skrypt przeprowadzi Cię przez kilka konfiguracji zabezpieczeń:

  • Ustawienie hasła root lub wybranie unix_socket w celu zapobiegania nieautoryzowanemu dostępowi.
  • Usuwanie kont użytkowników anonimowych w celu ograniczenia dostępu do bazy danych tylko autoryzowanym użytkownikom.
  • Ograniczanie zdalnego logowania dla kont użytkowników root.
  • Usunięcie testowej bazy danych w celu uniknięcia nieuprawnionego dostępu i potencjalnych wycieków danych.

Odpowiadaj uważnie na każde pytanie; te ustawienia mają ogromny wpływ na bezpieczeństwo bazy danych. Po wykonaniu tych kroków konfiguracja MariaDB powinna być bezpieczna i działać.

NOTE: RUNNING ALL PARTS OF THIS SCRIPT IS RECOMMENDED FOR ALL MariaDB
      SERVERS IN PRODUCTION USE!  PLEASE READ EACH STEP CAREFULLY!

In order to log into MariaDB to secure it, we'll need the current
password for the root user. If you've just installed MariaDB, and
haven't set the root password yet, you should just press enter here.

Enter current password for root (enter for none): 
OK, successfully used password, moving on...

Setting the root password or using the unix_socket ensures that nobody
can log into the MariaDB root user without the proper authorisation.

You already have your root account protected, so you can safely answer 'n'.

Switch to unix_socket authentication [Y/n] Y <---- Type Y then press the ENTER KEY.
Enabled successfully!
Reloading privilege tables..
 ... Success!


You already have your root account protected, so you can safely answer 'n'.

Change the root password? [Y/n] Y <---- Type Y then press the ENTER KEY.
New password: 
Re-enter new password: 
Password updated successfully!
Reloading privilege tables..
 ... Success!


By default, a MariaDB installation has an anonymous user, allowing anyone
to log into MariaDB without having to have a user account created for
them.  This is intended only for testing, and to make the installation
go a bit smoother.  You should remove them before moving into a
production environment.

Remove anonymous users? [Y/n] Y <---- Type Y then press the ENTER KEY.
 ... Success!

Normally, root should only be allowed to connect from 'localhost'.  This
ensures that someone cannot guess at the root password from the network.

Disallow root login remotely? [Y/n] Y <---- Type Y then press the ENTER KEY.
 ... Success!

By default, MariaDB comes with a database named 'test' that anyone can
access.  This is also intended only for testing, and should be removed
before moving into a production environment.

Remove test database and access to it? [Y/n] Y <---- Type Y then press the ENTER KEY.
 - Dropping test database...
 ... Success!
 - Removing privileges on test database...
 ... Success!

Reloading the privilege tables will ensure that all changes made so far
will take effect immediately.

Reload privilege tables now? [Y/n] Y <---- Type Y then press the ENTER KEY.
 ... Success!

Cleaning up...

All done!  If you've completed all of the above steps, your MariaDB
installation should now be secure.

Thanks for using MariaDB!

Te środki bezpieczeństwa zapewniają, że instalacja MariaDB jest bezpieczna i chroniona przed zagrożeniami.

Zainstaluj PHP, PHP-FPM – część 3 instalacji LEMP

Aby uzyskać kompletny stos LEMP, musisz zainstalować PHP. PHP działa jako pomost pomiędzy Nginx i MariaDB, wspierany przez PHP-FPM i inne niezbędne moduły WordPress.

Uwaga: Jeśli chcesz mieć konkretną wersję PHP dostosowaną do Twoich potrzeb, skonsultuj się z naszym przewodnik dotyczący instalacji PHP na Debianie. Nowi użytkownicy Linuksa powinni na razie używać ustawień domyślnych przed instalacją wersji niestandardowych.

Uruchom następującą komendę, aby zainstalować PHP, PHP-FPM i wymagane moduły:

sudo apt install php php-fpm php-mbstring php-bcmath php-xml php-mysql php-common php-gd php-cli php-curl php-zip php-imagick php-ldap php-intl

Po instalacji sprawdź status usługi PHP, który jest podobny do tego, co zrobiłeś dla MariaDB i Nginx. W tym przykładzie używamy PHP 7.4:

systemctl status php7.4-fpm

Dane wyjściowe powinny wyglądać następująco:

Uwaga: Wersja PHP-FPM różni się w zależności od stabilnego wydania Debiana. Jeśli nie masz pewności co do swojej wersji, uruchom php -v dowiedzieć się.

Konfiguracja przedinstalacyjna dla WordPress z LEMP

Utwórz strukturę katalogów WordPress

Aby zainstalować WordPress na stosie Debiana LEMP, możesz to zrobić pobierać najnowszą wersję z oficjalnej strony pobierania WordPress.org lub użyj następującego polecenia, aby pobrać ją bezpośrednio:

wget https://wordpress.org/latest.zip

Po pobraniu rozpakuj archiwum do katalogu /var/www/html za pomocą następującego polecenia:

sudo unzip latest.zip -d /var/www/html/

Następnie upewnij się, że WordPress ma prawidłowe uprawnienia do zapisu, ustawiając uprawnienia właściciela katalogu dla użytkownika serwera WWW.

Można to zrobić za pomocą następującego polecenia:

sudo chown -R www-data:www-data /var/www/html/wordpress/

Po ustawieniu uprawnień właściciela katalogu należy ustawić odpowiednie uprawnienia do folderów i plików WordPress za pomocą następujących poleceń:

Dla folderów:

sudo find /var/www/html/wordpress -type d -exec chmod 755 {} \;

A dla plików:

sudo find /var/www/html/wordpress -type f -exec chmod 644 {} \;

Ustawienie prawidłowych uprawnień do folderów i plików gwarantuje, że instalacja WordPress będzie bezpieczna i będzie działać prawidłowo.

Utwórz bazę danych dla WordPressa

Aby uruchomić WordPress na stosie LEMP Debiana, musisz utworzyć bazę danych przy użyciu MariaDB. Uzyskaj dostęp do powłoki MariaDB jako root, używając następującego polecenia:

sudo mariadb -u root

Po wejściu do powłoki MariaDB utwórz nową bazę danych za pomocą następującego polecenia:

CREATE DATABASE WORDPRESSDB;

Następnie utwórz nowe konto użytkownika WordPress za pomocą następującego polecenia:

CREATE USER 'WPUSER'@localhost IDENTIFIED BY 'PASSWORD';

Uwaga: Zastąp „WPUSER” i „PASSWORD” żądaną nazwą użytkownika i hasłem.

Na koniec przypisz nowo utworzonemu kontu użytkownika dostęp do bazy danych serwisu WordPress wyłącznie za pomocą następującego polecenia:

GRANT ALL PRIVILEGES ON WORDPRESSDB.* TO WPUSER@localhost IDENTIFIED BY 'PASSWORD';

Po utworzeniu konta użytkownika opróżnij uprawnienia, aby mieć pewność, że nowe zmiany zaczną obowiązywać za pomocą następującego polecenia:

FLUSH PRIVILEGES;

Na koniec wyjdź z powłoki MariaDB, wpisując:

EXIT;

Ustaw pliki konfiguracyjne WordPress

Konfiguracja plików konfiguracyjnych WordPress jest niezbędnym krokiem w procesie instalacji. Wiąże się to ze zmianą nazwy przykładowego pliku wp-config.php i wprowadzeniem niezbędnych szczegółów konfiguracji.

Przejdź do katalogu WordPress za pomocą następującego polecenia:

cd /var/www/html/wordpress/

Skopiuj plik wp-config-sample.php do wp-config.php, używając następującego polecenia:

sudo cp wp-config-sample.php wp-config.php

Używając edytora tekstu, wywołaj nowo skopiowany plik wp-config.php:

sudo nano wp-config.php

Następnie wprowadź nazwę bazy danych, konto użytkownika z hasłem i, jeśli to konieczne, adres IP hosta.

// ** MySQL settings - You can get this info from your web host ** //
/** The name of the database for WordPress */ 

define( 'DB_NAME', 'WORDPRESSDB' );                 <--------------- change this

/* MySQL database username */ 

define( 'DB_USER', 'WPUSER );                               <--------------- change this

/* MySQL database password */

define( 'DB_PASSWORD', 'PASSWORD' );             <--------------- change this

/* MySQL hostname, change the IP here if external DB set up */ 

define( 'DB_HOST', 'localhost' );

/* Database Charset to use in creating database tables. */

define( 'DB_CHARSET', 'utf8' );

/* The Database Collate type. Don't change this if in doubt. */

define( 'DB_COLLATE', '' );

Oprócz tych ustawień możesz także dodać następujące elementy do pliku wp-config.php, aby usprawnić zarządzanie WordPressem:

/** ## Save files direct method ## */
define( 'FS_METHOD', 'direct' );

/** ## Increase memory limit, 256MB is recommended ## */
define('WP_MEMORY_LIMIT', '256M');

Limit pamięci Twojego serwera dedykowanego lub VPS może się różnić w zależności od pojemności Twojego systemu. Limit pamięci 256 MB można zwiększać lub zmniejszać małymi krokami, np. 128 MB, 256 MB, 512 MB itd.

Uwaga: należy pamiętać, że w celu uzyskania optymalnej wydajności i stabilności zaleca się wprowadzanie jedynie niewielkich zmian w limicie pamięci.

Wdrażanie kluczy bezpieczeństwa WordPress

Zwiększenie bezpieczeństwa instalacji WordPress jest sprawą najwyższej wagi, a jednym ze skutecznych sposobów osiągnięcia tego jest skonfigurowanie soli bezpieczeństwa WordPress. Klucze te działają jak wzmocniona tarcza bezpieczeństwa, wzmacniając witrynę WordPress przed potencjalnymi zagrożeniami oraz wzmacniając uwierzytelnianie użytkowników i szyfrowanie danych.

Generowanie kluczy bezpieczeństwa

Aby wygenerować klucze bezpieczeństwa, przejdź do API tajnego klucza WordPress: https://api.wordpress.org/secret-key/1.1/salt/. Po wygenerowaniu tych kluczy ważne jest zastąpienie linii zastępczych w pliku wp-config.php swoimi unikalnymi kluczami. Ten krok wzmacnia uwierzytelnianie użytkownika i szyfrowanie danych.

Uwaga: Nie używaj przykładowych linii podanych tutaj lub gdzie indziej, ponieważ służą one celom ilustracyjnym. Używanie wstępnie ustawionych kluczy solnych może narazić Twoją witrynę na luki w zabezpieczeniach. Zawsze generuj osobne klucze dla każdej konfiguracji WordPress, aby zapewnić optymalne bezpieczeństwo.

Integracja kluczy bezpieczeństwa

Aby osadzić świeżo wygenerowane klucze bezpieczeństwa w pliku wp-config.php, otwórz plik w edytorze tekstu:

sudo nano /var/www/html/wordpress/wp-config.php

Teraz zidentyfikuj linie w pliku wp-config.php odpowiadające przykładowym kluczom. Po zlokalizowaniu zastąp każdy przykładowy klucz w pliku wp-config.php nowo wygenerowanymi kluczami. Po dokonaniu niezbędnych zamian zapisz i zamknij plik.

Jeśli używasz edytora nano, zapisz, naciskając „CTRL+X”, a następnie „Y”.

Konfiguracja bloku serwera Nginx dla konfiguracji WordPress LEMP

Prawidłowa konfiguracja bloku serwera Nginx jest niezbędna do bezproblemowej instalacji WordPress za pośrednictwem interfejsu internetowego. Koniecznie pobierz plik „try_files $uri $uri/ /index.php?$args;” racja dyrektywna. Pominięcie „?$args” może zakłócać działanie interfejsu API REST WordPressa. Aby uniknąć potencjalnych problemów podczas instalacji, należy ściśle przestrzegać poniższych instrukcji.

Utwórz nowy plik konfiguracyjny serwera dla instalacji WordPress na Nginx. Zamień „example.com” na rzeczywistą nazwę domeny w następującym poleceniu:

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

Aby Nginx mógł współpracować z PHP, musisz uwzględnić „lokalizację ~ .php$” w pliku konfiguracyjnym bloku serwera. Oto przykładowa konfiguracja, której możesz użyć jako odniesienia.

Upewnij się, że dostosowałeś ścieżkę główną i nazwy domen do swojej konfiguracji:

server {
  listen 80;
  listen [::]:80;
  server_name www.example.com example.com;
  root /var/www/html/wordpress;
  index index.php index.html index.htm index.nginx-debian.html;

  location / {
    try_files $uri $uri/ /index.php?$args;
  }

  location ~* /wp-sitemap.*\.xml {
    try_files $uri $uri/ /index.php$is_args$args;
  }

  client_max_body_size 100M;

  location ~ \.php$ {
    fastcgi_pass unix:/run/php/php7.4-fpm.sock;
    fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
    include fastcgi_params;
    include snippets/fastcgi-php.conf;
    fastcgi_buffer_size 128k;
    fastcgi_buffers 4 128k;
    fastcgi_intercept_errors on;
  }

  gzip on;
  gzip_comp_level 6;
  gzip_min_length 1000;
  gzip_proxied any;
  gzip_disable "msie6";
  gzip_types application/atom+xml application/geo+json application/javascript application/x-javascript application/json application/ld+json application/manifest+json application/rdf+xml application/rss+xml application/xhtml+xml application/xml font/eot font/otf font/ttf image/svg+xml text/css text/javascript text/plain text/xml;

  location ~* \.(?:css(\.map)?|js(\.map)?|jpe?g|png|gif|ico|cur|heic|webp|tiff?|mp3|m4a|aac|ogg|midi?|wav|mp4|mov|webm|mpe?g|avi|ogv|flv|wmv)$ {
    expires 90d;
    access_log off;
  }

  location ~* \.(?:svgz?|ttf|ttc|otf|eot|woff2?)$ {
    add_header Access-Control-Allow-Origin "*";
    expires 90d;
    access_log off;
  }

  location ~ /\.ht {
    access_log off;
    log_not_found off;
    deny all;
  }
}

Pamiętaj, dostosuj odpowiednio plik konfiguracyjny Nginx, jeśli zainstalowałeś inną wersję PHP lub PHP-FPM lub Twoja wersja Debiana domyślnie korzysta z innej wersji PHP.

Na przykład dla PHP-FPM 8.2 zmień linię fastcgi_pass unix:/run/php/php8.1-fpm.sock; do fastcgi_pass unix:/run/php/php8.2-fpm.sock;. Aby zapewnić płynne działanie, konieczne jest dopasowanie wersji w konfiguracji do wersji w systemie.

Zrozumienie bloku serwera WordPress Nginx

Dla tych, którzy dopiero zaczynają konfigurować Nginx i WordPress, oto zestawienie przykładowego bloku serwera:

Podstawowe ustawienia serwera:

  • Te ustawienia definiują podstawowe aspekty bloku serwera, takie jak adres IP, port, na którym Nginx może nasłuchiwać, oraz nazwy serwerów.
  • Dyrektywa root wskazuje główny katalog zawierający pliki strony internetowej.
  • Dyrektywa indeksowa instruuje Nginx w zakresie identyfikowania plików indeksu podczas obsługi witryny.

Ustawienia lokalizacji:

  • Ustawienia te obejmują różne bloki lokalizacji, które określają, w jaki sposób Nginx przetwarza żądania dotyczące różnych adresów URL.
  • Początkowy blok lokalizacji zarządza żądaniami kierowanymi do głównego adresu URL witryny, korzystając z dyrektywy try_files.
  • Kolejny blok lokalizacji przetwarza żądania specjalnie dla pliku WordPress sitemap.xml.

Ustawienia obsługi PHP:

  • Te ustawienia określają, w jaki sposób Nginx przetwarza pliki PHP.
  • Dyrektywa fastcgi_pass wskazuje lokalizację pliku gniazda PHP-FPM.
  • Dyrektywa fastcgi_param przypisuje wartość parametru SCRIPT_FILENAME do lokalizacji żądanego pliku PHP.
  • Dyrektywy include pobierają dodatkowe pliki konfiguracyjne dla modułu FastCGI.
  • Dyrektywy takie jak fastcgi_buffer_size i fastcgi_buffers wyznaczają rozmiar bufora do przesyłania danych pomiędzy Nginx i PHP-FPM.
  • Dyrektywa fastcgi_intercept_errors umożliwia Nginxowi przechwytywanie i zarządzanie błędami PHP.

Ustawienia kompresji Gzip:

  • Te ustawienia konfigurują kompresję Gzip, zmniejszając rozmiar pliku dostarczanego do klienta.
  • Dyrektywa gzip aktywuje kompresję Gzip.
  • Dyrektywy takie jak gzip_comp_level i gzip_min_length określają odpowiednio poziom kompresji i minimalny rozmiar pliku do kompresji.
  • Dyrektywa gzip_proxied określa, które typy żądań podlegają kompresji.
  • Dyrektywa gzip_types wylicza typy MIME kwalifikujące się do kompresji.

Ustawienia buforowania plików:

  • Te ustawienia optymalizują buforowanie plików statycznych, zwiększając szybkość witryny.
  • Początkowy blok lokalizacji określa czas wygaśnięcia plików zasobów i multimediów.
  • Kolejny blok lokalizacji określa datę ważności plików czcionek i SVG.
  • Dyrektywy takie jak access_log i log_not_found regulują rejestrowanie żądań.
  • Dyrektywa add_header dołącza nagłówek Access-Control-Allow-Origin, zezwalając na ładowanie czcionek i plików SVG z domen zewnętrznych.

Blokowanie plików .htaccess:

  • To ustawienie ogranicza dostęp do plików zaczynających się od .ht, czyli zazwyczaj wrażliwych plików konfiguracyjnych serwera.

Konfigurowanie bloku serwera Nginx za pomocą łącza symbolicznego

Aby zakończyć konfigurację bloku serwera Nginx, musisz aktywować plik konfiguracyjny z katalogu „sites-available”. Osiąga się to poprzez utworzenie symbolicznego łącza do katalogu „obsługiwane witryny”.

Wykonaj poniższe polecenie, pamiętając o zastąpieniu „example.com.conf” nazwą pliku konfiguracyjnego:

sudo ln -s /etc/nginx/sites-available/example.com.conf /etc/nginx/sites-enabled/

To polecenie ustanawia dowiązanie symboliczne pomiędzy katalogami, zapewniając Nginx dostęp do pliku konfiguracyjnego. Po skonfigurowaniu zatwierdź konfigurację za pomocą:

sudo nginx -t

Jeśli test nie zwróci żadnych błędów, zrestartuj Nginx, aby zastosować zmiany w bloku serwera:

sudo systemctl restart nginx

Po wykonaniu tych kroków Twoja witryna WordPress powinna być teraz dostępna za pośrednictwem Nginx.

Konfigurowanie PHP.ini w celu uzyskania optymalnej wydajności WordPressa

Dostosowanie ustawień PHP ma kluczowe znaczenie dla osiągnięcia najlepszej wydajności w WordPress. Aby efektywnie obsługiwać pliki multimedialne w WordPressie, rozważ zwiększenie maksymalnego rozmiaru przesyłanych plików, rozmiaru postów i limitu pamięci. Może być również konieczne dostosowanie maksymalnego czasu wykonania i zmiennych wejściowych, aby zapobiec potencjalnym problemom.

Aby uzyskać dostęp do pliku php.ini, użyj terminala. Pamiętaj, że lokalizacja pliku może się różnić w zależności od wersji PHP:

sudo nano /etc/php/8.0/fpm/php.ini
sudo nano /etc/php/8.1/fpm/php.ini
sudo nano /etc/php/8.2/fpm/php.ini
sudo nano /etc/php/8.3/fpm/php.ini

Aby dostosować ustawienia PHP, znajdź i dostosuj następujące wiersze w pliku php.ini:

##increase this to the maximum file size you want to upload, recommended 50 to 100MB## 
 upload_max_filesize = 100M

##increase this to the maximum post size you want to allow, recommended 50 to 100MB##
 post_max_size = 100M

##increase this to the maximum execution time, recommended 150 to 300 seconds##
 max_execution_time = 300

##increase this to the maximum GET/POST/COOKIE input variables, recommended 5000 to 10000##
max_input_vars = 5000

##increase this to the maximum memory limit, recommended 256MB or 512MB. Note that you should ensure your system has enough RAM before raising this.##
memory_limit = 256M

Po zmodyfikowaniu ustawień PHP konieczne jest ponowne uruchomienie serwera PHP-FPM. Dzięki temu nowe konfiguracje będą aktywne, dzięki czemu Twoja witryna WordPress będzie działać najlepiej.

Zwiększ maksymalny rozmiar ciała klienta serwera Nginx

Aby umożliwić przesyłanie większych plików do witryny WordPress, musisz dostosować blok serwera Nginx. Dzięki temu Nginx może obsłużyć większe treści żądań HTTP, co jest niezbędne w przypadku przesyłania dużych plików.

Modyfikowanie bloku serwera Nginx

Otwórz plik konfiguracyjny bloku serwera i wstaw następujący wiersz:

##set to the maximum upload size you set in upload_max_filesize.##
client_max_body_size – <size>

Upewnij się, że wartość client_max_body_size jest zgodna z wartością upload_max_filesize skonfigurowaną w ustawieniach PHP.

Ponowne uruchamianie PHP-FPM

Po dostosowaniu ustawień PHP w celu uzyskania optymalnej wydajności WordPressa, w tym rozmiaru przesyłanych plików, rozmiaru postu i limitu pamięci, konieczne jest ponowne uruchomienie serwera PHP-FPM, aby zmiany odniosły skutek. Dokładne polecenie ponownego uruchomienia serwera zależy od wersji PHP. Jeśli nie masz pewności co do wersji PHP, zapoznaj się z dokumentacją swojego systemu.

W przypadku różnych wersji PHP użyj odpowiednich poleceń, aby ponownie uruchomić PHP-FPM:

sudo systemctl restart php8.0-fpm
sudo systemctl restart php8.1-fpm
sudo systemctl restart php8.2-fpm
sudo systemctl restart php8.3-fpm

Zainstaluj interfejs WordPress

Po sfinalizowaniu konfiguracji zaplecza czas uruchomić front-end WordPressa w swojej domenie. Rozpocznij instalację, przechodząc do swojej domeny, z prefiksem „https://” lub „http://”. Alternatywnie możesz uzyskać bezpośredni dostęp do „https://www.yoursite.com/wp-admin/install.php”.

Ten adres URL przekieruje Cię do kreatora instalacji frontonu.

Krok 1: Wybierz język WordPressa

Wybierz żądany język i kliknij "Kontynuować."

Krok 2: Utwórz użytkownika administratora dla WordPress

Następnie wylądujesz na stronie z prośbą o podanie tytułu witryny, nazwy użytkownika, hasła i adresu e-mail głównego administratora witryny WordPress.

Ze względów bezpieczeństwa wybierz solidne hasło i podaj prawidłowy adres e-mail. Pamiętaj, że możesz później zmodyfikować inne ustawienia w panelu ustawień WordPress.

Dla tych, którzy tworzą swoją witrynę i chcą zachować jej prywatność przed wyszukiwarkami takimi jak Google czy Bing, dostępna jest opcja „zdecydowanego zniechęcania wyszukiwarek do indeksowania”.

Krok 3: Kontynuuj i kliknij przycisk Zainstaluj WordPress

Po uzupełnieniu swoich danych i preferencji naciśnij przycisk „Zainstaluj WordPressa” przycisk. Pomyślna instalacja przekieruje Cię na stronę logowania.

Krok 4: Zaloguj się na stronie administracyjnej WordPress

Wprowadź swoje dane logowania i naciśnij „Zaloguj się”. Ta czynność przeniesie Cię do panelu WordPress, gdzie możesz stworzyć lub zaimportować swoją witrynę.

Krok 5: Wyświetl i dostosuj witrynę WordPress za pośrednictwem administratora WordPress

Panel WordPress to Twoje centrum dowodzenia. Tutaj możesz tworzyć nowe posty, projektować strony, obsługiwać motywy i wtyczki oraz dostosowywać wygląd, zawartość i działanie swojej witryny.

Dzięki przyjaznemu dla użytkownika interfejsowi pulpit nawigacyjny umożliwia szybkie utworzenie witryny internetowej, umożliwiając zaprojektowanie urzekającej i profesjonalnej witryny przy minimalnym wysiłku.

Dodatkowe wskazówki dotyczące WordPressa z Nginx

Zabezpieczanie WordPressa i Nginxa za pomocą certyfikatu Let's Encrypt SSL

Zwiększenie bezpieczeństwa serwera WWW jest sprawą najwyższej wagi, a jednym ze skutecznych sposobów osiągnięcia tego jest uruchomienie Nginx na HTTPS przy użyciu certyfikatu SSL. Let's Encrypt oferuje bezpłatny, zautomatyzowany i otwarty urząd certyfikacji, dzięki czemu konfiguracja certyfikatów SSL dla Twojego serwera Nginx jest łatwiejsza.

Instalowanie Certbota

Zacznij od zainstalowania pakietu certbot za pomocą polecenia:

sudo apt install python3-certbot-nginx

Generowanie certyfikatu SSL

Po zainstalowaniu pakietu certbot wygeneruj certyfikat SSL z następującymi elementami:

sudo certbot --nginx --agree-tos --redirect --hsts --staple-ocsp --email you@example.com -d www.example.com

Podczas tego procesu Certbot poprosi Cię o podanie adresu e-mail i nazwy domeny. Będziesz mieć także możliwość otrzymywania e-maili od EFR. Zdecyduj, czy chcesz się zapisać, w oparciu o swoje preferencje.

Po zainstalowaniu certyfikatu adres URL Twojej witryny zostanie przełączony z HTTP na HTTPS. Odwiedzający uzyskujący dostęp do starego adresu URL HTTP zostaną automatycznie przekierowani na nowy adres URL HTTPS. Ta konfiguracja zapewnia przekierowania HTTPS 301, nagłówek Strict-Transport-Security i zszywanie OCSP w celu zapewnienia najwyższego poziomu bezpieczeństwa.

Konfigurowanie automatycznego odnawiania certyfikatu

Aby zachować ważność certyfikatu SSL, skonfiguruj zadanie cron w celu jego automatycznego odnowienia. Certbot oferuje do tego skrypt. Przed sfinalizowaniem konfiguracji przeprowadź test na sucho:

sudo certbot renew --dry-run

Uzyskaj dostęp do konfiguracji crontab, wprowadź:

sudo crontab -e

Aby automatycznie odnowić certyfikat SSL, zaplanuj go za pomocą zadania cron z następującym poleceniem:

00 00 */1 * * /usr/sbin/certbot-auto renew

Spowoduje to próbę odnowienia certyfikatu codziennie o północy.

Rozwiązywanie błędów sesji PHP

Masz problemy z zapisywaniem sesji, zwłaszcza podczas korzystania z niektórych wtyczek? Przyczyną problemu mogą być nieprawidłowe uprawnienia użytkownika w katalogu /var/lib/php/sessions/. Ale nie martw się; możesz rozwiązać ten problem za pomocą prostego polecenia.

Dostosowywanie uprawnień do katalogu

Uruchom poniższe polecenie, aby ustawić prawidłowe uprawnienia:

sudo chown -R www-data:www-data /var/lib/php/sessions/

To polecenie ustawia użytkownika i grupę www-data jako właścicieli katalogu sesji. W rezultacie WordPress może zapisywać dane sesji bez żadnych problemów. To dostosowanie jest niezbędne do bezproblemowego działania Twojej witryny WordPress, głównie jeśli używasz wtyczek obsługujących automatyczne zadania, takie jak publikowanie w mediach społecznościowych.

Rozwiązanie problemu błędów sesji PHP jest kluczem do zwiększenia wydajności witryny i poprawy komfortu użytkowania.

Rozwiązywanie pętli przekierowań HTTPS w WordPress

Jeśli Twoja witryna WordPress zostanie uwięziona w pętli przekierowań po aktywacji HTTPS, jest to prawdopodobnie spowodowane tym, że WordPress ciągle próbuje przekierować do bezpiecznej wersji HTTPS, ale pętla nigdy się nie kończy. Aby sobie z tym poradzić, możesz zmodyfikować plik wp-config.php, dodając określone wiersze kodu.

Modyfikowanie pliku wp-config.php

Wstaw następujące wiersze do pliku wp-config.php:

define('FORCE_SSL_ADMIN', true);

if (strpos($_SERVER['HTTP_X_FORWARDED_PROTO'], 'https') !== false) {
    $_SERVER['HTTPS'] = 'on';
}

Oto zestawienie działania każdej linii:

  • Pierwsza linia ustawia stałą FORCE_SSL_ADMIN na true, zapewniając, że wszystkie strony administracyjne korzystają z protokołu HTTPS.
  • Kolejny kod sprawdza, czy nagłówek HTTP_X_FORWARDED_PROTO zawiera termin „https”. Jeśli znajdzie dopasowanie, oznacza zmienną serwera HTTPS jako „włączoną”. Ta akcja informuje WordPress, że połączenie jest bezpieczne.

Integrując te linie z plikiem wp-config.php, powinieneś być w stanie uwolnić się od pętli przekierowań HTTPS i zapewnić płynne działanie witryny WordPress dzięki nowemu, bezpiecznemu połączeniu.

Napraw pętlę przekierowań nazwy domeny

Pętla przekierowań w Twojej witrynie WordPress może czasami wynikać z niezgodności między nazwą domeny określoną w pliku wp-config.php a nazwą domeny Twojej witryny. Aby rozwiązać ten problem, musisz zweryfikować i ewentualnie dostosować nazwę domeny w konfiguracji.

Sprawdzanie pliku wp-config.php

Sprawdź następujące wiersze w pliku wp-config.php:

define('WP_HOME','http://example.com');
define('WP_SITEURL','http://example.com');

Jeśli nazwa domeny nie jest zgodna z domeną Twojej witryny, popraw ją odpowiednio.

Wniosek

Po pomyślnym zainstalowaniu WordPressa w systemie Debian przy użyciu stosu LEMP możesz skorzystać z jego potężnych funkcji i solidnej wydajności. Regularnie aktualizuj swoją instalację WordPress i komponenty stosu LEMP, aby zapewnić optymalne bezpieczeństwo i funkcjonalność. Ciesz się elastycznością i rozbudowanymi możliwościami, jakie oferuje WordPress i stos LEMP do tworzenia i zarządzania swoją witryną internetową.

Joshua James
Chodź za mną
Najnowsze posty autorstwa Joshua James (widzieć wszystko)

Dodaj komentarz