Jak skonfigurować Nginx dla strony PHP

W tym artykule pokazaliśmy, jak skonfigurować stronę Nginx dla PHP w CentOS.

W tym samouczku zainstalowaliśmy NGINX. Ten samouczek obejmie podstawową konfigurację serwera WWW NGINX do przetwarzania aplikacji PHP i serwera ich na porcie 80. Zalecane jest zapoznanie się z NGINX i PHP-FPM.

Warunki wstępne

  • Serwer dedykowany lub w chmurze z zainstalowanym CentOS.
  • NGINX zainstalowany na CentOS.
  • Zainstalowano PHP.
  • SSH jako użytkownik root (możesz użyć zwykłego użytkownika z prawami sudoer, użyj 'sudo' z każdym poleceniem).

Oto artykuły dotyczące instalacji Nginx i instalacji PHP .

Po zainstalowaniu obu, otwórz główny plik konfiguracyjny PHP-fpm:

# vi /etc/php.ini

Szukamy parametru, który ustawia cgi.fix_pathinfo . Zostaniemy odkomentowani, usuwając średnik(;) i ustawiając na 0.

Jest to bardzo niebezpieczne ustawienie, ponieważ mówi PHP, aby spróbował wykonać najbliższy plik, jaki może znaleźć, jeśli plik PHP nie pasuje dokładnie. Zasadniczo pozwoliłoby to użytkownikom na tworzenie żądań PHP w sposób, który umożliwiłby im wykonywanie skryptów, których nie powinni mieć do wykonania.

Zmienimy więc oba te warunki, odkomentowując linię i ustawiając ją na „0” w ten sposób:

cgi.fix_pathinfo=0

Gdy skończysz, zapisz i wyjdź.

Następnie uruchom ponownie usługę php-fpm:

# systemctl restart php-fpm

Skonfiguruj blok serwera Nginx do korzystania z procesora PHP

# vi /etc/nginx/sites-available/default

uwaga: nazwa pliku bloku serwera może być inna, jak pokazano powyżej.

Domyślny blok serwera Ngnix może wyglądać tak:

server {
listen 80 default_server;
listen [::]:80 default_server ipv6only=on;

root /usr/share/nginx/html;
index index.html index.htm;

server_name localhost;

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

  • Tutaj musimy dodać dyrektywę index.php index, aby umożliwić serwowanie plików PHP, gdy wymagany jest katalog.
  • Zmodyfikuj dyrektywę nazwa_serwera. Zastąp localhost nazwą swojej domeny FQDN lub publicznym adresem IP.
  • Dodaj dyrektywę try_files, aby upewnić się, że Nginx nie przekazuje złych żądań do naszego procesora PHP.

Blok serwera wygląda tak:

server {
listen 80 default_server;
listen [::]:80 default_server ipv6only=on;

root /usr/share/nginx/html;
index index.php index.html index.htm;

server_name server_domain_name_or_IP;

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_split_path_info ^(.+\.php)(/.+)$;
fastcgi_pass unix:/var/run/php5-fpm.sock;
fastcgi_index index.php;
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
include fastcgi_params;
}
}

Skonfiguruj jak powyższe zmiany, teraz zapisz i wyjdź z pliku.

Uruchom ponownie Ngnix, aby wprowadzić niezbędne zmiany:

# systemctl restart nginx

Teraz utwórz plik testowy PHP:

# vi /usr/share/nginx/html/info.php

Dodaj prawidłowy kod PHP, który zwraca sformatowane informacje o naszym serwerze:

<>
phpinfo();
?>

Zapisz i wyjdź.

To tyle, że wykonaliśmy wymaganą konfigurację oraz modyfikacje.

Na koniec przejdźmy do utworzonego wcześniej pliku info.php:

https://server_domain_name_or_IP/info.php

Powinieneś zobaczyć stronę internetową, która została wygenerowana przez PHP z informacjami o twoim serwerze.

Jeśli widzisz stronę informacyjną PHP wygenerowaną przez PHP, oznacza to, że pomyślnie skonfigurowałeś przetwarzanie PHP za pomocą Nginx.

Na razie usuń plik, wpisując:

sudo rm /usr/share/nginx/html/info.php

W tym artykule zobaczyliśmy, jak nasi inżynierowie pomocy technicznej konfigurują Nginx dla strony PHP.


Jak rozwiązać problemy z WordPress 5.0

Jak rozwiązać problemy z WordPress 5.0

WordPress 5.0 jest wreszcie wdrażany i zapewnia zupełnie nowe wrażenia podczas edycji z Gutenberg

Jak odświeżyć elementy folderu w systemie Windows 11?

Jak odświeżyć elementy folderu w systemie Windows 11?

W przypadku braku opcji Odśwież w menu kontekstowym, oto jak możesz odświeżyć elementy w Eksploratorze plików w systemie Windows 11.

Jak ustawić klasyczny edytor jako domyślny edytor w WordPressie zamiast Gutenberga?

Jak ustawić klasyczny edytor jako domyślny edytor w WordPressie zamiast Gutenberga?

Edytor Gutenberg wkrótce stanie się domyślnym edytorem w WordPress. Będziesz mieć możliwość wybrania Edytora klasycznego

🔧 NAPRAW: Wygląda na to, że w Twojej instalacji PHP brakuje rozszerzenia MySQL, które jest wymagane przez WordPress

🔧 NAPRAW: Wygląda na to, że w Twojej instalacji PHP brakuje rozszerzenia MySQL, które jest wymagane przez WordPress

Chcesz uruchomić samodzielnie zarządzaną witrynę WordPress? Świetny. Dowiesz się z miliona rzeczy. Jedna z krytycznych części ustawienia

NAPRAW: „Edytor napotkał nieoczekiwany błąd” w WordPressie po aktualizacji

NAPRAW: „Edytor napotkał nieoczekiwany błąd” w WordPressie po aktualizacji

Nie możesz napisać nowego posta za pomocą nowego edytora bloków w WordPressie? Są szanse, że dostaniesz „Edytor

Jak wyłączyć edytor bloków i zainstalować klasyczny edytor w WordPress 5.0

Jak wyłączyć edytor bloków i zainstalować klasyczny edytor w WordPress 5.0

Począwszy od WordPress 5.0, domyślnym edytorem w WordPressie jest nowy edytor Block. Nowy edytor jest radykalnie inny

Jak naprawić błąd sortowania „utf8mb4_0900_ai_ci” podczas importowania bazy danych WordPress?

Jak naprawić błąd sortowania „utf8mb4_0900_ai_ci” podczas importowania bazy danych WordPress?

Jeśli zmieniasz instalację WordPressa z serwera MySQL 8 na MySQL 5.7 (lub poniżej), najprawdopodobniej napotkasz

Jak włączyć krótkie tagi PHP

Jak włączyć krótkie tagi PHP

W tym artykule omówiliśmy, jak włączyć krótkie tagi PHP. PHP parsuje plik używając znaczników otwierających i zamykających, które wyglądają jak . Aby włączyć krótkie tagi PHP

Skonfiguruj mod_evasive, aby zapobiec atakom DoS i DDoS na CentOS

Skonfiguruj mod_evasive, aby zapobiec atakom DoS i DDoS na CentOS

W tym artykule dowiemy się, jak zainstalować i skonfigurować mod_evasive, aby zapobiec atakom DoS i DDoS na CentOS. Moduł mod_evasive Apache.

Jak zainstalować PHP z PHP-FPM dla NGINX na CentOS

Jak zainstalować PHP z PHP-FPM dla NGINX na CentOS

jak zainstalować PHP z PHP-FPM dla NGINX na CentOS. Podstawowa konfiguracja serwera WWW NGINX do obsługi aplikacji PHP i ich serwera na porcie 80.