Nginxã®ä»çµã¿ â ç»åãè¿ãä¿ãšãã¢ããªãžæž¡ãä¿
ç»åã¯ãã¡ã€ã«ãžãååAPIã¯ã¢ããªãž
- 身è¿ãªäŸã§ä»çµã¿ã説æã§ãã
- äŸã®å ¥åãšçµæãæ¯ã¹ãæç«æ¡ä»¶ã確èªãã
ãŸãã¯ãç»åããšãååAPIãã®è¡ãå ãåãã
é販ã§ãããã®ååããŒãžãéããšããã©ãŠã¶ãŒã¯HTMLã®ã»ãã«ç»åãååããŒã¿ãååŸããããšããããŸããNginxã¯WebãµãŒããŒããªããŒã¹ãããã·ãšããŠããã®å ¥å£ãæ åœã§ããŸãã
| ãªã¯ãšã¹ã | ãã®äŸã®è¡ãå | è¿ããã® |
|---|---|---|
| /images/logo.svg | ä¿åæžã¿ãã¡ã€ã« | ããŽç»å |
| /api/products | ã¢ããªã®API | ã¢ããªãçæããååæ å ± |
ç»åã®èªã¿åºããšãDBã䜿ã£ãååæ å ±ã®çæã¯å¥ã®ä»äºã§ããNginxãäž¡æ¹ã®çªå£ã«ãªã£ãŠããååãæ€çŽ¢ããããã°ã©ã ã¯ã¢ããªåŽã«å¿ èŠã§ãã
èšå®ã®èªã¿æ¹ïŒlocationã§åœ¹å²ãåãã
次ã¯ä»çµã¿ãèªãããã®èšå®æçã§ããLinuxç°å¢ã®nginx.confã®httpå
ãžçœ®ãserverã®äŸã§ãããã ããå®å
šãªèšå®ãã¡ã€ã«ã§ã¯ãããŸãããæ¢åèšå®ãžãã®ãŸãŸè¿œèšãããšç«¶åããå Žåããããããç·Žç¿çšç°å¢ã§ç¢ºèªããŠãã ããã
server {
listen 127.0.0.1:8080;
location /images/ {
root /srv/hiyopen-site;
}
location /api/ {
proxy_pass http://127.0.0.1:3000;
}
}
ãã®äŸã§ã¯ã/images/logo.svgã/srv/hiyopen-site/images/logo.svgããèªã¿ãŸãããã¡ã€ã«ãååšããNginxãèªããæš©éãå¿
èŠã§ããrootã¯ãããã§ã¯URLã®ãã¹ããã®åŸããžä»ããŠãã¡ã€ã«ã®å Žæãæ±ºããŸãã
/api/productsã¯ã3000çªããŒãã§åãã¢ããªãžæž¡ããŸãããã®proxy_passã«ã¯ãã¹ãã»ããŒãã®åŸã«çœ®ãæãçšURIãä»ããŠããªãã®ã§ãå
ã®/api/productsãæž¡ããŸããproxy_pass http://127.0.0.1:3000/;ã®ããã«æ«å°Ÿã®/ãä»ããå Žåãšã¯ããã¹ã®æ±ããéããŸãã
listenã127.0.0.1ã«ããŠããã®ã§ããã®äŸã®å
¥å£ã¯åããã·ã³ããã®ã¢ã¯ã»ã¹çšã§ããæ¬çªã®å
¬éèšå®ã§ã¯ãTLSã»å
¬éç¯å²ã»ããã¯ãšã³ãã®ã¢ã¯ã»ã¹å¶éãå¥ã«æ±ºããŸãã
èªãããã3ã€ã®çµæã確ãããã
å°å
¥ãã詊ãå Žåã¯Nginxå
¥éãžé²ãã§ãã ãããèšå®ã䜿ããšãã¯ã察象ã®èšå®ãã¡ã€ã«ã§nginx -tãå®è¡ããåé¡ããªããã°ãã®Nginxãåèªã¿èŸŒã¿ããŸãããµãŒãã¹ç®¡çäžã§ã¯ç®¡çæ¹æ³ã確èªããŸãã
- ç»åã®URLã§ãæå³ããç»åã衚瀺ããããã
- APIã®URLã§ãã¢ããªã®å¿çãè¿ãããã¢ããªåŽã«ãåããã¹ãå±ããŠãããã
- ååšããªããã¡ã€ã«ãã忢ããã¢ããªãžã®ã¢ã¯ã»ã¹ãããã°ããåºå¥ã§ãããã
æ§ææ€æ»ã«éãããšãšãè¡ãå ã®ã¢ããªããã¡ã€ã«ãæ£åžžãªããšã¯å¥ã§ãããããã·å ã«æ¥ç¶ã§ããªãå Žåãªã©ã¯ããšã©ãŒãã°ãšã¢ããªåŽã®èµ·åç¶æ ãåãããŠç¢ºèªããŸãã
ããå°ã詳ããïŒworkerãšè¿œå ã®åœ¹å²
masterã¯èšå®ã®èªã¿èŸŒã¿ãšworkerã®ç®¡çãæ ããworkerããªã¯ãšã¹ããåŠçããŸããã€ãã³ããå©çšããŠæ¥ç¶ãæ±ãæ§æãNginxã®ç¹åŸŽã§ãããåŠçå 容ã«ãã£ãŠè² è·ã¯å€ãããŸãããåææ¥ç¶ãäœä»¶ã§ã軜ãããšã¯èšããŸãããApacheãevent MPMãªã©ãéžã¹ãããã補ååã ãã§æ§èœã決ããªãããã«ããŸãããã
è² è·åæ£ããã£ãã·ã¥ã¯ãå¿ èŠãªãšãã«èšå®ããæ©èœã§ãããã°ã€ã³å©çšè ããšã®å¿çãå ±çšãã£ãã·ã¥ãžå ¥ãããšå¥ã®å©çšè ã«æž¡ãå±éºããããããäœãå ±æããŠããããããŒãšé€å€æ¡ä»¶ãå ã«æ±ºããŸããTLSãNginxã§çµç«¯ããæ§æã§ã¯ãNginxããã¢ããªãŸã§ã®çµè·¯ã確èªããŸãã
ingress-nginxã®çµäºãšNginxæ¬äœã¯å¥
Kubernetesã³ãã¥ããã£ã®Ingress NGINXã¯2026幎3æã§ä¿å®ãçµäºããæ¹éãå ¬è¡šãããŸãããããã¯Nginxæ¬äœã®WebãµãŒããŒæ©èœãçµäºãããšããæå³ã§ã¯ãããŸãããKubernetesã§äœ¿ãå Žåã¯ãã©ã®ã³ã³ãããŒã©ãŒã®è©±ããåºå¥ããå ¬åŒã®ç§»è¡æ¡å ã確èªããŠãã ããã
èŠãæ¹ã𿬡ã®äžæ©
ãNginxãã£ãŠåºãŠããããWebã®å ¥å£ã§ãè¿ãã»æž¡ããæ¯ãåããä¿ããšæãã°ã ãããOKïŒ
Nginxå ¥éã§èªåã®ãã¡ã€ã«ãé ä¿¡ããApacheãšNginxã®æ¯èŒã§æ§æã®éããæŽçã§ããŸãã
åèè³æ
- NginxïŒBeginnerâs Guide â masterãšworkerãèšå®ã®éå±€ãéçé ä¿¡ãšåèªã¿èŸŒã¿
- NginxïŒProxy module â ãªããŒã¹ãããã·ãšURIã®æå®æç¡ã«ãããã¹ã®éã
- ApacheïŒevent MPM â ããã»ã¹ã»ã¹ã¬ããã»ã€ãã³ãåŠçãçµã¿åãããæ¹åŒ
- KubernetesïŒIngress NGINX Retirement â 2026幎3æã®ä¿å®çµäºæ¹éãšç§»è¡æ¡å