Nginx

Директива client_max_body_size задаёт максимально допустимый размер тела запроса клиента, указываемый в строке "Content-Length" в заголовке запроса. Если размер больше заданного, то клиенту возвращается ошибка "Request Entity Too Large" (413). Следует иметь в виду, что браузеры не умеют корректно показывать эту ошибку.

sudo nano /etc/nginx/nginx.conf 

Далее находим или вставляем в секцию http следующую строчку:

client_max_body_size 100m;

После чего нужно будет не забыть перезагрузить nginx:

sudo service nginx reload

Apache/Php

Нужно изменить в php.ini сервера максимально разрешенный объём загружаемых файлов на нужное значение и  перезагрузить apache. Это параметры upload_max_filesize и post_max_size.

sudo nano /etc/php/8.1/apache2/php.ini

Находим и изменяем следующую директиву:


upload_max_filesize 100M

и эту:

post_max_size 100M

Сохраняем файл и перезагружаем apache:

sudo service apache2 reload

Nginx: timeout

Бывает такое, что загружаешь большой файл, а сайт отваливается по таймауту:

504 Gateway Time-out
nginx

Довольно неприятная ситуация. Ты сидишь и думаешь, а загрузился ли твой файл или нужно заново грузить... Так вот, есть и под это директива в nginx

sudo nano /etc/nginx/sites-available/yourdomain.ru

Добавляем/изменяем в секции location / {} следующие строчки (время в секундах):


location / {
...
proxy_connect_timeout 500;
proxy_send_timeout 500;
proxy_read_timeout 500;
...
}

Я указал 500 секунд, нужно понимать, что это фантастическая величина и она вам явно не нужна на сервере, но, вы можете поставить её на своё усмотрение!