Äú¿ÉÒÔ¾èÖú£¬Ö§³ÖÎÒÃǵĹ«ÒæÊÂÒµ¡£

1Ôª 10Ôª 50Ôª





ÈÏÖ¤Â룺  ÑéÖ¤Âë,¿´²»Çå³þ?Çëµã»÷Ë¢ÐÂÑéÖ¤Âë ±ØÌî



  ÇóÖª ÎÄÕ ÎÄ¿â Lib ÊÓÆµ iPerson ¿Î³Ì ÈÏÖ¤ ×Éѯ ¹¤¾ß ½²×ù Model Center   Code  
»áÔ±   
   
 
     
   
 ¶©ÔÄ
  ¾èÖú
nginx·´Ïò´úÀí
 
×÷Õߣºzzy_01
  2071  次浏览      31
2020-6-23 
 
±à¼­ÍƼö:
ÎÄÕÂÖ÷Òª½²½âÁË·´Ïò´úÀí¡¢¸ºÔؾùºâ¡¢Nginx°²×°¡¢nginxÅäÖõÈÏà¹ØÄÚÈÝ£¬Ï£Íû¶Ô´ó¼ÒÓаïÖú¡£
±¾ÎÄÀ´×ÔÓÚcsdn£¬ÓÉ»ðÁú¹ûÈí¼þAnna±à¼­ÍƼö¡£

NginxÅäÖÃÏê½â

nginx¸ÅÊö

nginxÊÇÒ»¿î×ÔÓɵġ¢¿ªÔ´µÄ¡¢¸ßÐÔÄܵÄHTTP·þÎñÆ÷ºÍ·´Ïò´úÀí·þÎñÆ÷£»Í¬Ê±Ò²ÊÇÒ»¸öIMAP¡¢POP3¡¢SMTP´úÀí·þÎñÆ÷£»nginx¿ÉÒÔ×÷Ϊһ¸öHTTP·þÎñÆ÷½øÐÐÍøÕ¾µÄ·¢²¼´¦Àí£¬ÁíÍânginx¿ÉÒÔ×÷Ϊ·´Ïò´úÀí½øÐиºÔؾùºâµÄʵÏÖ¡£

ÕâÀïÖ÷Ҫͨ¹ýÈý¸ö·½Ãæ¼òµ¥½éÉÜnginx

·´Ïò´úÀí

¸ºÔؾùºâ

nginxÌØµã

1. ·´Ïò´úÀí

¹ØÓÚ´úÀí

˵µ½´úÀí£¬Ê×ÏÈÎÒÃÇÒªÃ÷È·Ò»¸ö¸ÅÄËùν´úÀí¾ÍÊÇÒ»¸ö´ú±í¡¢Ò»¸öÇþµÀ£»

´Ëʱ¾ÍÉè¼Æµ½Á½¸ö½ÇÉ«£¬Ò»¸öÊDZ»´úÀí½ÇÉ«£¬Ò»¸öÊÇÄ¿±ê½ÇÉ«£¬±»´úÀí½Çɫͨ¹ýÕâ¸ö´úÀí·ÃÎÊÄ¿±ê½ÇÉ«Íê³ÉһЩÈÎÎñµÄ¹ý³Ì³ÆÎª´úÀí²Ù×÷¹ý³Ì£»ÈçͬÉú»îÖеÄרÂôµê~¿ÍÈ˵½adidasרÂôµêÂòÁËһ˫Ь£¬Õâ¸öרÂôµê¾ÍÊÇ´úÀí£¬±»´úÀí½ÇÉ«¾ÍÊÇadidas³§¼Ò£¬Ä¿±ê½ÇÉ«¾ÍÊÇÓû§

ÕýÏò´úÀí

˵·´Ïò´úÀí֮ǰ£¬ÎÒÃÇÏÈ¿´¿´ÕýÏò´úÀí£¬ÕýÏò´úÀíÒ²ÊÇ´ó¼Ò×î³£½Ó´¥µÄµ½µÄ´úÀíģʽ£¬ÎÒÃÇ»á´ÓÁ½¸ö·½ÃæÀ´Ëµ¹ØÓÚÕýÏò´úÀíµÄ´¦Àíģʽ£¬·Ö±ð´ÓÈí¼þ·½ÃæºÍÉú»î·½ÃæÀ´½âÊÍÒ»ÏÂʲô½ÐÕýÏò´úÀí

ÔÚÈç½ñµÄÍøÂç»·¾³Ï£¬ÎÒÃÇÈç¹ûÓÉÓÚ¼¼ÊõÐèҪҪȥ·ÃÎʹúÍâµÄÄ³Ð©ÍøÕ¾£¬´ËʱÄã»á·¢ÏÖλÓÚ¹úÍâµÄÄ³ÍøÕ¾ÎÒÃÇͨ¹ýä¯ÀÀÆ÷ÊÇûÓа취·ÃÎʵ쬴Ëʱ´ó¼Ò¿ÉÄܶ¼»áÓÃÒ»¸ö²Ù×÷FQ½øÐзÃÎÊ£¬FQµÄ·½Ê½Ö÷ÒªÊÇÕÒµ½Ò»¸ö¿ÉÒÔ·ÃÎʹúÍâÍøÕ¾µÄ´úÀí·þÎñÆ÷£¬ÎÒÃǽ«ÇëÇó·¢Ë͸ø´úÀí·þÎñÆ÷£¬´úÀí·þÎñÆ÷È¥·ÃÎʹúÍâµÄÍøÕ¾£¬È»ºó½«·ÃÎʵ½µÄÊý¾Ý´«µÝ¸øÎÒÃÇ£¡

ÉÏÊöÕâÑùµÄ´úÀíģʽ³ÆÎªÕýÏò´úÀí£¬ÕýÏò´úÀí×î´óµÄÌØµãÊǿͻ§¶Ë·Ç³£Ã÷È·Òª·ÃÎʵķþÎñÆ÷µØÖ·£»·þÎñÆ÷Ö»Çå³þÇëÇóÀ´×ÔÄĸö´úÀí·þÎñÆ÷£¬¶ø²»Çå³þÀ´×ÔÄĸö¾ßÌåµÄ¿Í»§¶Ë£»ÕýÏò´úÀíģʽÆÁ±Î»òÕßÒþ²ØÁËÕæÊµ¿Í»§¶ËÐÅÏ¢¡£

·´Ïò´úÀí

Ã÷°×ÁËʲôÊÇÕýÏò´úÀí£¬ÎÒÃǼÌÐø¿´¹ØÓÚ·´Ïò´úÀíµÄ´¦Àí·½Ê½£¬¾ÙÀýÈçÎÒ´óÌ쳯µÄij±¦ÍøÕ¾£¬Ã¿ÌìͬʱÁ¬½Óµ½ÍøÕ¾µÄ·ÃÎÊÈËÊýÒѾ­±¬±í£¬µ¥¸ö·þÎñÆ÷Ô¶Ô¶²»ÄÜÂú×ãÈËÃñÈÕÒæÔö³¤µÄ¹ºÂòÓûÍûÁË£¬´Ëʱ¾Í³öÏÖÁËÒ»¸ö´ó¼Ò¶úÊìÄÜÏêµÄÃû´Ê£º·Ö²¼Ê½²¿Êð£»Ò²¾ÍÊÇͨ¹ý²¿Êð¶ą̀·þÎñÆ÷À´½â¾ö·ÃÎÊÈËÊýÏÞÖÆµÄÎÊÌ⣻ij±¦ÍøÕ¾Öд󲿷ֹ¦ÄÜÒ²ÊÇÖ±½ÓʹÓÃnginx½øÐз´Ïò´úÀíʵÏֵ쬲¢ÇÒͨ¹ý·â×°nginxºÍÆäËûµÄ×é¼þÖ®ºóÆðÁ˸ö¸ß´óÉϵÄÃû×Ö£ºTengine£¬ÓÐÐËȤµÄͯЬ¿ÉÒÔ·ÃÎÊTengineµÄ¹ÙÍø²é¿´¾ßÌåµÄÐÅÏ¢£ºhttp://tengine.taobao.org/

ÄÇô·´Ïò´úÀí¾ßÌåÊÇͨ¹ýʲôÑùµÄ·½Ê½ÊµÏֵķֲ¼Ê½µÄ¼¯Èº²Ù×÷ÄØ£¬ÎÒÃÇÏÈ¿´Ò»¸öʾÒâͼ£º

ͨ¹ýÉÏÊöµÄͼ½â´ó¼Ò¾Í¿ÉÒÔ¿´Çå³þÁË£¬¶à¸ö¿Í»§¶Ë¸ø·þÎñÆ÷·¢Ë͵ÄÇëÇó£¬nginx·þÎñÆ÷½ÓÊÕµ½Ö®ºó£¬°´ÕÕÒ»¶¨µÄ¹æÔò·Ö·¢¸øÁ˺ó¶ËµÄÒµÎñ´¦Àí·þÎñÆ÷½øÐд¦ÀíÁË¡£´Ëʱ~ÇëÇóµÄÀ´Ô´Ò²¾ÍÊǿͻ§¶ËÊÇÃ÷È·µÄ£¬µ«ÊÇÇëÇó¾ßÌåÓÉÄĄ̈·þÎñÆ÷´¦ÀíµÄ²¢²»Ã÷È·ÁË£¬nginx°çÑݵľÍÊÇÒ»¸ö·´Ïò´úÀí½ÇÉ«

·´Ïò´úÀí£¬Ö÷ÒªÓÃÓÚ·þÎñÆ÷¼¯Èº·Ö²¼Ê½²¿ÊðµÄÇé¿öÏ£¬·´Ïò´úÀíÒþ²ØÁË·þÎñÆ÷µÄÐÅÏ¢£¡

ÏîÄ¿³¡¾°

ͨ³£Çé¿öÏ£¬ÎÒÃÇÔÚʵ¼ÊÏîÄ¿²Ù×÷ʱ£¬ÕýÏò´úÀíºÍ·´Ïò´úÀíºÜÓпÉÄÜ»á´æÔÚÔÚÒ»¸öÓ¦Óó¡¾°ÖУ¬ÕýÏò´úÀí´úÀí¿Í»§¶ËµÄÇëÇóÈ¥·ÃÎÊÄ¿±ê·þÎñÆ÷£¬Ä¿±ê·þÎñÆ÷ÊÇÒ»¸ö·´Ïòµ¥Àû·þÎñÆ÷£¬·´Ïò´úÀíÁ˶àÌ¨ÕæÊµµÄÒµÎñ´¦Àí·þÎñÆ÷¡£¾ßÌåµÄÍØÆËͼÈçÏ£º

2. ¸ºÔؾùºâ

ÎÒÃÇÒѾ­Ã÷È·ÁËËùν´úÀí·þÎñÆ÷µÄ¸ÅÄÄÇô½ÓÏÂÀ´£¬nginx°çÑÝÁË·´Ïò´úÀí·þÎñÆ÷µÄ½ÇÉ«£¬ËüÊÇÒÔÒÀ¾ÝʲôÑùµÄ¹æÔò½øÐÐÇëÇó·Ö·¢µÄÄØ£¿²»ÓõÄÏîĿӦÓó¡¾°£¬·Ö·¢µÄ¹æÔòÊÇ·ñ¿ÉÒÔ¿ØÖÆÄØ£¿

ÕâÀïÌáµ½µÄ¿Í»§¶Ë·¢Ë͵ġ¢nginx·´Ïò´úÀí·þÎñÆ÷½ÓÊÕµ½µÄÇëÇóÊýÁ¿£¬¾ÍÊÇÎÒÃÇ˵µÄ¸ºÔØÁ¿

ÇëÇóÊýÁ¿°´ÕÕÒ»¶¨µÄ¹æÔò½øÐзַ¢µ½²»Í¬µÄ·þÎñÆ÷´¦ÀíµÄ¹æÔò£¬¾ÍÊÇÒ»ÖÖ¾ùºâ¹æÔò

ËùÒÔ~½«·þÎñÆ÷½ÓÊÕµ½µÄÇëÇó°´ÕÕ¹æÔò·Ö·¢µÄ¹ý³Ì£¬³ÆÎª¸ºÔؾùºâ¡£

¸ºÔؾùºâÔÚʵ¼ÊÏîÄ¿²Ù×÷¹ý³ÌÖУ¬ÓÐÓ²¼þ¸ºÔؾùºâºÍÈí¼þ¸ºÔؾùºâÁ½ÖÖ£¬Ó²¼þ¸ºÔؾùºâÒ²³ÆÎªÓ²¸ºÔØ£¬ÈçF5¸ºÔؾùºâ£¬Ïà¶ÔÔì¼Û°º¹ó³É±¾½Ï¸ß£¬µ«ÊÇÊý¾ÝµÄÎȶ¨ÐÔ°²È«ÐԵȵÈÓзdz£ºÃµÄ±£ÕÏ£¬ÈçÖйúÒÆ¶¯ÖйúÁªÍ¨ÕâÑùµÄ¹«Ë¾²Å»áÑ¡ÔñÓ²¸ºÔؽøÐвÙ×÷£»¸ü¶àµÄ¹«Ë¾¿¼Âǵ½³É±¾Ô­Òò£¬»áÑ¡ÔñʹÓÃÈí¼þ¸ºÔؾùºâ£¬Èí¼þ¸ºÔؾùºâÊÇÀûÓÃÏÖÓеļ¼Êõ½áºÏÖ÷»úÓ²¼þʵÏÖµÄÒ»ÖÖÏûÏ¢¶ÓÁзַ¢»úÖÆ

nginxÖ§³ÖµÄ¸ºÔؾùºâµ÷¶ÈËã·¨·½Ê½ÈçÏ£º

weightÂÖѯ£¨Ä¬ÈÏ£©£º½ÓÊÕµ½µÄÇëÇó°´ÕÕ˳ÐòÖðÒ»·ÖÅäµ½²»Í¬µÄºó¶Ë·þÎñÆ÷£¬¼´Ê¹ÔÚʹÓùý³ÌÖУ¬Ä³Ò»Ì¨ºó¶Ë·þÎñÆ÷å´»ú£¬nginx»á×Ô¶¯½«¸Ã·þÎñÆ÷ÌÞ³ý³ö¶ÓÁУ¬ÇëÇóÊÜÀíÇé¿ö²»»áÊܵ½ÈκÎÓ°Ïì¡£ ÕâÖÖ·½Ê½Ï£¬¿ÉÒÔ¸ø²»Í¬µÄºó¶Ë·þÎñÆ÷ÉèÖÃÒ»¸öÈ¨ÖØÖµ£¨weight£©£¬ÓÃÓÚµ÷Õû²»Í¬µÄ·þÎñÆ÷ÉÏÇëÇóµÄ·ÖÅäÂÊ£»È¨ÖØÊý¾ÝÔ½´ó£¬±»·ÖÅäµ½ÇëÇóµÄ¼¸ÂÊÔ½´ó£»¸ÃÈ¨ÖØÖµ£¬Ö÷ÒªÊÇÕë¶Ôʵ¼Ê¹¤×÷»·¾³Öв»Í¬µÄºó¶Ë·þÎñÆ÷Ó²¼þÅäÖýøÐе÷ÕûµÄ¡£

ip_hash£ºÃ¿¸öÇëÇó°´ÕÕ·¢Æð¿Í»§¶ËµÄipµÄhash½á¹û½øÐÐÆ¥Å䣬ÕâÑùµÄËã·¨ÏÂÒ»¸ö¹Ì¶¨ipµØÖ·µÄ¿Í»§¶Ë×Ü»á·ÃÎʵ½Í¬Ò»¸öºó¶Ë·þÎñÆ÷£¬ÕâÒ²ÔÚÒ»¶¨³Ì¶ÈÉϽâ¾öÁ˼¯Èº²¿Êð»·¾³ÏÂsession¹²ÏíµÄÎÊÌâ¡£

fair£ºÖÇÄܵ÷Õûµ÷¶ÈËã·¨£¬¶¯Ì¬µÄ¸ù¾Ýºó¶Ë·þÎñÆ÷µÄÇëÇó´¦Àíµ½ÏìÓ¦µÄʱ¼ä½øÐоùºâ·ÖÅ䣬ÏìӦʱ¼ä¶Ì´¦ÀíЧÂʸߵķþÎñÆ÷·ÖÅäµ½ÇëÇóµÄ¸ÅÂʸߣ¬ÏìӦʱ¼ä³¤´¦ÀíЧÂʵ͵ķþÎñÆ÷·ÖÅäµ½µÄÇëÇóÉÙ£»½áºÏÁËǰÁ½ÕßµÄÓŵãµÄÒ»ÖÖµ÷¶ÈËã·¨¡£µ«ÊÇÐèҪעÒâµÄÊÇnginxĬÈϲ»Ö§³ÖfairËã·¨£¬Èç¹ûҪʹÓÃÕâÖÖµ÷¶ÈËã·¨£¬Çë°²×°upstream_fairÄ£¿é

url_hash£º°´ÕÕ·ÃÎʵÄurlµÄhash½á¹û·ÖÅäÇëÇó£¬Ã¿¸öÇëÇóµÄurl»áÖ¸Ïòºó¶Ë¹Ì¶¨µÄij¸ö·þÎñÆ÷£¬¿ÉÒÔÔÚnginx×÷Ϊ¾²Ì¬·þÎñÆ÷µÄÇé¿öÏÂÌá¸ß»º´æÐ§ÂÊ¡£Í¬ÑùҪעÒânginxĬÈϲ»Ö§³ÖÕâÖÖµ÷¶ÈËã·¨£¬ÒªÊ¹ÓõϰÐèÒª°²×°nginxµÄhashÈí¼þ°ü

Nginx°²×°

1. windows°²×°

¹Ù·½ÍøÕ¾ÏÂÔØµØÖ·

ÈçÏÂͼËùʾ£¬ÏÂÔØ¶ÔÓ¦µÄ°æ±¾µÄnginxѹËõ°ü£¬½âѹµ½×Ô¼ºµçÄÔÉÏ´æ·ÅÈí¼þµÄÎļþ¼ÐÖм´¿É

½âѹÍê³Éºó£¬ÎļþĿ¼½á¹¹ÈçÏ£º

Æô¶¯nginx

1£© Ö±½ÓË«»÷¸ÃĿ¼ÏµÄnginx.exe£¬¼´¿ÉÆô¶¯nginx·þÎñÆ÷

2£© ÃüÁîÐмÆÈë¸ÃÎļþ¼Ð£¬Ö´ÐÐnginxÃüÁҲ»áÖ±½ÓÆô¶¯nginx·þÎñÆ÷

D:/resp_application/nginx-1.13.5> nginx

 

·ÃÎÊnginx

´ò¿ªä¯ÀÀÆ÷£¬ÊäÈëµØÖ·£ºhttp://localhost£¬·ÃÎÊÒ³Ãæ£¬³öÏÖÈçÏÂÒ³Ãæ±íʾ·ÃÎʳɹ¦

Í£Ö¹nginx

ÃüÁîÐнøÈënginx¸ùĿ¼£¬Ö´ÐÐÈçÏÂÃüÁֹͣ·þÎñÆ÷£º


# Ç¿ÖÆÍ£Ö¹nginx·þÎñÆ÷£¬Èç¹ûÓÐδ´¦ÀíµÄÊý¾Ý£¬¶ªÆú
D:/resp_application/nginx -1.13.5> nginx -s stop

# ÓÅÑŵÄÍ£Ö¹nginx·þÎñÆ÷£¬Èç¹ûÓÐδ´¦ÀíµÄÊý¾Ý£¬µÈ´ý´¦ÀíÍê³ÉÖ®ºóÍ£Ö¹
D:/resp_application/nginx -1.13.5> nginx -s quit

 

2. ubuntu°²×°

°´ÕÕÕý³£Èí¼þµÄ°²×°·½Ê½£¬Ö±½Óͨ¹ýÈçÏÂÃüÁî½øÐа²×°£º

$ sudo apt-get install nginx

°²×°Íê³É¼´¿É£¬ÔÚ/usr/sbin/Ŀ¼ÏÂÊÇnginxÃüÁîËùÔÚĿ¼£¬ÔÚ/etc/nginx/Ŀ¼ÏÂÊÇnginxËùÓеÄÅäÖÃÎļþ£¬ÓÃÓÚÅäÖÃnginx·þÎñÆ÷ÒÔ¼°¸ºÔؾùºâµÈÐÅÏ¢

²é¿´nginx½ø³ÌÊÇ·ñÆô¶¯

$ ps -ef|grep nginx

nginx»á×Ô¶¯¸ù¾Ýµ±Ç°Ö÷»úµÄCPUµÄÄÚºËÊýÄ¿´´½¨¶ÔÓ¦µÄ½ø³ÌÊýÁ¿(µ±Ç°ubuntuÖ÷»úÊÇ2ºË4Ïß³ÌÅäÖÃ)

±¸×¢£ºÕâÀïÆô¶¯µÄ·þÎñ½ø³ÌÆäʵÊÇ4¸ö½ø³Ì£¬ÒòΪnginx½ø³ÌÔÚÆô¶¯µÄʱºò£¬»á¸½´øÒ»¸öÊØ»¤½ø³Ì£¬ÓÃÓÚ±£»¤Õýʽ½ø³Ì²»±»Òì³£ÖÕÖ¹£»Èç¹ûÊØ»¤½ø³ÌÒ»µ©·µÏÖnginx¼Ì³Ð±»ÖÕÖ¹ÁË£¬»á×Ô¶¯ÖØÆô¸Ã½ø³Ì¡£

ÊØ»¤½ø³ÌÒ»°ã»á³ÆÎªmaster½ø³Ì£¬ÒµÎñ½ø³Ì±»³ÆÎªworker½ø³Ì

Æô¶¯nginx·þÎñÆ÷ÃüÁî

Ö±½ÓÖ´ÐÐnginx»á°´ÕÕĬÈϵÄÅäÖÃÎļþ½øÐзþÎñÆ÷µÄÆô¶¯

$ nginx

Í£Ö¹nginx·þÎñÃüÁî

ºÍwindowsϵͳִÐйý³ÌÒ»Ñù£¬Á½ÖÖÍ£Ö¹·½Ê½

$ nginx -s stop
or
$ nginx -s quit

 

ÖØÐÂÆô¶¯¼ÓÔØ

ͬÑùÒ²¿ÉÒÔʹÓÃÃüÁîreopenºÍreloadÀ´ÖØÐÂÆô¶¯nginx»òÕßÖØÐ¼ÓÔØÅäºÏ×ÅÎļþ¡£

3. mac os°²×°

Ö±½Óͨ¹ýbrew½øÐÐnginxµÄ°²×°£¬»òÕßÏÂÔØtar.gzѹËõ°ü¶¼ÊÇ¿ÉÒԵġ£

Ö±½Óͨ¹ýbrew½øÐа²×°

brew install nginx

°²×°Íê³Éºó£¬ºóÐøµÄÃüÁî²Ù×÷£¬·þÎñÆ÷µÄÆô¶¯¡¢½ø³Ì²é¿´¡¢·þÎñÆ÷µÄÍ£Ö¹¡¢·þÎñÆ÷µÄÖØÆôÒѾ­Îļþ¼ÓÔØÃüÁî¶¼ÊÇÒ»Öµġ£

nginxÅäÖÃ

nginxÊÇÒ»¸ö¹¦Äܷdz£Ç¿´óµÄweb·þÎñÆ÷¼Ó·´Ïò´úÀí·þÎñÆ÷£¬Í¬Ê±ÓÖÊÇÓʼþ·þÎñÆ÷µÈµÈ

ÔÚÏîĿʹÓÃÖУ¬Ê¹ÓÃ×î¶àµÄÈý¸öºËÐŦÄÜÊÇ·´Ïò´úÀí¡¢¸ºÔؾùºâºÍ¾²Ì¬·þÎñÆ÷

ÕâÈý¸ö²»Í¬µÄ¹¦ÄܵÄʹÓ㬶¼¸únginxµÄÅäÖÃÃÜÇÐÏà¹Ø£¬nginx·þÎñÆ÷µÄÅäÖÃÐÅÏ¢Ö÷Òª¼¯ÖÐÔÚnginx.confÕâ¸öÅäÖÃÎļþÖУ¬²¢ÇÒËùÓеĿÉÅäÖÃÑ¡Ïî´óÖ·ÖΪÒÔϼ¸¸ö²¿·Ö

main # È«¾ÖÅäÖÃ

events { # nginx¹¤×÷ģʽÅäÖÃ

}

http { # httpÉèÖÃ
....

server { # ·þÎñÆ÷Ö÷»úÅäÖÃ
....
location { # ·ÓÉÅäÖÃ
....
}

location path {
....
}

location otherpath {
....
}
}

server {
....

location {
....
}
}

upstream name { # ¸ºÔؾùºâÅäÖÃ
....
}
}

 

ÈçÉÏÊöÅäÖÃÎļþËùʾ£¬Ö÷ÒªÓÉ6¸ö²¿·Ö×é³É£º

1.main£ºÓÃÓÚ½øÐÐnginxÈ«¾ÖÐÅÏ¢µÄÅäÖÃ

2.events£ºÓÃÓÚnginx¹¤×÷ģʽµÄÅäÖÃ

3.http£ºÓÃÓÚ½øÐÐhttpЭÒéÐÅÏ¢µÄһЩÅäÖÃ

4.server£ºÓÃÓÚ½øÐзþÎñÆ÷·ÃÎÊÐÅÏ¢µÄÅäÖÃ

5.location£ºÓÃÓÚ½øÐзÃÎÊ·ÓɵÄÅäÖÃ

6.upstream£ºÓÃÓÚ½øÐиºÔؾùºâµÄÅäÖÃ

mainÄ£¿é

¹Û²ìÏÂÃæµÄÅäÖôúÂë

# user nobody nobody;
worker_processes 2;
# error_log logs/error.log
# error_log logs/error.log notice
# error_log logs/error.log info
# pid logs/nginx.pid
worker_rlimit_nofile 1024;

ÉÏÊöÅäÖö¼ÊÇ´æ·ÅÔÚmainÈ«¾ÖÅäÖÃÄ£¿éÖеÄÅäÖÃÏî

userÓÃÀ´Ö¸¶¨nginx worker½ø³ÌÔËÐÐÓû§ÒÔ¼°Óû§×飬ĬÈÏnobodyÕ˺ÅÔËÐÐ

worker_processesÖ¸¶¨nginxÒª¿ªÆôµÄ×Ó½ø³ÌÊýÁ¿£¬ÔËÐйý³ÌÖÐ¼à¿ØÃ¿¸ö½ø³ÌÏûºÄÄÚ´æ(Ò»°ã¼¸M~¼¸Ê®M²»µÈ)¸ù¾Ýʵ¼ÊÇé¿ö½øÐе÷Õû£¬Í¨³£ÊýÁ¿ÊÇCPUÄÚºËÊýÁ¿µÄÕûÊý±¶

error_log¶¨Òå´íÎóÈÕÖ¾ÎļþµÄλÖü°Êä³ö¼¶±ð¡¾debug / info / notice / warn / error / crit¡¿

pidÓÃÀ´Ö¸¶¨½ø³ÌidµÄ´æ´¢ÎļþµÄλÖÃ

worker_rlimit_nofileÓÃÓÚÖ¸¶¨Ò»¸ö½ø³Ì¿ÉÒÔ´ò¿ª×î¶àÎļþÊýÁ¿µÄÃèÊö

event Ä£¿é

Éϸɻõ

event {
worker_connections 1024;
multi_accept on;
use epoll;
}

ÉÏÊöÅäÖÃÊÇÕë¶Ônginx·þÎñÆ÷µÄ¹¤×÷ģʽµÄһЩ²Ù×÷ÅäÖÃ

worker_connections Ö¸¶¨×î´ó¿ÉÒÔͬʱ½ÓÊÕµÄÁ¬½ÓÊýÁ¿£¬ÕâÀïÒ»¶¨Òª×¢Ò⣬×î´óÁ¬½ÓÊýÁ¿ÊǺÍworker processes¹²Í¬¾ö¶¨µÄ¡£

multi_accept ÅäÖÃÖ¸¶¨nginxÔÚÊÕµ½Ò»¸öÐÂÁ¬½Ó֪ͨºó¾¡¿ÉÄܶàµÄ½ÓÊܸü¶àµÄÁ¬½Ó

use epoll ÅäÖÃÖ¸¶¨ÁËÏß³ÌÂÖѯµÄ·½·¨£¬Èç¹ûÊÇlinux2.6+£¬Ê¹ÓÃepoll£¬Èç¹ûÊÇBSDÈçMacÇëʹÓÃKqueue

httpÄ£¿é

×÷Ϊweb·þÎñÆ÷£¬httpÄ£¿éÊÇnginx×îºËÐĵÄÒ»¸öÄ£¿é£¬ÅäÖÃÏîÒ²ÊDZȽ϶àµÄ£¬ÏîÄ¿ÖлáÉèÖõ½ºÜ¶àµÄʵ¼ÊÒµÎñ³¡¾°£¬ÐèÒª¸ù¾ÝÓ²¼þÐÅÏ¢½øÐÐÊʵ±µÄÅäÖ㬳£¹æÇé¿öÏ£¬Ê¹ÓÃĬÈÏÅäÖü´¿É£¡

http {
##
# »ù´¡ÅäÖÃ
##

sendfile on;
tcp_nopush on;
tcp_nodelay on;
keepalive_timeout 65;
types_hash_max_size 2048;
# server_tokens off;

# server_names_hash_bucket_size 64;
# server_name_in_redirect off;

include /etc/nginx/mime.types;
default_type application/octet-stream;

##
# SSLÖ¤ÊéÅäÖÃ
##

ssl_protocols TLSv1 TLSv1.1 TLSv1.2; # Dropping SSLv3, ref: POODLE
ssl_prefer_server_ciphers on;

##
# ÈÕÖ¾ÅäÖÃ
##

access_log /var/log/nginx/access.log;
error_log /var/log/nginx/error.log;

##
# Gzip ѹËõÅäÖÃ
##

gzip on;
gzip_disable "msie6";

# gzip_vary on;
# gzip_proxied any;
# gzip_comp_level 6;
# gzip_buffers 16 8k;
# gzip_http_version 1.1;
# gzip_types text/plain text/css application/json application/javascript
text/xml application/xml application/xml+rss text/javascript;

##
# ÐéÄâÖ÷»úÅäÖÃ
##

include /etc/nginx/conf.d/*.conf;
include /etc/nginx/sites-enabled/*;

1) »ù´¡ÅäÖÃ

sendfile on£ºÅäÖÃonÈÃsendfile·¢»Ó×÷Ó㬽«ÎļþµÄ»ØÐ´¹ý³Ì½»¸øÊý¾Ý»º³åȥȥÍê³É£¬¶ø²»ÊÇ·ÅÔÚÓ¦ÓÃÖÐÍê³É£¬ÕâÑùµÄ»°ÔÚÐÔÄÜÌáÉýÓÐÓкô¦

tc_nopush on£ºÈÃnginxÔÚÒ»¸öÊý¾Ý°üÖз¢ËÍËùÓеÄÍ·Îļþ£¬¶ø²»ÊÇÒ»¸öÒ»¸öµ¥¶À·¢

tcp_nodelay on£ºÈÃnginx²»Òª»º´æÊý¾Ý£¬¶øÊÇÒ»¶ÎÒ»¶Î·¢ËÍ£¬Èç¹ûÊý¾ÝµÄ´«ÊäÓÐʵʱÐÔµÄÒªÇóµÄ»°¿ÉÒÔÅäÖÃËü£¬·¢ËÍÍêһС¶ÎÊý¾Ý¾ÍÁ¢¿ÌÄܵõ½·µ»ØÖµ£¬µ«ÊDz»ÒªÀÄÓÃŶ

keepalive_timeout 10£º¸ø¿Í»§¶Ë·ÖÅäÁ¬½Ó³¬Ê±Ê±¼ä£¬·þÎñÆ÷»áÔÚÕâ¸öʱ¼ä¹ýºó¹Ø±ÕÁ¬½Ó¡£Ò»°ãÉèÖÃʱ¼ä½Ï¶Ì£¬¿ÉÒÔÈÃnginx¹¤×÷³ÖÐøÐÔ¸üºÃ

client_header_timeout 10£ºÉèÖÃÇëÇóÍ·µÄ³¬Ê±Ê±¼ä

client_body_timeout 10:ÉèÖÃÇëÇóÌåµÄ³¬Ê±Ê±¼ä

send_timeout 10£ºÖ¸¶¨¿Í»§¶ËÏìÓ¦³¬Ê±Ê±¼ä£¬Èç¹û¿Í»§¶ËÁ½´Î²Ù×÷¼ä¸ô³¬¹ýÕâ¸öʱ¼ä£¬·þÎñÆ÷¾Í»á¹Ø±ÕÕâ¸öÁ´½Ó

limit_conn_zone $binary_remote_addr zone=addr:5m £ºÉèÖÃÓÃÓÚ±£´æ¸÷ÖÖkeyµÄ¹²ÏíÄÚ´æµÄ²ÎÊý£¬

limit_conn addr 100: ¸ø¶¨µÄkeyÉèÖÃ×î´óÁ¬½ÓÊý

server_tokens£ºËäÈ»²»»áÈÃnginxÖ´ÐÐËٶȸü¿ì£¬µ«ÊÇ¿ÉÒÔÔÚ´íÎóÒ³Ãæ¹Ø±Õnginx°æ±¾Ìáʾ£¬¶ÔÓÚÍøÕ¾°²È«ÐÔµÄÌáÉýÓкô¦Å¶

include /etc/nginx/mime.types£ºÖ¸¶¨ÔÚµ±Ç°ÎļþÖаüº¬ÁíÒ»¸öÎļþµÄÖ¸Áî

default_type application/octet-stream£ºÖ¸¶¨Ä¬ÈÏ´¦ÀíµÄÎļþÀàÐÍ¿ÉÒÔÊǶþ½øÖÆ

type_hash_max_size 2048£º»ìÏýÊý¾Ý£¬Ó°ÏìÈýÁгåÍ»ÂÊ£¬ÖµÔ½´óÏûºÄÄÚ´æÔ½¶à£¬É¢ÁÐkey³åÍ»ÂʻήµÍ£¬¼ìË÷Ëٶȸü¿ì£»ÖµÔ½Ð¡key£¬Õ¼ÓÃÄÚ´æ½ÏÉÙ£¬³åÍ»ÂÊÔ½¸ß£¬¼ìË÷ËٶȱäÂý

2) ÈÕÖ¾ÅäÖÃ

access_log logs/access.log£ºÉèÖô洢·ÃÎʼǼµÄÈÕÖ¾
error_log logs/error.log£ºÉèÖô洢¼Ç¼´íÎó·¢ÉúµÄÈÕÖ¾

3) SSLÖ¤Êé¼ÓÃÜ

ssl_protocols£ºÖ¸ÁîÓÃÓÚÆô¶¯Ìض¨µÄ¼ÓÃÜЭÒ飬nginxÔÚ1.1.13ºÍ1.0.12°æ±¾ºóĬÈÏÊÇssl_protocols SSLv3 TLSv1 TLSv1.1 TLSv1.2£¬TLSv1.1ÓëTLSv1.2Ҫȷ±£OpenSSL >= 1.0.1 £¬SSLv3 ÏÖÔÚ»¹ÓÐºÜ¶àµØ·½ÔÚÓõ«Óв»ÉÙ±»¹¥»÷µÄ©¶´¡£

ssl prefer server ciphers£ºÉèÖÃЭÉ̼ÓÃÜË㷨ʱ£¬ÓÅÏÈʹÓÃÎÒÃÇ·þÎñ¶ËµÄ¼ÓÃÜÌ×¼þ£¬¶ø²»Êǿͻ§¶Ëä¯ÀÀÆ÷µÄ¼ÓÃÜÌ×¼þ

4) ѹËõÅäÖÃ

gzip ÊǸæËßnginx²ÉÓÃgzipѹËõµÄÐÎʽ·¢ËÍÊý¾Ý¡£Õ⽫»á¼õÉÙÎÒÃÇ·¢Ë͵ÄÊý¾ÝÁ¿¡£

gzip_disable Ϊָ¶¨µÄ¿Í»§¶Ë½ûÓÃgzip¹¦ÄÜ¡£ÎÒÃÇÉèÖóÉIE6»òÕ߸üµÍ°æ±¾ÒÔʹÎÒÃǵķ½°¸Äܹ»¹ã·º¼æÈÝ¡£

gzip_static ¸æËßnginxÔÚѹËõ×ÊԴ֮ǰ£¬ÏȲéÕÒÊÇ·ñÓÐÔ¤ÏÈgzip´¦Àí¹ýµÄ×ÊÔ´¡£ÕâÒªÇóÄãÔ¤ÏÈѹËõÄãµÄÎļþ£¨ÔÚÕâ¸öÀý×ÓÖб»×¢Ê͵ôÁË£©£¬´Ó¶øÔÊÐíÄãʹÓÃ×î¸ßѹËõ±È£¬ÕâÑùnginx¾Í²»ÓÃÔÙѹËõÕâЩÎļþÁË£¨ÏëÒª¸üÏ꾡µÄgzip_staticµÄÐÅÏ¢£¬Çëµã»÷ÕâÀ¡£

gzip_proxied ÔÊÐí»òÕß½ûֹѹËõ»ùÓÚÇëÇóºÍÏìÓ¦µÄÏìÓ¦Á÷¡£ÎÒÃÇÉèÖÃΪany£¬Òâζ׎«»áѹËõËùÓеÄÇëÇó¡£

gzip_min_length ÉèÖöÔÊý¾ÝÆôÓÃѹËõµÄ×îÉÙ×Ö½ÚÊý¡£Èç¹ûÒ»¸öÇëÇóСÓÚ1000×Ö½Ú£¬ÎÒÃÇ×îºÃ²»ÒªÑ¹ËõËü£¬ÒòΪѹËõÕâЩСµÄÊý¾Ý»á½µµÍ´¦Àí´ËÇëÇóµÄËùÓнø³ÌµÄËÙ¶È¡£

gzip_comp_level ÉèÖÃÊý¾ÝµÄѹËõµÈ¼¶¡£Õâ¸öµÈ¼¶¿ÉÒÔÊÇ1-9Ö®¼äµÄÈÎÒâÊýÖµ£¬9ÊÇ×îÂýµ«ÊÇѹËõ±È×î´óµÄ¡£ÎÒÃÇÉèÖÃΪ4£¬ÕâÊÇÒ»¸ö±È½ÏÕÛÖеÄÉèÖá£

gzip_type ÉèÖÃÐèҪѹËõµÄÊý¾Ý¸ñʽ¡£ÉÏÃæÀý×ÓÖÐÒѾ­ÓÐһЩÁË£¬ÄãÒ²¿ÉÒÔÔÙÌí¼Ó¸ü¶àµÄ¸ñʽ¡£

5) Îļþ»º´æÅäÖÃ

open_file_cache ´ò¿ª»º´æµÄͬʱҲָ¶¨ÁË»º´æ×î´óÊýÄ¿£¬ÒÔ¼°»º´æµÄʱ¼ä¡£ÎÒÃÇ¿ÉÒÔÉèÖÃÒ»¸öÏà¶Ô¸ßµÄ×î´óʱ¼ä£¬ÕâÑùÎÒÃÇ¿ÉÒÔÔÚËüÃDz»»î¶¯³¬¹ý20ÃëºóÇå³ýµô¡£

open_file_cache_valid ÔÚopen_file_cacheÖÐÖ¸¶¨¼ì²âÕýÈ·ÐÅÏ¢µÄ¼ä¸ôʱ¼ä¡£

open_file_cache_min_uses ¶¨ÒåÁËopen_file_cacheÖÐÖ¸Áî²ÎÊý²»»î¶¯Ê±¼äÆÚ¼äÀï×îСµÄÎļþÊý¡£

open_file_cache_errors Ö¸¶¨Á˵±ËÑË÷Ò»¸öÎļþʱÊÇ·ñ»º´æ´íÎóÐÅÏ¢£¬Ò²°üÀ¨ÔٴθøÅäÖÃÖÐÌí¼ÓÎļþ¡£ÎÒÃÇÒ²°üÀ¨ÁË·þÎñÆ÷Ä£¿é£¬ÕâЩÊÇÔÚ²»Í¬ÎļþÖж¨ÒåµÄ¡£Èç¹ûÄãµÄ·þÎñÆ÷Ä£¿é²»ÔÚÕâЩλÖã¬Äã¾ÍµÃÐÞ¸ÄÕâÒ»ÐÐÀ´Ö¸¶¨ÕýÈ·µÄλÖá£

serverÄ£¿é

sreverÄ£¿éÅäÖÃÊÇhttpÄ£¿éÖеÄÒ»¸ö×ÓÄ£¿é£¬ÓÃÀ´¶¨ÒåÒ»¸öÐéÄâ·ÃÎÊÖ÷»ú£¬Ò²¾ÍÊÇÒ»¸öÐéÄâ·þÎñÆ÷µÄÅäÖÃÐÅÏ¢

server {
listen 80;
server_name localhost 192.168.1.100;
root /nginx/www;
index index.php index.html index.html;
charset utf-8;
access_log logs/access.log;
error_log logs/error.log;
......
}

ºËÐÄÅäÖÃÐÅÏ¢ÈçÏ£º

server£ºÒ»¸öÐéÄâÖ÷»úµÄÅäÖã¬Ò»¸öhttpÖпÉÒÔÅäÖöà¸öserver

server_name£ºÓÃÁ¦°¡Ö¸¶¨ipµØÖ·»òÕßÓòÃû£¬¶à¸öÅäÖÃÖ®¼äÓÿոñ·Ö¸ô

root£º±íʾÕû¸öserverÐéÄâÖ÷»úÄڵĸùĿ¼£¬ËùÓе±Ç°Ö÷»úÖÐwebÏîÄ¿µÄ¸ùĿ¼

index£ºÓû§·ÃÎÊwebÍøÕ¾Ê±µÄÈ«¾ÖÊ×Ò³

charset£ºÓÃÓÚÉèÖÃwww/·¾¶ÖÐÅäÖõÄÍøÒ³µÄĬÈϱàÂë¸ñʽ

access_log£ºÓÃÓÚÖ¸¶¨¸ÃÐéÄâÖ÷»ú·þÎñÆ÷ÖеķÃÎʼǼÈÕÖ¾´æ·Å·¾¶

error_log£ºÓÃÓÚÖ¸¶¨¸ÃÐéÄâÖ÷»ú·þÎñÆ÷ÖзÃÎÊ´íÎóÈÕÖ¾µÄ´æ·Å·¾¶

locationÄ£¿é

locationÄ£¿éÊÇnginxÅäÖÃÖгöÏÖ×î¶àµÄÒ»¸öÅäÖã¬Ö÷ÒªÓÃÓÚÅäÖ÷ÓÉ·ÃÎÊÐÅÏ¢

ÔÚ·ÓÉ·ÃÎÊÐÅÏ¢ÅäÖÃÖйØÁªµ½·´Ïò´úÀí¡¢¸ºÔؾùºâµÈµÈ¸÷ÏÄÜ£¬ËùÒÔlocationÄ£¿éÒ²ÊÇÒ»¸ö·Ç³£ÖØÒªµÄÅäÖÃÄ£¿é

»ù±¾ÅäÖÃ

location / {
root /nginx/www;
index index.php index.html index.htm;
}

 

location /£º±íʾƥÅä·ÃÎʸùĿ¼

root£ºÓÃÓÚÖ¸¶¨·ÃÎʸùĿ¼ʱ£¬·ÃÎÊÐéÄâÖ÷»úµÄwebĿ¼

index£ºÔÚ²»Ö¸¶¨·ÃÎʾßÌå×ÊԴʱ£¬Ä¬ÈÏչʾµÄ×ÊÔ´ÎļþÁбí

·´Ïò´úÀíÅäÖ÷½Ê½

ͨ¹ý·´Ïò´úÀí´úÀí·þÎñÆ÷·ÃÎÊģʽ£¬Í¨¹ýproxy_setÅäÖÃÈÿͻ§¶Ë·ÃÎÊ͸Ã÷»¯

location / {
proxy_pass http://localhost:8888;
proxy_set_header X-real-ip $remote_addr;
proxy_set_header Host $http_host;
}

uwsgiÅäÖÃ

wsgiģʽϵķþÎñÆ÷ÅäÖ÷ÃÎÊ·½Ê½

location / {
include uwsgi_params;
uwsgi_pass localhost:8888
}

upstreamÄ£¿é

upstreamÄ£¿éÖ÷Òª¸ºÔð¸ºÔؾùºâµÄÅäÖã¬Í¨¹ýĬÈϵÄÂÖѯµ÷¶È·½Ê½À´·Ö·¢ÇëÇ󵽺ó¶Ë·þÎñÆ÷

¼òµ¥µÄÅäÖ÷½Ê½ÈçÏÂ

upstream name {
ip_hash;
server 192.168.1.100:8000;
server 192.168.1.100:8001 down;
server 192.168.1.100:8002 max_fails=3;
server 192.168.1.100:8003 fail_timeout=20s;
server 192.168.1.100:8004 max_fails=3 fail_timeout=20s;
}

ºËÐÄÅäÖÃÐÅÏ¢ÈçÏÂ

ip_hash£ºÖ¸¶¨ÇëÇóµ÷¶ÈËã·¨£¬Ä¬ÈÏÊÇweightÈ¨ÖØÂÖѯµ÷¶È£¬¿ÉÒÔÖ¸¶¨

server host:port£º·Ö·¢·þÎñÆ÷µÄÁбíÅäÖÃ

-- down£º±íʾ¸ÃÖ÷»úÔÝÍ£·þÎñ

-- max_fails£º±íʾʧ°Ü×î´ó´ÎÊý£¬³¬¹ýʧ°Ü×î´ó´ÎÊýÔÝÍ£·þÎñ

-- fail_timeout£º±íʾÈç¹ûÇëÇóÊÜÀíʧ°Ü£¬ÔÝÍ£Ö¸¶¨µÄʱ¼äÖ®ºóÖØÐ·¢ÆðÇëÇó

 

 

   
2071 ´Îä¯ÀÀ       31
????

HTTP????
nginx??????
SD-WAN???
5G?????
 
????

??????????
IPv6???????
??????????
???????
????

????????
????????
???????????????
??????????
×îл¼Æ»®
DeepSeek´óÄ£ÐÍÓ¦Óÿª·¢ 6-12[ÏÃÃÅ]
È˹¤ÖÇÄÜ.»úÆ÷ѧϰTensorFlow 6-22[Ö±²¥]
»ùÓÚ UML ºÍEA½øÐзÖÎöÉè¼Æ 6-30[±±¾©]
ǶÈëʽÈí¼þ¼Ü¹¹-¸ß¼¶Êµ¼ù 7-9[±±¾©]
Óû§ÌåÑé¡¢Ò×ÓÃÐÔ²âÊÔÓëÆÀ¹À 7-25[Î÷°²]
ͼÊý¾Ý¿âÓë֪ʶͼÆ× 8-23[±±¾©]
 
×îÐÂÎÄÕÂ
ÔÆÔ­Éú¼Ü¹¹¸ÅÊö
K8S¸ß¿ÉÓü¯Èº¼Ü¹¹ÊµÏÖ
ÈÝÆ÷ÔÆ¹ÜÀíÖ®K8S¼¯Èº¸ÅÊö
k8s-ÕûÌå¸ÅÊöºÍ¼Ü¹¹
Ê®·ÖÖÓѧ»áÓÃdocker²¿Êð΢·þÎñ
×îпγÌ
ÔÆ¼ÆË㡢΢·þÎñÓë·Ö²¼Ê½¼Ü¹¹
Æóҵ˽ÓÐÔÆÔ­ÀíÓë¹¹½¨
»ùÓÚKubernetesµÄDevOpsʵ¼ù
ÔÆÆ½Ì¨¼Ü¹¹ÓëÓ¦Ó㨰¢ÀïÔÆ£©
Docker²¿Êð±»²âϵͳÓë×Ô¶¯»¯¿ò¼Üʵ¼ù
³É¹¦°¸Àý
±±¾© ÔÆÆ½Ì¨Óë΢·þÎñ¼Ü¹¹Éè¼Æ
ͨÓù«Ë¾GE DockerÔ­ÀíÓëʵ¼ùÅàѵ
ij¾ü¹¤Ñо¿µ¥Î» MDA£¨Ä£ÐÍÇý¶¯¼Ü¹¹£©
ÖªÃûÏû·Ñ½ðÈÚ¹«Ë¾ ÁìÓòÇý¶¯Éè¼Æ
ÉîÛÚijÆû³µÆóÒµ Ä£ÐÍÇý¶¯µÄ·ÖÎöÉè¼Æ