Naprawianie zbyt dużej jednostki żądania 413 za pomocą WordPress | Nginx

  • Noah Scott
  • 0
  • 3675
  • 670

Ten krótki samouczek pokazuje uczniom i nowym użytkownikom, jak rozwiązać typowy błąd w WordPressie podczas próby przesłania plików, multimediów i innych danych, i wyświetla komunikat o błędzie „413 Zbyt duże żądanie”Przez Nginx…

Ten błąd, 413 Zbyt duże żądanie występuje, gdy próbujesz przesłać lub wysłać żądanie klienta, które jest zbyt duże, aby mogło zostać przetworzone przez serwer WWW, w przypadku serwera HTTP Nginx…

Jeśli ustawienie serwera ma zbyt mały limit rozmiaru żądania, Twoi użytkownicy / klienci mogą często napotkać ten błąd… Dlatego prawdopodobnie będziesz chciał dostosować ustawienia serwera WWW, aby zezwalać na większe żądania…

Jednym z typowych problemów napotykanych przez webmasterów podczas zarządzania WordPressem jest zezwolenie serwerowi na przesyłanie plików za pośrednictwem biblioteki multimediów WordPress…

WordPress umożliwia użytkownikom przesyłanie nowych plików motywów i wtyczek, jednak jeśli Twoja witryna oparta na Nginx nie jest skonfigurowana do przesyłania dużych plików, proces przesyłania zawsze kończy się niepowodzeniem.

Niektóre typowe błędy, które użytkownik napotyka podczas przesyłania plików za pomocą WordPress, to: Błąd HTTP podczas próby przesłania multimediów, przesłany plik przekracza the upload_max_filesize dyrektywy w php.ini, przekroczony maksymalny czas wykonania, wyczerpany dozwolony rozmiar pamięci i wiele więcej… Przed kontynuowaniem poniższych kroków wykonaj kopię zapasową systemu…

Krok 1: Skonfiguruj uprawnienia do katalogu WordPress

Najpierw upewnij się, że katalog, w którym działa WordPress, ma odpowiednie uprawnienia do działania serwera sieciowego Nginx. W systemach Ubuntu katalog główny prawie zawsze znajduje się pod adresem / var / www / html.

Tak więc uruchom poniższe polecenia, aby serwer WWW Nginx miał pełny dostęp do tego katalogu.

sudo chown -R www-data: www-data / var / www / html / sudo chmod -R 755 / var / www / html / 

Krok 2: Dostosuj ustawienia PHP-FPM

Następnie dostosuj ustawienia PHP-FPM, aby umożliwić przesyłanie większych plików… Domyślnie PHP-FPM może przesyłać tylko pliki o określonym rozmiarze… więc istnieje ograniczenie. Dostosuj limit rozmiaru wysyłanego pliku i inne dyrektywy w PHP-FPM.

W systemie Ubuntu 18.04 i nowszych domyślny plik konfiguracyjny PHP-FPM jest przechowywany w poniższym pliku:

/etc/php/7.x/fpm/php.ini

Znak x w powyższym wierszu może mieć wartość 0 lub 1, 2, 3 lub 4

Dlatego otwórz plik konfiguracyjny PHP-FPM, uruchamiając poniższe polecenia i dostosuj ustawienia do swojego środowiska.

sudo nano /etc/php/7.2/fpm/php.ini

Następnie przewiń plik wiersz po wierszu i dostosuj każdą dyrektywę za pomocą wartości poniżej:

memory_limit = 256 mln post_max_size = 32 mln upload_max_filesize = 100 mln file_uploads = On max_execution_time = 600 max_input_time = 600

Zapisz zmiany.

Jeśli rozmiar przesyłanego pliku jest większy niż 100 MB, następnie wyreguluj upload_max_filesize być większe niż rozmiar pliku.

Krok 3: Dostosuj konfigurację Nginx

Nginx ma również własne definicje limitów…

Jeśli nie zdefiniujesz limitu rozmiaru w konfiguracji Nginx, cokolwiek zrobisz w pliku konfiguracyjnym PHP, może nie mieć zastosowania do Nginx… Aby pozwolić Nginx na przesłanie większego pliku, otwórz konfigurację Nginx i dodaj wartości zdefiniowane poniżej:

W systemach Ubuntu domyślne pliki konfiguracji witryny Nginx są przechowywane pod adresem / etc / nginx / sites-available / default

Jeśli masz tam plik niestandardowy, dostosuj podświetlone wartości również…

serwer nasłuchuj 80; słuchaj [::]: 80; root / var / www / html / wordpress; index index.php index.html index.htm; nazwa_serwera example.com www.example.com; client_max_body_size 100M; lokalizacja / try_files $ uri $ uri / /index.php?$query_string;  lokalizacja ~ \ .php $ include snippets / fastcgi-php.conf; fastcgi_pass unix: /var/run/php/php7.1-fpm.sock; fastcgi_param SCRIPT_FILENAME $ document_root $ fastcgi_script_name; dołącz fastcgi_params; fastcgi_connect_timeout 300s; fastcgi_read_timeout 300s; fastcgi_send_timeout 300s;  

Zapisz plik i kontynuuj

Na koniec uruchom ponownie Nginx i PHP-FPM, aby nowe ustawienia zaczęły obowiązywać

sudo systemctl przeładuj nginx.service sudo systemctl przeładuj php7.2-fpm.service 

To powinno wystarczyć… Teraz idź i spróbuj przesłać żądany plik o rozmiarze mniejszym niż 100 MB

Ciesz się ~




Jeszcze bez komentarzy

Zbiór przydatnych informacji o systemie operacyjnym Linux i nowych technologiach
Świeże artykuły, praktyczne wskazówki, szczegółowe recenzje i poradniki. Poczuj się jak w domu w świecie systemu operacyjnego Linux