NGINX 및 PHP에서 파일 업로드 크기 제한을 변경하는 방법
NGINX에서 파일 업로드 크기 제한 변경
1. NGINX 구성 파일을 엽니다. 일반적으로 /etc/nginx/nginx.conf 파일입니다.
vim /etc/nginx/nginx.conf
2. http 블록 안에 다음 라인을 추가합니다.
- http 블록 또는 server 블록에 다음 라인을 추가하거나 수정합니다. 이 예에서는 최대 파일 업로드 크기를 50MB로 설정합니다.
http {
...
client_max_body_size 50M;
...
}
3. 구성 파일을 저장하고 NGINX를 다시 로드합니다.
sudo systemctl restart nginx
PHP에서 파일 업로드 크기 제한 변경
1. PHP 구성 파일을 엽니다. 일반적으로 /etc/php/php.ini 파일입니다.
vim /etc/php/php.ini
2. upload_max_filesize 및 post_max_size 디렉티브 값을 변경합니다.
- upload_max_filesize와 post_max_size 설정을 찾아 원하는 값으로 변경합니다. 이 예에서는 최대 파일 업로드 크기를 50MB로 설정합니다.
upload_max_filesize = 20M
post_max_size = 20M
3. 구성 파일을 저장하고 PHP를 다시 시작합니다.
sudo systemctl restart php-fpm
이제 NGINX 및 PHP에서 파일 업로드 크기 제한이 변경되었습니다.
PHP에서의 최대 실행 시간 및 입력 시간 증가
파일 업로드 시간이 오래 걸리는 경우 max_execution_time 및 max_input_time 값을 늘려야 할 수도 있습니다.
1. max_execution_time 및 max_input_time 수정
- php.ini 파일에서 max_execution_time 및 max_input_time 설정을 찾아 원하는 값으로 변경합니다. 예를 들어, 각각 300초로 설정할 수 있습니다.
max_execution_time = 300
max_input_time = 300
2. PHP-FPM 재시작
- 설정 파일을 저장한 후 PHP-FPM을 재시작합니다.
sudo systemctl restart php-fpm
NGINX와 PHP의 파일 업로드 크기 제한이 성공적으로 변경되었습니다. 이 설정을 통해 더 큰 파일을 업로드할 수 있습니다. 모든 설정이 제대로 적용되었는지 확인하기 위해 서버를 재시작한 후 테스트를 수행하는 것이 좋습니다.
nginx.conf 설정
vim /etc/nginx/nginx.conf
client_max_body_size 64M;
client_body_timeout 60s;
- https://runebook.dev/ko/docs/nginx/http/ngx_http_core_module
- http://nginx.org/en/docs/http/ngx_http_core_module.html
php.ini 설정
vim /etc/php.ini
max_execution_time = 300
max_input_time = 60
memory_limit = 256M
post_max_size = 64M
file_uploads = On
upload_max_filesize = 64M
max_file_uploads = 20
Maximum execution time of each script, in seconds
max_execution_time = 300
Maximum amount of time each script may spend parsing request data.
It's a good idea to limit this time on productions servers in order to eliminate unexpectedly long running scripts.
; Note: This directive is hardcoded to -1 for the CLI SAPI
; Default Value: -1 (Unlimited)
; Development Value: 60 (60 seconds)
; Production Value: 60 (60 seconds)
max_input_time = 60
Maximum amount of memory a script may consume (128MB)
memory_limit = 256M
Maximum size of POST data that PHP will accept.
Its value may be 0 to disable the limit. It is ignored if POST data reading is disabled through enable_post_data_reading.
post_max_size = 64M
Whether to allow HTTP file uploads.
file_uploads = On
Maximum allowed size for uploaded files.
upload_max_filesize = 64M
Maximum number of files that can be uploaded via a single request
max_file_uploads = 20
'리눅스' 카테고리의 다른 글
Logrotate를 설정하는 방법 (0) | 2023.02.27 |
---|---|
[draft] 리눅스에서 새로운 글꼴을 추가하는 방법 (0) | 2023.02.26 |
[리눅스] systemd의 로깅 설정을 변경하기 (0) | 2023.02.26 |
[리눅스] tcpdump 명령어 (0) | 2023.02.26 |
fstab 파일의 필드 구성 (0) | 2023.02.26 |