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 секунд, нужно понимать, что это фантастическая величина и она вам явно не нужна на сервере, но, вы можете поставить её на своё усмотрение!