ÔÚµ±½ñÕâ¸öÐÅÏ¢±¬Õ¨µÄ?ʱÆÚ£¬ÊÓÆµÒѳÉΪÈËÃÇ»ñÊØÐÅÏ¢¡¢ÓéÀÖÏûDz¡¢Éç½»»¥¶¯µÄÖØÒªÔØÌå¡£´Ó¸ßÇåµçÓ°µÄµã²¥µ½ÊµÊ±Ö±²¥µÄ»ð±¬£¬ÊÓÆµÁ÷ýÌåµÄÐèÒª³öÏÖ³ö¼¸ºÎ¼¶Ôö³¤¡£¶øÔÚÕâ±³ºó£¬Ö§³ÖÆðº£Á¿ÊÓÆµÁ÷³©´«ÊäµÄ£¬ÍùÍùÊÇÄÇЩĬĬÎÞÎÅÈ´ÖÁ¹Ø³ÁÒªµÄ¼¼Êõ»ùʯ£¬Nginx¾ÍÊÇÆäÖÐÇ̳þ¡£
ºÜ¶àÈË¿ÉÄܶÔNginxµÄ׳´ó»úÄÜÔçÓжúÎÅ£¬ÓÈÆäÊÇÔÚ´¦?Àí¸ß²¢·¢ÏνӺ;²Ì¬Îļþ´«Êä·½Ãæ£¬ËüÏÕЩÊÇÎÞ¿ÉÆ¥µÐµÄ´æÔÚ¡£µ±ÎÒÃǽ«ÑÛ¹âͶÏòÊÓÆµÁ÷ýÌåÕâ¸ö¶Ô»úÄÜÒªÇó¼«ÎªÑÏ¿ÁµÄÁìÓòʱ£¬NginxÓÖ½«Õ¹Ê¾³öÔõôµÄ¡°100%ÊÓÆµ100%»úÄÜ¡±µÄʵÁ¦ÄØ£¿
Ò»¡¢NginxµÄÖ÷ÌâÓÅÊÆ£ºÎªºÎËüÊÇÊÓÆµÁ÷ýÌåµÄÓÅÑ¡£¿
ÒªÀí½âNginxÈôºÎʵÏÖ¡°100%ÊÓÆµ100%»úÄÜ¡±£¬ÎÒÃÇÊ×ÏȱØÒªÉî¿ÌÆäÖ÷Ìâ¼Ü¹¹ºÍÉè¼ÆÀíÏë¡£NginxѡȡµÄÊÇÊÂÎñÇý¶¯¡¢Òì²½·Ç×èÈûµÄI/OÄ£ÐÍ£¬ÕâÓ봫ͳµÄApache·þÎñÆ÷ѡȡµÄ¹ý³Ì/Ïß³ÌÄ£ÐÍÓÐ×ÅÐÔÖʵÄÇø±ð¡£
ÊÂÎñÇý¶¯ÓëÒì²½·Ç×èÈû£º´«Í³µÄ·þÎñÆ÷Ä£ÐÍ£¬ÀýÈçApache£¬Ã¿¸öÒªÇóͨ³£»á´´½¨Ò»¸öеĹý³Ì»òÏß³ÌÀ´´¦?Àí¡£µ±²¢·¢ÒªÇóÁ¿Ôö´óʱ£¬´ó?Á¿µÄ¹ý³Ì/Ï̻߳á¿÷Ëð´ó?Á¿µÄϵͳ×ÊÔ´£¨CPUºÍÄڴ棩£¬µ¼Ö¸ߵÍÎÄÇл»ÆµÈÔ£¬»úÄܼ±¾ç½µÂ䣬ÉõÖÁ³öÏÖ¡°¾ªÈºÐ§Ó¦¡±¡£¶øNginxÔòѡȡµ¥?Ò»Ö÷¹ý³Ì£¨masterprocess£©ºÍ¶à¸ö¹¤×÷¹ý³Ì£¨workerprocesses£©µÄģʽ¡£
ÿ¸ö¹¤×÷¹ý³ÌÄܹ»Í¬Ê±´¦ÖóÉǧÉÏÍò¸ö²¢·¢Ïνӣ¬Ëüͨ¹ýÊÂÎñÑ»·£¨eventloop£©À´¸ßЧµØÖÎÀíÕâЩÏνӡ£µ±Ò»¸öÏνÓÓÐI/OÊÂÎñ²úÉúʱ£¨ÈçÊý¾Ý´ïµ½»ò·¢ËͽáÊø£©£¬Nginx»áµ±¼´¸ÐÖªµ½£¬²¢½«Æä½»¸øÏàÓ¦µÄ¹¤×÷¹ý³Ì´¦Ö㬶øÎÞÐè×èÈûÆÚ´ý¡£ÕâÖÖÄ£Ðͼ«´óµØ½µµÍÁË×ÊÔ´¿÷Ëð£¬Ê¹µÃNginx¿ÉÄÜÒÔ¼«µÍµÄÄÚ´æÕ¼Óô¦Öü«¸ßµÄ²¢·¢Ïνӡ£
¶ÔÓÚÊÓÆµÁ÷ýÌå¶øÑÔ£¬ÕâÒâζ׿´±ãÔÚÊý°ÙÍòÓû§Í¬Ê±ÅÔ¹ÛÖ±²¥»òµã²¥µÄÇé¿öÏ£¬NginxÒ²ÄÜά³Ö²»±äºÍ¸ßЧ£¬±£ÕÏÿһ֡ÊÓÆµ¶¼ÄÜʵʱͶµÝ¡£
¸ßЧµÄ¾²Ì¬Îļþ´¦ÖãºÊÓÆµÎļþ£¬ÎÞÂÛÊǵ㲥µÄMP4¡¢FLV£¬»¹ÊÇÖ±²¥ÇÐÆ¬ºóµÄTSÎļþ£¬ÐÔÖÊÉ϶¼ÊǾ²Ì¬Îļþ¡£NginxÔÚ´¦Öþ²Ì¬Îļþ·½ÃæÓÐ×ÅÌìÉúµÄÓÅÊÆ¡£Ëü¿ÉÄÜÖ±½Ó´Ó²Ù×÷ϵͳÄں˻ñÈ¡ÎļþÊý¾Ý£¬²¢Í¨¹ýsendfile()ϵͳŲÓøßЧµØ½«Êý¾Ý·¢Ë͵½ÍøÂç¡£
sendfile()µÄ¹Ø¼üÔÚÓÚËü¿ÉÄÜÈÆ¹ýÓû§¿Õ¼ä£¬Ö±½ÓÔÚÄÚºË¿Õ¼ä½øÐÐÎļþµ½socketµÄÊý¾Ý´«?Ê䣬ʡȥÁËÓû§¿Õ¼äºÍÄں˿ռäµÄÁ½´ÎÊý¾Ý¿½±´£¬´ó´óÌá¸ßÁË´«ÊäЧÄÜ£¬½µµÍÁËCPU¸ºÔØ¡£¶ÔÓÚº£Á¿µÄÊÓÆµÎļþ·Ö·¢£¬NginxµÄÕâÒ»¸öÐÔÖ±½Óת»¯Îª¸ü¿ìµÄ¼ÓÔØ¿ìÂʺ͸üµÍµÄ·þÎñÆ÷ѹÁ¦¡£
ÇáÁ¿¼¶µÄÄÚ´æÕ¼ÓãºÏà¶ÔÓÚ±ØÒªÎªÃ¿¸öÏνӷÖÅä´óÁ¿ÄÚ´æµÄ¹ý³Ì/Ïß³ÌÄ£ÐÍ£¬NginxµÄÊÂÎñÇý¶¯Ä£ÐÍÄÚ´æÕ¼Óü«¶ÈÓס£ÕâÒâζ×ÅÔÚÒ»ÑùµÄÓ²¼þǰÌáÏ£¬NginxÄܹ»Ö§³Ö?¸ü¶àµÄ²¢·¢Ïνӣ¬¶ÔÓÚ±ØÒªÍ¬Ê±·þÎñ´óÁ¿Óû§µÄÊÓÆµÆ½Ì¨À´Ëµ£¬ÕâÎÞÒÉÊǽµµÍÔËÓª³É?±¾¡¢ÌáÉý·þÎñÄÜÁ¦µÄ¹Ø¼ü¡£
½Ã½ÝµÄÅäÖúÍÄ£¿é»¯Éè¼Æ£ºNginxÕ¼Óм«Æä½Ã½ÝµÄÅäÖÃÓï·¨£¬²¢ÇÒÖ§³Ö·á˶µÄÄ£¿é»¯À©´ó¡£ÕâʹµÃÓû§Äܹ»Æ¾¾Ý¾ßÌåµÄÒµÎñÐèÒª£¬¶¨Ô컯µØÅäÖÃNginx¡£¶ÔÓÚÊÓÆµÁ÷ýÌ壬Äܹ»Í¨¹ý¸÷ÀàÄ£¿é£¨ÈçRTMPÄ£¿é¡¢HLS/DASHÄ£¿é¡¢HTTP/2Ä£¿éµÈ£©À´Ö§³Ö·ÖÆçµÄÁ÷ýÌåºÍ̸ºÍ´«Ê䷽ʽ£¬´Ó¶øÂú×ãµã²¥¡¢Ö±²¥¡¢CDN·Ö·¢µÈ¶àÑù»¯µÄÀûÓó¡¾°¡£
NginxµÄ׳´óÄÜÁ¦Ê¹ÆäÔÚÊÓÆµÁ÷ýÌåµÄ¸÷¸ö»·½Ú¶¼ÄܲûÑïÖÁ¹Ø³ÁÒªµÄ×÷Ó㬴ÓÔ´Õ¾µÄÄÚÈÝ·Ö·¢£¬µ½CDNµÄ±ßÔµ½Úµã¼Ó¿ì£¬ÔÙµ½×îÖÕÓû§¶ËµÄ?Á÷³©²¥·Å£¬NginxÏÕЩÎÞ´¦²»ÔÚ¡£
Ö±²¥£¨LiveStreaming£©¼Ó¿ì£ºÊµÊ±Ö±²¥¶ÔÑÓ³¤µÄÒªÇ󼫸ߣ¬ÈκÎÒ»µã¿¨¶Ù¶¼¿ÉÄܵ¼ÖÂÓû§Á÷ʧ¡£Nginxͨ¹ýÆäRTMPÄ£¿é£¬Äܹ»¸ßЧµØ´¦ÖÃRTMPºÍ̸£¬×÷Ϊֱ²¥Á÷µÄ½ÓÈëµã£¬½«Ö±²¥ÐźÅת·¢¸øºó¶ËÍÆÁ÷·þÎñÆ÷»òÖ±½Ó½øÐзַ¢¡£½áºÏÆä¸ß²¢·¢´¦ÖÃÄÜÁ¦£¬NginxÄܹ»ÇáËÉÓ¦¶ÔÊý°ÙÍòÉõÖÁÉÏǧÍòÓû§Í¬Ê±ÅÔ¹ÛÒ»³¡Ö±²¥µÄ³¡¾°¡£
ͨ¹ýÓëÆäËûÁ÷ýÌå·þÎñÆ÷£¨ÈçFFmpeg¡¢SRSµÈ£©¹²Í¬£¬NginxÄܹ»¹¹½¨³ö²»±ä¡¢µÍÑÓ³¤µÄÖ±²¥·Ö·¢ÏµÍ³¡£
µã²¥£¨VideoonDemand£©·þÎñ£º¶ÔÓڵ㲥ÄÚÈÝ£¬NginxÄܹ»×÷Ϊ¸ß»úÄܵľ²Ì¬Îļþ·þÎñÆ÷£¬Ö±½ÓÌṩMP4¡¢FLVµÈÌåʽµÄÊÓÆµÎļþ¡£¹²Í¬Æä¸ßЧµÄ»º´æ»úÔ죬NginxÄܹ»½«ÈȵãÊÓÆµ»º´æÔÚÄÚ´æ»ò´ÅÅÌÖУ¬µ±Óû§ÔÙ´ÎÒªÇóʱ£¬Äܹ»Ö±½Ó´Ó»º´æÌṩ·þÎñ£¬¼«´óµØÌáÉýÁ˼ÓÔØ¿ìÂÊ£¬½µµÍÁ˺ó¶Ë´æ´¢µÄѹÁ¦¡£
Nginx»¹Äܹ»¹²Í¬HLS(HTTPLiveStreaming)»òDASH(DynamicAdaptiveStreamingoverHTTP)µÈ×ÔÊÊÓ¦ÂëÂÊÁ÷ýÌåºÍ̸£¬½«ÊÓÆµÇзֳÉÓ׶Σ¬²¢ÌìÉú²¥·ÅÁÐ±í¡£NginxÄܹ»¸ßЧµØ·Ö·¢ÕâЩÊÓÆµÆ¬¶ÎºÍ²¥·ÅÁÐ±í£¬Ê¹²¥?·ÅÆ÷¿ÉÄÜÆ¾¾ÝÓû§µÄÍøÂçÇé¿ö¶¯Ì¬µ÷ÕûÊÓÆµÂëÂÊ£¬ÌṩÁ÷³©µÄÅÔ¹ÛÂÄÀú£¬ÓÐЧ½â¾öÒòÍøÂçµßô¤µ¼ÖµĿ¨¶ÙÎÊÌâ¡£
CDNÄÚÈÝ·Ö·¢ÍøÂ磺ÔÚ¹¹½¨CDNʱ£¬Nginx±íÑÝ×ÅÖÁ¹Ø³ÁÒªµÄ½ÇÉ«¡£CDNµÄÖ÷ÌâÔÚÓÚ½«ÄÚÈÝ·Ö·¢µ½ÀëÓû§×î½üµÄ?±ßÔµ½Úµã£¬ÒÔËõ¶Ì½Ó¼ûÑÓ³¤£¬Ìá¸ß½Ó¼û¿ìÂÊ¡£NginxÄܹ»²¿ÊðÔÚ¸÷¸öCDN±ßÔµ½ÚµãÉÏ£¬×÷ΪÄÚÈÝ»º´æ·þÎñÆ÷ºÍÁ÷Á¿½ÓÈëµã¡£µ±Óû§ÒªÇóÊÓÆµÊ±£¬ÒªÇó»áÊ×ÏÈ´ïµ½¾Í½üµÄCDN½Úµã£¬ÈôÊÇÄÚÈÝÒÑ»º´æ£¬Nginx»áÖ±½ÓÌṩ·þÎñ£»ÈôÊÇûÓлº´æ£¬Nginx»á»ØÔ´Õ¾»ñÈ¡£¬²¢ÔÚ±¾µØ»º´æ£¬¹©ºóÐøÓû§Ê¹Óá£
NginxµÄ¸ß»úÄܺ͵Í×ÊÔ´¿÷Ëð£¬Ê¹Æä³ÉΪ¹¹½¨´ó¹æÄ£¡¢¸ßЧÄÜCDNµÄÃÎÏëÑ¡Ôñ£¬´Ó¶øÊµÏÖ¡°100%ÊÓÆµ¡±µÄ¼±¾ç´¥´ï¡£
APIÍø¹ØÓëÁ÷Á¿Â·ÓÉ£ºÔÚ¸´ÔÓµÄÁ÷ýÌåϵͳÖУ¬Nginx»¹Äܹ»×÷ΪAPIÍø¹Ø£¬´¦ÖÃÊÓÆµÉÏ´«¡¢×ªÂëÒªÇó¡¢Óû§ÐÅÏ¢ÑéÖ¤µÈAPIŲÓá£Í¨¹ýÆä׳´óµÄ·´Ïò´úÀíÄÜÁ¦£¬NginxÄܹ»½«·ÖÆçµÄÒªÇó·Óɵ½ÏàÓ¦µÄºó¶Ë·þÎñ£¬ÊµÏÖ¸ºÔØÆ½ºâºÍ¹ÊÕÏ×ªÒÆ£¬È·±£Õû¸öÁ÷ýÌåϵͳµÄ²»±äÔËÐС£
Ç°ÃæÎÒÃÇÒѾÉî¿Ì·Ö½âÁËNginxÔÚÊÓÆµÁ÷ýÌåÁìÓòµÄÖ÷ÌâÓÅÊÆºÍ¿í·ºÀûÓá£ÒªÏëÕæÕýʵÏÖ¡°100%ÊÓÆµ100%»úÄÜ¡±£¬½ö½öÀí½âÆäµÀÀíÊÇÔ¶Ô¶²»¹»µÄ£¬»¹±ØÒª½øÐо«ÃÜ»¯µÄÅäÖõ÷ÓźͰÑÎÕһЩ¸ß¼¶¼¼ÇÉ¡£ÕⲿÃÅÎÒÃǽ«¾Û½¹ÓÚÈôºÎ½«NginxµÄ»úÄÜDZÁ¦²ûÑïµ½¼«Ö£¬È·±£ÄúµÄÊÓÆµÁ÷ýÌå·þÎñ²»±ä¡¢¸ßЧ¡¢¿¿µÃס¡£
¼´±ãÊÇĬÈÏÅäÖã¬NginxµÄ?»úÄÜÒ²ÒÑÏ൱½Ü³ö£¬µ«?ͨ¹ýһЩ»ù´¡µÄ²ÎÊýµ÷Õû£¬Äܹ»ÏÔÖøÌáÉýÆäÔÚÊÓÆµÁ÷ýÌ峡¾°ÏµIJû·¢¡£
Worker¹ý³ÌÓëCPUÖ÷ÌâµÄÓ³É䣺NginxµÄworker_processes²ÎÊý¾ö¶¨Á˹¤×÷¹ý³ÌµÄÊýÁ¿¡£Í¨³£½¨Ò齫ÆäÉèÖÃΪÓë·þÎñÆ÷CPUÖ÷ÌâÊýÒ»Ö£¬»òÕßÂÔÉÙÓÚCPUÖ÷ÌâÊý¡£ÕâÑùÄܹ»³ä·ÖÀûÓöàºËCPUµÄ²¢Ðд¦ÖÃÄÜÁ¦£¬Ô¤·ÀÒò¹ý³ÌÊý¹ý¶àµ¼ÖµÄ?¸ßµÍÎÄÇл»¿ªÏú¡£
ÀýÈ磬ÈôÊÇÄúµÄ·þÎñÆ÷ÓÐ8¸öCPUÖ÷Ì⣬Äܹ»ÉèÖÃworker_processes8;¡£
WorkerÏνÓÊý£ºworker_connections²ÎÊý½ç˵ÁËÿ¸ö¹¤×÷¹ý³Ì¿ÉÄÜ´¦ÖõÄ×î´ó²¢·¢ÏνÓÊý¡£Õâ¸öÖµ±ØÒªÆ¾¾ÝÄúµÄ·þÎñÆ÷ÄÚ´æºÍÏÖʵµÄ²¢·¢ÐèÒªÀ´É趨¡£Ò»¸ö½Ï¸ßµÄworker_connectionsÖµÒâζ×Åÿ¸ö¹¤×÷¹ý³Ì?Äܹ»Í¬Ê±ÖÎÀí¸ü¶àµÄÏνӣ¬µ«Ò²Òª°ÑÎÈÄÚ´æ¿÷Ëð¡£
¶ÔÓÚÊÓÆµÁ÷ýÌ壬˼¿¼µ½Ã¿¸öÏνӿÉÄܱØÒª½Ï³¤¹¦·òµÄά³Ö£¨ÓÈÆäÊÇÔÚÖ±²¥ÖУ©£¬ÉèÖÃÒ»¸öºÏÀíµÄÖµ¼«¶È³ÁÒª¡£¹«Ê½max_clients=worker_processes*worker_connectionsÄܹ»Ô®ÊÖÄú¹ÀËãÕû¸ö·þÎñÆ÷¿ÉÄÜÖ§³ÖµÄ×î´ó²¢·¢ÏνÓÊý¡£
Îļþ¾ä±úÏÞ¶È£¨ulimit£©£ºNginxµÄ¹¤×÷¹ý³Ì±ØÒª´ò¿ª´óÁ¿µÄÎļþ¾ä±úÀ´´¦ÖÃÍøÂçÏνӺÍÎļþ¶Áд¡£ÔÚLinuxϵͳÖУ¬±ØÒªÍ¨¹ýulimit-nºÅÁîÀ´Ìá¸ßÿ¸ö¹ý³Ì¿ÉÄÜ´ò¿ªµÄ×î´óÎļþ¾ä±úÊý¡£Í¨³£½¨Ò齫ÆäÉèÖÃΪһ¸ö½Ï´óµÄÖµ£¬ÀýÈç65535»ò¸ü¸ß£¬ÒÔÔ¤·ÀÒòÎļþ¾ä±úºÄ¾¡¶øµ¼ÖµÄÏνÓʧ°Ü¡£
Õâͨ³£±ØÒªÔÚ/etc/security/limits.confÎļþÖнøÐÐÅäÖ㬲¢È·±£NginxÆô¶¯Óû§¿ÉÄܼ̳ÐÕâЩÉèÖá£
ÆôÓÃkeepalive£ºkeepalive_timeoutºÍkeepalive_requests²ÎÊý¶ÔÓÚÏ÷¼õTCPÏνӵijÉÁ¢ºÍ¹Ø¹Ø¿ªÏúÖÁ¹Ø³ÁÒª¡£¶ÔÓÚÊÓÆµÁ÷ýÌ壬ά³ÖÏνӵĻîÔ¾Ö°Äܹ»ÏÔÖøÌá¸ßЧÄÜ¡£keepalive_timeoutÉèÖÃÁ˿ͻ§¶ËÏνӵÄά³Ö¹¦·ò£¬¶økeepalive_requestsÔòÏÞ¶ÈÁËÒ»¸öÏνÓÔÚ±»¹Ø¹ØÇ°Äܹ»´¦ÖõÄ×î´óÒªÇóÊý¡£
ÔÚÊÓÆµ²¥·Å³¡¾°Ï£¬Êʵ±µ¢¸ékeepalive_timeoutÄܹ»ÓÐЧÏ÷¼õ³Á¸´ÏνӵĿªÏú£¬ÌáÉýÕûÌåÍÌÍÂÁ¿¡£
ÆôÓÃTCPNODELAYºÍTCPNOPUSH£ºtcp_nodelayon;²ÎÊýÄܹ»½ûÓÃNagleËã·¨£¬Ëü»á³¢ÊÔ½«Ó×µÄÊý¾Ý°ü¾ÛºÏÆðÀ´Ò»Â··¢ËÍ£¬ÕâÔÚÍøÂçÑÓ³¤½Ï¸ßʱ¿ÉÄܵ¼ÖÂÐÂÎÅÑÓ³¤¡£¶ÔÓÚÊÓÆµÁ÷£¬¼´±ãÊÇÓ×µÄÊý¾Ý¿éÒ²±ØÒª¾¡¿ì·¢ËÍ£¬ÒÔ±£ÕÏʵʱÐÔ¡£
tcp_nopushon;ÔòÔÊÐíNginxÔÚ·¢ËÍÎļþÄÚÈÝ֮ǰ£¬¾¡¿ÉÄÜ¶àµØ½«ÏìӦͷһ´ÎÐÔ·¢ËͳöÈ¥£¬ÕâÒ²ÄÜÓÅ»¯»úÄÜ¡£
¶þ¡¢ÊÓÆµÁ÷ýÌåרÏîÓÅ»¯£ºHLS/DASHÓëRTMPµÄÉî¶ÈÕûºÏ
¶ÔÓÚÊÓÆµÁ÷ýÌ壬NginxµÄÅäÖû¹±ØÒªÕë¶ÔÐÔµØË¼¿¼HLS/DASHºÍRTMPµÈºÍ̸µÄÌØµã½øÐÐÓÅ»¯¡£
»º´æÕ½Êõ£ºHLS/DASH½«ÊÓÆµÇзֳÉÓ×µÄýÌ寬¶Î£¨.ts»ò.mp4£©¡£NginxÄܹ»ÓÐЧµØ»º´æÕâЩýÌ寬¶ÎÒÔ¼°²¥·ÅÁÐ±í£¨.m3u8»ò.mpd£©¡£Í¨¹ýexpiresÖ¸Áî»òproxy_cacheÖ¸ÁÄܹ»ÅäÖúÏÀíµÄ?»º´æÕ½Êõ£¬ÈÃÓû§¿ÉÄܼ±¾ç½Ó¼ûµ½³£ÓõÄÊÓÆµÆ¬¶Î¡£
GzipѹËõ£º¹ÌȻýÌåÎļþ×ÔÉíͨ³£ÒѾ½øÐÐÁ˱àÂëѹËõ£¬µ«?²¥·ÅÁбíÎļþ£¨.m3u8/.mpd£©ºÍһЩԪÊý¾ÝÄܹ»ÆôÓÃGzipѹËõ£¬ÒÔ¼õÓ×´«ÊäÌå»ý£¬Ìá¸ß¼ÓÔØ¿ìÂÊ¡£Äܹ»ÔÚhttp»òserver¿éÖÐÉèÖÃgzipon;£¬²¢Æ¾¾Ý±ØÒªµ÷Õûgzip_types¡£
HTTP/2Ö§³Ö£ºÆôÓÃHTTP/2ºÍ̸Äܹ»ÏÔÖøÌáÉýHLS/DASHµÄ»úÄÜ¡£HTTP/2Ö§³Ö¶à·¸´Óã¨Multiplexing£©£¬ÔÊÐíÔÚÒ»¸öTCPÏνÓÉÏͬʱ´«Êä¶à¸öÒªÇóºÍÏìÓ¦£¬Ï÷¼õÁËÒò¶à¸öýÌ寬¶Î±ØÒª³ÉÁ¢¶à¸öÏνӵĿªÏú£¬´ó?´óÌá¸ßÁ˲¥·ÅЧÄÜ¡£
RTMPÄ£¿é×°ÖãºNginxĬÈϲ»Ô̺¬RTMPÄ£¿é£¬±ØÒªÍ¨¹ý±àÒëʱÔö³¤ngx_http_vhost_traffic_status_moduleÄ£¿é»òʹÓÃÔ¤±àÒëµÄ°ü?º¬RTMPÄ£¿éµÄNginx°æ±¾¡£RTMPÁ÷ת·¢£ºNginxµÄRTMPÄ£¿éÄܹ»×÷Ϊֱ²¥Á÷µÄ½ÓÈëµã£¬½«ÍÆÁ÷µÄRTMPÐźÅת·¢µ½ºó¶ËÁ÷ýÌå·þÎñÆ÷£¨ÈçSRS,FFmpeg,WowzaµÈ£©£¬»òÕßÖ±½Ó½øÐзַ¢¡£
ÅäÖÃrtmp¿é£¬ÉèÖÃserver¡¢listen¡¢applicationµÈ²ÎÊý£¬²¢ÀûÓÃpush»òrelayÖ¸ÁîʵÏÖÁ÷µÄת·¢¡£´ø¿íÏ޶ȺÍÁ¬ÊÕÊÜÀí£ºRTMPÄ£¿éÒ²Ö§³ÖһЩ¸ù»ùµÄÁ÷Á¿½ÚÔ죬ÀýÈçͨ¹ýclient_limitºÍstream_limitÀ´ÏÞ¶Èͳһ¿Í»§¶Ë»òͳһÁ÷µÄ×î´óÏνÓÊý£¬ÓÐÖúÓÚÔ¤·À¶ñÒâ¹¥»÷ºÍ±£ÕÏÖ±²¥µÄ²»±äÐÔ¡£
ÔÚ¸´ÔÓµÄÁ÷ýÌå¼Ü¹¹ÖУ¬NginxµÄ×÷ÓÃÔ¶²»Ö¹ÓÚµ¥Ò»µÄÎļþ·Ö·¢¡£
CDN±ßÔµ½Úµã²¿Êð£ºÔÚCDN¼Ü¹¹ÖУ¬Nginx±»?¿í·ºÓÃ×÷±ßÔµ½ÚµãµÄ·þÎñÆ÷¡£ËüÕÆ¹Ü»º´æÔ´Õ¾µÄÄÚÈÝ£¬²¢Ö±½Ó·þÎñÓÚÖÕ¶ËÓû§¡£Í¨¹ýÓëCDN³§É̵ÄÉî¶È¼¯³É£¬NginxÄܹ»ÊµÏÖÖÇÄܵÄÁ÷Á¿µ÷¶ÈºÍ»ØÔ´Õ½Êõ£¬È·±£ÄÚÈÝ¿ÉÄÜÒÔ×î¿ìµÄ¿ìÂÊ´¥´ï?Óû§¡£
¸ºÔØÆ½ºâ£º¶ÔÓڸ߻úÄܵÄÁ÷ýÌå·þÎñ£¬Í¨³£±ØÒª¶ą̀·þÎñÆ÷Ðͬ¹¤×÷¡£NginxµÄupstreamÄ£¿éÄܹ»ÊµÏÖ׳´óµÄ¸ºÔØÆ½ºâÖ°ÄÜ£¬½«À´×ÔÓû§µÄÒªÇó¾ùÔȵطַ¢µ½ºó¶ËµÄ¶ą̀Á÷ýÌå·þÎñÆ÷»òAPI·þÎñÆ÷ÉÏ¡£Ö§³Ö¶àÖÖ¸ºÔØÆ½ºâËã·¨£¬ÈçÂÖѯ£¨roundrobin£©¡¢ÖÁÉÙÏνӣ¨leastconn£©¡¢IP¹þÏ££¨iphash£©µÈ£¬Äܹ»Æ¾¾ÝÒµÎñÐèҪѡÔñ×îÊʺϵÄÕ½Êõ¡£
¶¯¾²·ÖÀ룺ÔÚÊÓÆµ·þÎñÖУ¬ÍùÍù»á»ìºÏ¾²Ì¬µÄÊÓÆµÎļþºÍ¶¯Ì¬µÄAPIÒªÇó£¨ÈçÓû§µÇ¼¡¢ËÑË÷¡¢ÆÀÂ۵ȣ©¡£NginxÄܹ»Í¨¹ýlocationÖ¸Á½«¾²Ì¬×ÊÔ´£¨ÈçÊÓÆµÎļþ¡¢Í¼Æ¬¡¢CSS¡¢JS£©Ö±½ÓÓÉNginx´¦Ö㬶ø½«¶¯Ì¬ÒªÇóת·¢¸øºó¶ËµÄ?ÀûÓ÷þÎñÆ÷¡£
ÕâÖÖ¡°¶¯¾²·ÖÀ롱µÄ¼Ü¹¹Äܹ»¼«´óµØ¼õÇáºó¶ËÀûÓ÷þÎñÆ÷µÄ?ѹÁ¦£¬ÌáÉýÕûÌåµÄÏìÓ¦¿ìÂʺÍÍÌÍÂÁ¿¡£
SSL/TLS¼ÓÃÜ£ºÎªÁ˱£ÕÏÊÓÆµ´«ÊäµÄ°²È«ÐÔºÍÓû§ÒþÖÔ£¬SSL/TLS¼ÓÃÜÊDZز»³ÉÉٵġ£NginxÖ§³Ö¸ßЧµÄSSL/TLSÖ¤ÊéÅäÖúͼÓÃÜÏνӴ¦Ö᣺ÏÀíÅäÖÃssl_certificate¡¢ssl_certificate_keyµÈ²ÎÊý£¬²¢ÆôÓÃssl_session_cacheµÈ?»úÔ죬Äܹ»È·±£?¼ÓÃÜÏνӵĸßЧÐÔ¡£
¼à¿ØÓëÈÕÖ¾·ÖÎö£ºÎªÁËʵʱ·¢Ïֺͽâ¾ö»úÄÜÆ¿¾±£¬¶ÔNginxµÄÔËÐÐ״̬½øÐÐ¼à¿ØºÍÈÕÖ¾·ÖÎöÖÁ¹Ø³ÁÒª¡£NginxµÄstub_statusÄ£¿éÄܹ»ÌṩʵʱµÄÏνÓÊý¡¢ÒªÇóÊýµÈ¹Ø¼üÖ¸±ê¡£¶ÔNginxµÄ½Ó¼ûÈÕÖ¾½øÐзÖÎö£¬Äܹ»ÏàʶÓû§½Ó¼ûģʽ¡¢¼ø±ðÂýÒªÇ󣬲¢¾Ý´Ë½øÒ»²½ÓÅ»¯ÅäÖá£
¡°Nginx100%ÊÓÆµ100%»úÄÜ¡±²¢·ÇÒ»¸öÐé»ÃµÄ¸ÅÏ룬¶øÊÇͨ¹ý¶ÔNginxÖ÷Ìâ¼Ü¹¹µÄÉî¿ÌÀí½â£¬½áºÏÏêϸÈë΢µÄÅäÖõ÷ÓÅ£¬ÒÔ¼°ÔÚÊÓÆµÁ÷ýÌåÁìÓòרÏîÓÅ»¯¼¼ÇɵÄÀûÓã¬ÆëÈ«Äܹ»ÊµÏÖµÄ׿Խָ±ê¡£´ÓÖ±²¥µ½µã²¥£¬´ÓCDNµ½APIÍø¹Ø£¬NginxµÄ׳´óÉíÓ°¹áͨÓÚÕû¸öÁ÷ýÌå·þÎñµÄÐÔÃüÖÜÆÚ¡£
°ÑÎÕNginxµÄ¾«»ª£¬Äú½«¿ÉÄܹ¹½¨³ö²»±ä¡¢¸ßЧ¡¢¿ÉÀ©´óµÄÊÓÆµÁ÷ýÌåÆ½Ì¨£¬ÎªÓû§ÌṩÎÞÓëÂ×±È?µÄÅÔ¹ÛÂÄÀú£¬ÕæÕý½âËøÄúµÄÁ÷ýÌåмÍÔª¡£