216.73.216.217 TODAY : 4,551

PHP ์˜จ๋ผ์ธ ๊ฐ•์˜

 > 

PHP - ๊ณ ๊ธ‰

๐Ÿ“š PHP ๊ณ ๊ธ‰ - 7์ฃผ์ฐจ: ์„ฑ๋Šฅ ์ตœ์ ํ™” ๋ฐ ๋””๋ฒ„๊น… - 03 PHP-FPM ์„ค์ • ์ตœ์ ํ™”

๐Ÿ“š PHP ๊ณ ๊ธ‰ - 7์ฃผ์ฐจ: ์„ฑ๋Šฅ ์ตœ์ ํ™” ๋ฐ ๋””๋ฒ„๊น… - 03 PHP-FPM ์„ค์ • ์ตœ์ ํ™”
ํ‰์  10.0 ๋ผ์ด์„ผ์Šค free
์‚ฌ์šฉ์žํ‰์  10.0 ์šด์˜์ฒด์ œ
๋‹ค์šด๋กœ๋“œ 1 ํŒŒ์ผํฌ๊ธฐ 0
์ œ์ž‘์‚ฌ LUZENSOFT ๋“ฑ๋ก์ผ 2025-09-23 22:29:35
์กฐํšŒ์ˆ˜ 12
- ์„ค๋ช…

PHP-FPM ์ด๋ž€?

uploadImage

#PHP-FPM(FastCGI Process Manager) ์€ PHP ์›น ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์˜ ์„ฑ๋Šฅ์„ ํ–ฅ์ƒ์‹œํ‚ค๊ธฐ ์œ„ํ•œ #FastCGI ๊ตฌํ˜„์ฒด์ž…๋‹ˆ๋‹ค. Apache๋‚˜ Nginx ๊ฐ™์€ #์›น_์„œ๋ฒ„ ๋Š” ์ž์ฒด์ ์œผ๋กœ PHP ์ฝ”๋“œ๋ฅผ ์‹คํ–‰ํ•˜์ง€ ๋ชปํ•ฉ๋‹ˆ๋‹ค. ๋Œ€์‹ , ์›น ์„œ๋ฒ„๋Š” PHP-FPM์— ์š”์ฒญ์„ ์ „๋‹ฌํ•˜๊ณ , PHP-FPM์€ ์ด ์š”์ฒญ์„ ์ฒ˜๋ฆฌํ•œ ํ›„ ๊ฒฐ๊ณผ๋ฅผ ๋‹ค์‹œ ์›น ์„œ๋ฒ„๋กœ ๋ฐ˜ํ™˜ํ•˜๋Š” ๋ฐฉ์‹์œผ๋กœ ๋™์ž‘ํ•ฉ๋‹ˆ๋‹ค. PHP-FPM์€ ์—ฌ๋Ÿฌ ๊ฐœ์˜ #ํ”„๋กœ์„ธ์Šค(Worker Process)๋ฅผ ๊ด€๋ฆฌํ•˜๋ฉฐ, ์ด ํ”„๋กœ์„ธ์Šค๋“ค์ด ์‹ค์ œ PHP ์š”์ฒญ์„ ์ฒ˜๋ฆฌํ•ฉ๋‹ˆ๋‹ค. ๋”ฐ๋ผ์„œ PHP-FPM ์„ค์ •์„ ์ตœ์ ํ™”ํ•˜๋Š” ๊ฒƒ์€ #PHP_์„ฑ๋Šฅ_์ตœ์ ํ™” ์˜ ํ•ต์‹ฌ์ ์ธ ๋ถ€๋ถ„์ž…๋‹ˆ๋‹ค. ๐Ÿš€



PHP-FPM ์ฃผ์š” ์„ค์ • ํ•ญ๋ชฉ

uploadImage

PHP-FPM์˜ ์„ฑ๋Šฅ์„ ๊ฒฐ์ •ํ•˜๋Š” ์ฃผ์š” ์„ค์ •์€ www.conf ํŒŒ์ผ์— ์žˆ์Šต๋‹ˆ๋‹ค. ์ด ํŒŒ์ผ์€ ์ผ๋ฐ˜์ ์œผ๋กœ /etc/php/8.1/fpm/pool.d/ ๋˜๋Š” C:phpphp-fpm.conf ์™€ ๊ฐ™์€ ๊ฒฝ๋กœ์— ์œ„์น˜ํ•ฉ๋‹ˆ๋‹ค. ์ฃผ์š” ์„ค์ • ํ•ญ๋ชฉ๋“ค์€ ๋‹ค์Œ๊ณผ ๊ฐ™์Šต๋‹ˆ๋‹ค.


pm (Process Manager)


์ด ์„ค์ •์€ PHP-FPM์ด ์›Œ์ปค ํ”„๋กœ์„ธ์Šค๋ฅผ ๊ด€๋ฆฌํ•˜๋Š” ๋ฐฉ์‹์„ ์ •์˜ํ•ฉ๋‹ˆ๋‹ค. ์„ธ ๊ฐ€์ง€ ์ฃผ์š” ๋ชจ๋“œ๊ฐ€ ์žˆ์Šต๋‹ˆ๋‹ค.

  • static: ์›Œ์ปค ํ”„๋กœ์„ธ์Šค ์ˆ˜๋ฅผ ๊ณ ์ •ํ•ฉ๋‹ˆ๋‹ค. ์„œ๋ฒ„ ๋ฆฌ์†Œ์Šค๊ฐ€ ์ถฉ๋ถ„ํ•˜๊ณ  ํŠธ๋ž˜ํ”ฝ์ด ์˜ˆ์ธก ๊ฐ€๋Šฅํ•œ ๊ฒฝ์šฐ์— ๊ฐ€์žฅ ํšจ์œจ์ ์ž…๋‹ˆ๋‹ค.

  • ondemand: ์š”์ฒญ์ด ์˜ฌ ๋•Œ๋งŒ ์›Œ์ปค ํ”„๋กœ์„ธ์Šค๋ฅผ ์ƒ์„ฑํ•ฉ๋‹ˆ๋‹ค. ํŠธ๋ž˜ํ”ฝ์ด ์ ์€ ์›น์‚ฌ์ดํŠธ์—์„œ ๋ฉ”๋ชจ๋ฆฌ๋ฅผ ์ ˆ์•ฝํ•˜๋Š” ๋ฐ ์œ ์šฉํ•ฉ๋‹ˆ๋‹ค.

  • dynamic: ์š”์ฒญ๋Ÿ‰์— ๋”ฐ๋ผ ์›Œ์ปค ํ”„๋กœ์„ธ์Šค ์ˆ˜๋ฅผ ์œ ๋™์ ์œผ๋กœ ์กฐ์ ˆํ•ฉ๋‹ˆ๋‹ค. ๋Œ€๋ถ€๋ถ„์˜ ์›น์‚ฌ์ดํŠธ์— ์ ํ•ฉํ•˜๋ฉฐ, ์ตœ๋Œ€/์ตœ์†Œ ํ”„๋กœ์„ธ์Šค ์ˆ˜๋ฅผ ์„ค์ •ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

Ini, TOML

pm = dynamic
pm.max_children = 50
pm.start_servers = 10
pm.min_spare_servers = 5
pm.max_spare_servers = 15


pm.max_children


dynamic ๋˜๋Š” static ๋ชจ๋“œ์—์„œ ์ƒ์„ฑํ•  ์ˆ˜ ์žˆ๋Š” #์ตœ๋Œ€_์›Œ์ปค_ํ”„๋กœ์„ธ์Šค ์ˆ˜์ž…๋‹ˆ๋‹ค. ์ด ๊ฐ’์€ ์„œ๋ฒ„์˜ #๋ฉ”๋ชจ๋ฆฌ_์šฉ๋Ÿ‰ ์„ ๊ณ ๋ คํ•˜์—ฌ ์‹ ์ค‘ํ•˜๊ฒŒ ์„ค์ •ํ•ด์•ผ ํ•ฉ๋‹ˆ๋‹ค. (pm.max_children * ํ‰๊ท  PHP ํ”„๋กœ์„ธ์Šค ๋ฉ”๋ชจ๋ฆฌ ์‚ฌ์šฉ๋Ÿ‰) ์ด ์„œ๋ฒ„์˜ ์ด ๋ฉ”๋ชจ๋ฆฌ๋ฅผ ์ดˆ๊ณผํ•˜์ง€ ์•Š๋„๋ก ํ•ด์•ผ ํ•ฉ๋‹ˆ๋‹ค.



pm.max_requests


ํ•˜๋‚˜์˜ ์›Œ์ปค ํ”„๋กœ์„ธ์Šค๊ฐ€ ์ฒ˜๋ฆฌํ•  ์ˆ˜ ์žˆ๋Š” #์ตœ๋Œ€_์š”์ฒญ_์ˆ˜ ์ž…๋‹ˆ๋‹ค. ์ด ์š”์ฒญ ์ˆ˜๋ฅผ ์ดˆ๊ณผํ•˜๋ฉด ํ•ด๋‹น ์›Œ์ปค ํ”„๋กœ์„ธ์Šค๋Š” ์žฌํ™œ์šฉ(์žฌ์‹œ์ž‘)๋ฉ๋‹ˆ๋‹ค. ์ด๋Š” ๋ฉ”๋ชจ๋ฆฌ ๋ˆ„์ˆ˜(memory leak)๋ฅผ ๋ฐฉ์ง€ํ•˜๋Š” ๋ฐ ์œ ์šฉํ•ฉ๋‹ˆ๋‹ค. 0์œผ๋กœ ์„ค์ •ํ•˜๋ฉด ๋ฌดํ•œ๋Œ€์ž…๋‹ˆ๋‹ค.

Ini, TOML

pm.max_requests = 500



request_terminate_timeout


์Šคํฌ๋ฆฝํŠธ๊ฐ€ ์‹คํ–‰๋  ์ˆ˜ ์žˆ๋Š” #์ตœ๋Œ€_์‹œ๊ฐ„(์ดˆ)์ž…๋‹ˆ๋‹ค. ์ด ์‹œ๊ฐ„์„ ์ดˆ๊ณผํ•˜๋ฉด PHP-FPM์€ ํ•ด๋‹น ์Šคํฌ๋ฆฝํŠธ๋ฅผ ๊ฐ•์ œ๋กœ ์ข…๋ฃŒํ•˜๊ณ  ๊ฒฝ๊ณ  ๋กœ๊ทธ๋ฅผ ๋‚จ๊น๋‹ˆ๋‹ค. ๋ฌดํ•œ์ • ์‹คํ–‰๋˜๋Š” ์Šคํฌ๋ฆฝํŠธ๋กœ ์ธํ•ด ์›Œ์ปค ํ”„๋กœ์„ธ์Šค๊ฐ€ ๋ฉˆ์ถ”๋Š” ๊ฒƒ์„ ๋ฐฉ์ง€ํ•ฉ๋‹ˆ๋‹ค.

Ini, TOML

request_terminate_timeout = 30



PHP-FPM ์„ค์ • ์ตœ์ ํ™” ์‹ค์Šต

uploadImage


1. pm ๋ชจ๋“œ ์„ ํƒ


  • ์ €์‚ฌ์–‘ ์„œ๋ฒ„/๋‚ฎ์€ ํŠธ๋ž˜ํ”ฝ: pm = ondemand

  • ์ผ๋ฐ˜์ ์ธ ์›น์‚ฌ์ดํŠธ: pm = dynamic

  • ๊ณ ์ •๋œ ํŠธ๋ž˜ํ”ฝ์˜ ์ „์šฉ ์„œ๋ฒ„: pm = static


2. pm.max_children ๊ณ„์‚ฐ


pm.max_children ๊ฐ’์„ ์„ค์ •ํ•˜๊ธฐ ์œ„ํ•ด ๋‹ค์Œ ๊ณต์‹์„ ํ™œ์šฉํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

pm.max_children = (์„œ๋ฒ„ ์ด ๋ฉ”๋ชจ๋ฆฌ - ์‹œ์Šคํ…œ ์˜ˆ์•ฝ ๋ฉ”๋ชจ๋ฆฌ) / PHP ์›Œ์ปค ํ”„๋กœ์„ธ์Šค ํ‰๊ท  ๋ฉ”๋ชจ๋ฆฌ

๋จผ์ €, php.ini์˜ memory_limit ๊ฐ’์„ ํ™•์ธํ•˜๊ฑฐ๋‚˜, ps aux --sort -rss ๋ช…๋ น์–ด๋ฅผ ํ†ตํ•ด ์‹ค์ œ PHP-FPM ์›Œ์ปค ํ”„๋กœ์„ธ์Šค์˜ ๋ฉ”๋ชจ๋ฆฌ ์‚ฌ์šฉ๋Ÿ‰์„ ํ™•์ธํ•ฉ๋‹ˆ๋‹ค.


3. ์„ค์ • ๋ณ€๊ฒฝ ๋ฐ ์ ์šฉ


์„ค์ • ํŒŒ์ผ์„ ์ˆ˜์ •ํ•œ ํ›„์—๋Š” ๋ฐ˜๋“œ์‹œ PHP-FPM ์„œ๋น„์Šค๋ฅผ ์žฌ์‹œ์ž‘ํ•ด์•ผ ๋ณ€๊ฒฝ ์‚ฌํ•ญ์ด ์ ์šฉ๋ฉ๋‹ˆ๋‹ค.

Bash

# Ubuntu/Debian
sudo systemctl restart php8.1-fpm

# CentOS/RHEL
sudo systemctl restart php-fpm



๋งˆ์น˜๋ฉฐ


#PHP-FPM_์„ค์ •_์ตœ์ ํ™” ๋Š” ์›น ์„œ๋ฒ„์™€ PHP ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜ ๊ฐ„์˜ ์„ฑ๋Šฅ์„ ๊ทน๋Œ€ํ™”ํ•˜๋Š” ์ค‘์š”ํ•œ ์ž‘์—…์ž…๋‹ˆ๋‹ค. ์˜ฌ๋ฐ”๋ฅธ ์„ค์ •์„ ํ†ตํ•ด ์„œ๋ฒ„ ๋ฆฌ์†Œ์Šค๋ฅผ ํšจ์œจ์ ์œผ๋กœ ์‚ฌ์šฉํ•˜๊ณ , ์‚ฌ์šฉ์ž์—๊ฒŒ ๋” ๋น ๋ฅด๊ณ  ์•ˆ์ •์ ์ธ ์„œ๋น„์Šค๋ฅผ ์ œ๊ณตํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ๐Ÿ’ป




50๋งŒ๊ฐœ IP๋ฅผ ๋ณด์œ ! ์‚ฌ์šฉ์ด๋ ฅ ์—†๋Š” IP์ œ๊ณต ๊ฐ„ํŽธ์‚ฌ์šฉ ๋ฌด๋ฃŒํ…Œ์ŠคํŠธ OK

https://vpn.luzensoft.com