Ошибки 504 и 413 при новой установке на сервере NGINX

#php #nginx #phpmyadmin #http-status-code-504 #http-status-code-413

#php #nginx #phpmyadmin #http-status-code-504 #http-status-code-413

Вопрос:

Я настроил свой первый сервер nginx, и в phpMyAdmin я получаю следующие ошибки:

  • Error 413 - Request Entity Too Large
  • Error 504 - Gateway Timeout Reloaded

Я использовал следующую строку и установил файлы nginx и php.

 sudo apt-get install nginx php7.3 php7.3-fpm php7.3-mysql php7.3-curl php7.3-gd php7.3-mbstring php7.3-cli 
       php7.3-common php7.3-curl php7.3-zip php7.3-xml php7.3-json php7.3-opcache php7.3-readline
 

Возможно, мне не нужно все, так как мое веб-приложение представляет собой простую базу в стиле CRUD на PDO, MySQL.

Я читаю на сайте, что мне нужно изменить — отредактируйте некоторые конфигурации, но я могу заставить их работать.

Должен ли я изменять их в NGINX, PHP, PHP-FPM?

Что я должен добавить / отредактировать здесь, NGINX:

 /etc/nginx/sites-enabled/default
 

или здесь:

 /etc/nginx/nginx.conf
client_max_body_size = 0; in the server section
 

Что я должен добавить / отредактировать здесь, PHP:

 /etc/php/7.3/cli/php.ini
max_execution_time = 600
upload_max_filesize = 15M
post_max_size = 15M
 

Что я должен добавить / отредактировать здесь, PHP-FPM:

 /etc/php/7.3/fpm/php.ini
request_terminate_timeout = 600
upload_max_filesize = 15M
post_max_size = 15M
 

Нужно ли мне вносить изменения в другой файл, например ExecTimeLimit 0 , в phpMyAdmin (где он находится) или любой другой?

На данный момент я нашел это….

Ответ №1:

Я выполнил эти шаги, и теперь, похоже, все работает нормально.

 ### PhpMyAdmin - Error 413(Request Entity Too Large)
### PhpMyAdmin - Error 504(Gateway Timeout Reloaded)
### Edit "Nginx" Config File:
sudo nano /etc/nginx/nginx.conf
### Add The Following Lines, Inside Http{} On Top:
# Fix Error 413: Request Entity Too Large
client_max_body_size 20M;
### Edit "Nginx/Sites-Enabled" Config File:
sudo nano /etc/nginx/sites-enabled/default
### Add The Following Lines, Inside Server{} On Top.
# Fix Error 413: Request Entity Too Large
client_max_body_size 20M;
### Edit The Following Lines, Inside Server{location ~ .php$ {}}.
    location ~ .php$ {
        include snippets/fastcgi-php.conf;
#       # With php-fpm (or other unix sockets):
        fastcgi_pass unix:/var/run/php/php7.3-fpm.sock;
        # Fix TimeOut Error   <=== Add This One ===>
        fastcgi_read_timeout 600;   <=== Add This One ===>
#       # With php-cgi (or other tcp sockets):
#       fastcgi_pass 127.0.0.1:9000;
    }
### Edit "PHP.ini" File:
sudo nano /etc/php/7.3/cli/php.ini
### Find Lines And Edit:
max_execution_time = 600
upload_max_filesize = 20M
post_max_size = 20M
### Edit "PHP-FPM" File:
sudo nano /etc/php/7.3/fpm/php.ini
### Find Lines And Edit:
max_execution_time = 600
upload_max_filesize = 20M
post_max_size = 20M
### Reload "Nginx" And "PHP7.3-FPM"(or Restart):
sudo service php7.3-fpm reload
sudo service nginx reload
 

Моя проблема должна быть решена, но если я попробовал на странице phpMyAdmin / SQL вставить 30 тысяч строк, я получаю сообщение об ошибке.

Согласно error.log

 2020/12/13 20:17:01 [error] 3920#3920: *262 upstream timed out (110: Connection timed out) while reading response header from upstream, client: 10.0.19.67, $
2020/12/13 20:33:19 [notice] 13839#13839: signal process started
2020/12/13 20:38:45 [error] 13840#13840: *264 FastCGI sent in stderr: "PHP message: PHP Fatal error:  Maximum execution time of 300 seconds exceeded in /usr$
 

Я что-то упускаю?