À°§U¤¤¤ß | §Úªº±b¸¹ | Ãö©ó§Ú­Ì

NginxÀ³¥Î»P¹Bºû¹ê¾Ô

  • §@ªÌ¡G¤ý¤pªF|³d½s:ùµü«G
  • ¥Xª©ªÀ¡G¾÷±ñ¤u·~
  • ISBN¡G9787111659921
  • ¥Xª©¤é´Á¡G2020/08/01
  • ¸Ë´V¡G¥­¸Ë
  • ­¶¼Æ¡G431
¤H¥Á¹ô¡GRMB 109 ¤¸      °â»ù¡G¤¸
©ñ¤JÁʪ«¨®
¥[¤J¦¬Âç¨

¤º®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°È©M­t¸ü§¡¿Åµ¥¤è­±ªºÀ³¥Î¹ê¾Ô¡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¶°¸s­t¸ü§¡¿Å¬[º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¶°¸s­t¸ü¤Î½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³¹  Nginx­t¸ü§¡¿ÅÀ³¥Î¹ê¾Ô
  8.1  Nginx­t¸ü§¡¿Å¼Ò¶ô

    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  HTTP­t¸ü§¡¿Å°t¸m
    8.3.5  FastCGI­t¸ü§¡¿Å°t¸m
    8.3.6  uWSGI­t¸ü§¡¿Å°t¸m
    8.3.7  gRPC­t¸ü§¡¿Å°t¸m
    8.3.8  Memcached­t¸ü§¡¿Å°t¸m
  8.4  TCP/UDP­t¸ü§¡¿Å
    8.4.1  TCP/UDP­t¸ü§¡¿Å
    8.4.2  TCP/UDP­t¸ü§¡¿Åªº®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¶°¸s­t¸ü»P°t¸mºÞ²z
  11.1  Nginx¶°¸s­t¸ü
    11.1.1  ¦h¼h­t¸ü§¡¿Å¬[ºc
    11.1.2  LVS²¤¶
    11.1.3  Keepalived²¤¶
    11.1.4  Nginx¶°¸s­t¸ü·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°Èº