¤º®e¤j¿û
³o¬O¤@³¡°ò©óNginx·sª©¥»©M¶³ì¥ÍÀ³¥Î³õ´º¨t²ÎÁ¿¸ÑNginxªºµÛ§@¡A¬O§@ªÌ¤Q§E¦~¹Bºû¸gÅ窺Á`µ²¡C¥»®Ñ±qÀ³¥Î¡B¹Bºû¥H¤Î»PKubernetes©M·LªA°È¶°¦¨3Óºû«×¹ïNginxªº°ò¦ª¾ÃÑ¡B¤u§@ì²z¡B®Ö¤ßÀ³¥Î¡B¹BºûºÞ²z¡B¶°¦¨ÂX®iµ¥«ÂI¤º®e¶i¦æ¤F¥þ±¡B²Ó½oªºÁ¿¸Ñ¡C§¹¥þ¥H¹ê¾Ô¬°¾É¦V¡A¥]§t¤j¶qªº°t¸m®×¨Ò©M¥Ü¨Ò¥N½X¡A¯àÀ°§UŪªÌ§Ö³t´x´¤¨Ã¦b¹ê»Ú¤u§@¤¤¼ô½mÀ³¥ÎNginx¡C
¥»®Ñ¦@13³¹¡A¤À¬°4Ó³¡¤À¡C
²Ä¤@³¡¤À¡GNginx¤¶²Ð¡]²Ä1?4³¹¡^
º¥ý¡A²n¤ÀªR¤FNginxªº¬[ºc¯SÂI¤Î¹ê²{ì²z¡F¨ä¦¸¡AÁ¿¸Ñ¤FNginx¤Î¨äl¥Íª©¥»Tengine¡BOpenRestyªº½sĶ»P³¡¸p¡F±µµÛ¡A¥þ±¤¶²Ð¤FNginxªº®Ö¤ß°t¸m«ü¥O¡F³Ì«á¡AÁ¿¸Ñ¤F°ÊºA½áÈ¡B³X°Ý±±¨î©M¼Æ¾Ú³B²z³o3ÓNginxªºHTTP¥\¯à¼Ò¶ô°t¸m«ü¥O¡C
²Ä¤G³¡¤À¡GÀ³¥Î¹ê¾Ô¡]²Ä5?8³¹¡^
¤À§O¤¶²ÐNginx ¦bWebªA°È¡B¥N²zªA°È¡B½w¦sªA°È©Mt¸ü§¡¿Åµ¥¤è±ªºÀ³¥Î¹ê¾Ô¡A¹ï©ó©Ò¯A¤Îªº¨CÓ¼Ò¶ô¡A¤£¶È¸Ô²Ó¤ÀªR¤F¬ÛÃöªº§Þ³N¯SÂI¡AÁÙµ¹¥X¤F¨ãÅ骺°t¸m«ü¥O©M°t¸m¼Ë¨Ò¡C
²Ä¤T³¡¤À¡G¹BºûºÞ²z¡]²Ä9?11³¹¡^
º¥ý¤¶²ÐNginxªº¤é»x°t¸m¤Î°ò©óELKªº¤é»x¤ÀªR¡A¨ä¦¸Á¿¸ÑNginxªºª¬ºAºÊ±±°t¸m¡A¥H¤Î¦p¦ó§Q¥ÎºÊ±±¤u¨ãPrometheus¡BZabbix¹ê²{¹ïNginxªººÊ±±ºÞ²z¡F³Ì«á¤¶²Ð¦p¦ó°ò©óLVS¡BKeepalived·f«ØNginx¶°¸st¸ü§¡¿Å¬[ºc¡A¥H¤Î¦p¦óµ²¦XJenkins¡BGitLab©MAnsible§Ö³t·f«ØWeb¤ÆªºNginx¶°¸s°t¸mºÞ²z®Ø¬[¡C
²Ä¥|³¡¤À¡GNginx»PKubernetes©M·LªA°ÈªºÀ³¥Î¶°¦¨¡]²Ä12¡B13³¹¡^
¤À§O¤¶²ÐNginx¦bKubernetes¡B·LªA°È¬[ºc¤¤ªºÀ³¥Î¡A¥]¬A¦bKubernetes¤¤Nginx Ingressªº³¡¸p¡BºÞ²z»P°t¸m¡A¥H¤Î°ò©óOpenRestyªº¶}·½·LªA°ÈºôÃö³nÅéKongªº³¡¸p»PÀ³¥Î¡C
§@ªÌ¤¶²Ð
¤ý¤pªF|³d½s:ùµü«G
¤ý¤pªF¡A¸ê²`¹Bºû±M®a¡A¦³¤Q§E¦~ªº¤¬Ápºô¥ø·~¹Bºû©M¬[ºc¸gÅç¡A¾Õªø¦øªA¾¹Àu¤Æ¡B¤j³W¼Ò¶°¸sºÞ²z¡B¶}·½¤u¨ãÀ³¥Î©M·~°È¬G»Ù³B²zµ¥¡C
´¿´N¾¤_¤j²³ÂIµûµ¥ª¾¦W¤¬Ápºô¤½¥q¡AEXIN »{ÃÒDevOps Master¡A±Mµù¤_¹Bºû¬[ºcÀu¤Æ¡B¦Û°Ê¤Æ¹Bºû¥H¤Î¹Bºû¤u§@ªºDevOpsªv²z¡A¼ö°J©ó¦UºØ¶}·½§Þ³NªºÀ³¥Î¹ê½î»P³Ð·s¡C
¥Ø¿ý
²Ä1³¹ Nginx·§z
1.1 Nginxªº¤£¦Pª©¥»
1.1.1 ¶}·½ª©Nginx
1.1.2 °Ó·~ª©Nginx Plus
1.1.3 ¤À¤äª©¥»Tengine
1.1.4 ÂX®iª©¥»OpenResty
1.2 Nginx·½½X¬[ºc²LªR
1.2.1 ¦h¶iµ{¼Ò«¬
1.2.2 ¤u§@¬y¾÷¨î
1.2.3 ¼Ò¶ô¤Æ
²Ä2³¹ Nginx½sĶ¤Î³¡¸p
2.1 ½sĶÀô¹Ò·Ç³Æ
2.1.1 ¾Þ§@¨t²Îªº·Ç³Æ
2.1.2 Linux¤º®Ö°Ñ¼Æ
2.2 Nginx·½½X½sĶ
2.2.1 Nginx·½½XÀò¨ú
2.2.2 ½sͰt¸m°Ñ¼Æ
2.2.3 ¥N½X½sĶ
2.2.4 ²K¥[²Ä¤T¤è¼Ò¶ô
2.3 Tengine·½½X½sĶ
2.3.1 Tengine·½½XÀò¨ú
2.3.2 ½sͰt¸m°Ñ¼Æ
2.3.3 ¥N½X½sĶ
2.3.4 Tengine¶°¦¨ªº¼Ò¶ô
2.4 OpenResty·½½X½sĶ
2.4.1 OpenResty·½½XÀò¨ú
2.4.2 ½sͰt¸m°Ñ¼Æ
2.4.3 ¥N½X½sĶ
2.4.4 OpenResty¶°¦¨ªº¼Ò¶ô
2.5 Nginx³¡¸p
2.5.1 Àô¹Ò°t¸m
2.5.2 ©R¥O¦æ°Ñ¼Æ
2.5.3 µù¥U¨t²ÎªA°È
2.6 NginxªºDocker®e¾¹¤Æ³¡¸p
2.6.1 Docker²¤¶
2.6.2 DockerÀô¹Ò¦w¸Ë
2.6.3 Dockerfile±`¥Î©R¥O¤Î½s¼g
2.6.4 Nginx Docker¹B¦æ
²Ä3³¹ Nginx®Ö¤ß°t¸m«ü¥O
3.1 Nginx°t¸m¤å¥ó¸ÑªR
3.1.1 °t¸m¤å¥ó¥Ø¿ý
3.1.2 °t¸m¤å¥óµ²ºc
3.1.3 °t¸m¤å¥ó¤¤ªºp¶q³æ¦ì
3.1.4 °t¸m¤å¥ó¤¤ªº«¢§Æªí
3.2 Nginxªº¶iµ{®Ö¤ß°t¸m«ü¥O
3.2.1 ¶iµ{ºÞ²z
3.2.2 ¶iµ{½ÕÀu
3.2.3 ¶iµ{½Õ¸Õ
3.2.4 ¨Æ¥ó³B²z
3.2.5 ®Ö¤ß«ü¥O°t¸m¼Ë¨Ò
3.3 HTTP®Ö¤ß°t¸m«ü¥O
3.3.1 ªì©l¤ÆªA°È
3.3.2 HTTP½Ð¨D³B²z
3.3.3 ³X°Ý¸ô¥Ñlocation
3.3.4 ³X°Ý«¼grewrite
3.3.5 ³X°Ý±±¨î
3.3.6 ¼Æ¾Ú³B²z
3.3.7 Ãö³¬³s±µ
3.3.8 ¤é»x°O¿ý
3.3.9 HTTP®Ö¤ß°t¸m¼Ë¨Ò
²Ä4³¹ Nginx HTTP¼Ò¶ô¸Ô¸Ñ
4.1 °ÊºA½áÈ¥\¯à¼Ò¶ô
4.1.1 ®Ú¾ÚÂsÄý¾¹°ÊºA½áÈ
4.1.2 ®Ú¾ÚIP°ÊºA½áÈ
4.1.3 ®Ú¾ÚIP°ÊºAÀò¨ú«°¥««H®§
4.1.4 ¤ñ¨Ò¤À°t½áÈ
4.1.5 ÅܼƬM®g½áÈ
4.2 ³X°Ý±±¨î¥\¯à¼Ò¶ô
4.2.1 ³X°ÝÃè¹³¼Ò¶ô
4.2.2 referer½Ð¨DÀY±±¨î¼Ò¶ô
4.2.3 ³s±µ®ÕÅç¼Ò¶ô
4.2.4 ·½IP³X°Ý±±¨î¼Ò¶ô
4.2.5 °ò¥»»{ÃÒ¼Ò¶ô
4.2.6 »{ÃÒÂàµo¼Ò¶ô
4.2.7 ¥Î¤ácookie¼Ò¶ô
4.2.8 ¨Öµo³s±µ¼Æ¨î¼Ò¶ô
4.2.9 ½Ð¨DÀW²v¨î¼Ò¶ô
4.3 ¼Æ¾Ú³B²z¥\¯à¼Ò¶ô
4.3.1 º¶³B²z
4.3.2 ¹Ï¤ù³B²z
4.3.3 ÅTÀ³³B²z
4.3.4 ¼Æ¾Ú×§ï
4.3.5 gzipÀ£ÁY
²Ä5³¹ Nginx WebªA°ÈÀ³¥Î¹ê¾Ô
5.1 ÀRºA¤å¥ó¦øªA¾¹ªº·f«Ø
5.1.1 ÀRºAWeb¦øªA¾¹
5.1.2 ¤å¥ó¤U¸ü¦øªA¾¹
5.1.3 °°°ÊºASSI¦øªA¾¹
5.2 HTTPS¦w¥þ¦øªA¾¹ªº·f«Ø
5.2.1 °t¸m«ü¥O
5.2.2 HTTPS°ò¥»°t¸m
5.2.3 HTTPS±KÆ_¥æ´«ºtºâªk
5.2.4 HTTPS·|¸Ü½w¦s
5.2.5 HTTPSÂù¦V»{ÃÒ°t¸m
5.2.6 HTTPS¦Q¾PÃҮѰt¸m
5.2.7 HTTPS°t¸m¼Ë¨Ò
5.3 PHPºô¯¸·f«Ø
5.3.1 FastCGI¼Ò¶ô«ü¥O
5.3.2 PHPÀô¹Ò¦w¸Ë
5.3.3 PHPºô¯¸°t¸m¼Ë¨Ò
5.3.4 FastCGI¶°¸st¸ü¤Î½w¦s
5.4 Pythonºô¯¸ªº·f«Ø
5.4.1 CGI¡BFastCGI¡BSCGI¡BWSGI
5.4.2 uWSGI¼Ò¶ô«ü¥O
5.4.3 Pythonºô¯¸ªº·f«Ø
5.5 XSLTÂà´«¦øªA¾¹
5.5.1 ¼Ò¶ô°t¸m«ü¥O
5.5.2 XSLT¦øªA¾¹°t¸m¼Ë¨Ò
5.6 °°¬y´CÅ馸ªA¾¹ªº·f«Ø
5.6.1 ¼Ò¶ô°t¸m«ü¥O
5.6.2 °°¬y´CÅé°t¸m¼Ë¨Ò
5.7 HTTP¼W±j¨óij¦øªA¾¹ªº·f«Ø
5.7.1 HTTP/2¨óijªA°È
5.7.2 WebDAV¨óijªA°È
²Ä6³¹ Nginx¥N²zªA°ÈÀ³¥Î¹ê¾Ô
6.1 HTTP¥N²z
6.1.1 ¼Ò¶ô«ü¥O
6.1.2 ¥¿¦V¥N²z
6.1.3 HTTPªº¤Ï¦V¥N²z
6.1.4 HTTPSªº¤Ï¦V¥N²z
6.1.5 ¤Ï¦V¥N²zªº¯u¹ê«È¤áºÝIP
6.2 TCP/UDP¥N²z
6.2.1 stream®Ö¤ß¼Ò¶ô
6.2.2 stream»²§U¼Ò¶ô
6.2.3 TCP/UDP¥N²z
6.2.4 °ò©óSSLªºTCP¥N²z
6.2.5 TCP/UDP¥N²zªº¯u¹ê«È¤áºÝIP
6.3 gRPC¥N²z
6.3.1 gRPC¤¶²Ð
6.3.2 gRPC¼Ò¶ô«ü¥O
6.3.3 gRPC¤Ï¦V¥N²z°t¸m
²Ä7³¹ Nginx½w¦sªA°ÈÀ³¥Î¹ê¾Ô
7.1 Web½w¦s
7.1.1 «È¤áºÝ½w¦s
7.1.2 ¥¿¦V¥N²z½w¦s
7.1.3 ¤º®e¤À¾vºôµ¸
7.1.4 ¤Ï¦V¥N²z½w¦s
7.2 Nginx½w¦s¼Ò¶ô
7.2.1 ¥N²z½w¦s¼Ò¶ô
7.2.2 Memcached½w¦s¼Ò¶ô
7.3 Nginx½w¦sÀ³¥Î
7.3.1 ¥N²z½w¦s¦øªA¾¹
7.3.2 Ãè¹³½w¦sÀ³¥Î
7.3.3 Memcached½w¦sÀ³¥Î
7.3.4 «È¤áºÝ½w¦s±±¨î
7.4 ½w¦sªA°ÈªººÞ²z»PºûÅ@
7.4.1 ¼Ò¶ô½sĶ
7.4.2 ¼Ò¶ô«ü¥O
²Ä8³¹ Nginxt¸ü§¡¿ÅÀ³¥Î¹ê¾Ô
8.1 Nginxt¸ü§¡¿Å¼Ò¶ô
8.1.1 ¦øªA¾¹°t¸m«ü¥O
8.1.2 t¸ü§¡¿Åµ¦²¤«ü¥O
8.2 t¸ü§¡¿Åµ¦²¤
8.2.1 ½ü¸ß
8.2.2 ¤@P©Ê«¢§Æ
8.2.3 IP«¢§Æ
8.2.4 ³Ì¤Ö³s±µ
8.2.5 ÀH¾÷t¸üºtºâªk
8.3 t¸ü§¡¿Å°t¸m
8.3.1 t¸ü§¡¿Åªºªø³s±µ
8.3.2 upstreamªº®e¿ù¾÷¨î
8.3.3 °ÊºA§ó·supstream
8.3.4 HTTPt¸ü§¡¿Å°t¸m
8.3.5 FastCGIt¸ü§¡¿Å°t¸m
8.3.6 uWSGIt¸ü§¡¿Å°t¸m
8.3.7 gRPCt¸ü§¡¿Å°t¸m
8.3.8 Memcachedt¸ü§¡¿Å°t¸m
8.4 TCP/UDPt¸ü§¡¿Å
8.4.1 TCP/UDPt¸ü§¡¿Å
8.4.2 TCP/UDPt¸ü§¡¿Åªº®e¿ù¾÷¨î
²Ä9³¹ Nginx¤é»xºÞ²z
9.1 Nginx¤é»x°t¸m
9.1.1 ³X°Ý¤é»x
9.1.2 ¿ù»~¤é»x
9.1.3 ¤é»xÂkÀÉLogrotate
9.1.4 ¤é»x¿é¥X¨ìsyslog
9.2 Nginx¤é»x¦¬¶°¤ÀªR
9.2.1 ELK²¤¶
9.2.2 ELK¦w¸Ë
9.2.3 Nginx¤é»x¤ÀªR
²Ä10³¹ NginxºÊ±±°t¸m¤ÎºÞ²z
10.1 Nginx³s±µª¬ºAºÊ±±
10.1.1 Nginx³s±µª¬ºA
10.1.2 Nginx³s±µª¬ºA¼Ò¶ô«ü¥O
10.1.3 °ò©óZabbixªº³s±µª¬ºAºÊ±±
10.2 HTTP¥D¾÷ª¬ºAºÊ±±
10.2.1 ¼Ò¶ô½sĶ
10.2.2 ¼Ò¶ô°t¸m«ü¥O
10.2.3 ¥D¾÷ª¬ºAºÊ±±°t¸m
10.3 TCP/UDP¥D¾÷ª¬ºAºÊ±±
10.3.1 ¼Ò¶ô½sĶ
10.3.2 ¼Ò¶ô°t¸m«ü¥O
10.3.3 TCP/UDP¥D¾÷ª¬ºAºÊ±±°t¸m
10.4 ºÊ±±¤u¨ãPrometheus
10.4.1 Prometheus²¤¶
10.4.2 Prometheus³¡¸p
10.4.3 ºÊ±±HTTP¥D¾÷ª¬ºA
10.4.4 ºÊ±±TCP/UDP¥D¾÷ª¬ºA
10.4.5 PrometheusºÊ±±§iĵ
10.5 ºÊ±±¤u¨ãZabbix
10.5.1 Zabbix²¤¶
10.5.2 ZabbixÀô¹Ò·f«Ø
10.5.3 Zabbix Agent¦w¸Ë
10.5.4 ZabbixÀò¨úPrometheus¼Æ¾Ú
²Ä11³¹ Nginx¶°¸st¸ü»P°t¸mºÞ²z
11.1 Nginx¶°¸st¸ü
11.1.1 ¦h¼ht¸ü§¡¿Å¬[ºc
11.1.2 LVS²¤¶
11.1.3 Keepalived²¤¶
11.1.4 Nginx¶°¸st¸ü·f«Ø
11.2 Nginx¶°¸s°t¸mºÞ²z
11.2.1 Nginx¶°¸s°t¸mºÞ²z³W¹º
11.2.2 °t¸mÂkÀɤu¨ãGitLab
11.2.3 °t¸m×§ï¤u¨ãAnsible
11.2.4 °t¸mµo¥¬¤u¨ãJenkins
11.2.5 Nginx°t¸mºÞ²z¹ê¨Ò
²Ä12³¹ Nginx¦bKubernetes¤¤ªºÀ³¥Î
12.1 Kubernetes²¤¶
12.1.1 Kubernetes¬[ºc²z
12.1.2 Kubernetes¬ÛÃö³N»y
12.1.3 Kubernetes¶°¸s³¡¸p
12.1.4 Kubernetesºô¸ô³q«H
12.2 Nginx Ingress
12.2.1 Nginx Ingressì²z
12.2.2 ¶°¦¨ªº²Ä¤T¤è¼Ò¶ô
12.2.3 ¦w¸Ë³¡¸p
12.2.4 ¤é»xºÞ²z
12.2.5 ºÊ±±ºÞ²z
12.3 Nginx Ingress°t¸m
12.3.1 °t¸m¬M®gConfigMap
12.3.2 µù¸ÑAnnotations
²Ä13³¹ Nginx¦b·LªA°È¬[ºc¤¤ªºÀ³¥Î
13.1 »{ÃÑ·LªA°È
13.1.1 ¬°¤°»ò»Ýn·LªA°È
13.1.2 ·LªA°Èªº§Þ³N¯SÂI
13.1.3 ·LªA°Èªº¶i¤Æ
13.2 °ò©óNginxªº·LªA°ÈºôÃö
13.2.1 Nginx²£«~²Õ¥ó
13.2.2 ¶}·½·LªA°Èº