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
'리눅스' 카테고리의 다른 글
[Jenkins] Jenkins로 CI/CD 파이프라인을 구축하는 방법 (0) | 2021.09.28 |
---|---|
tee 명령어 (0) | 2021.09.28 |
[Jenkins] Jenkins에서 GitLab Webhook을 구성하는 방법(자동빌드) (0) | 2021.09.27 |
[Jenkins] Jenkins와 Slack를 연동하여 알림받기 (0) | 2021.09.24 |
[Jenkins] Jenkins 이용하여 PHP 소스 배포하기 (0) | 2021.09.24 |