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

1Ôª 10Ôª 50Ôª





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



  ÇóÖª ÎÄÕ ÎÄ¿â Lib ÊÓÆµ iPerson ¿Î³Ì ÈÏÖ¤ ×Éѯ ¹¤¾ß ½²×ù Model Center   Code  
»áÔ±   
   
 
     
   
 ¶©ÔÄ
  ¾èÖú
˵˵NginxµÄºËÐļ¼ÊõºÍ³¡¾°µÄʹÓ÷½Ê½£¡
 
 
  1804  次浏览      31
2021-9-15
 
±à¼­ÍƼö:
±¾ÎÄÖ÷Òª½éÉÜÁËÃæÌ¸nginxºËÐÄÄÜÁ¦¼°ÊµÓù¦ÄÜ¡£
±¾ÎÄÀ´×ÔÓÚ΢ÐŹ«Õ˺мܹ¹Ê¦ÉçÇø £¬ÓÉ»ðÁú¹ûÈí¼þLinda±à¼­ÍƼö¡£

ǰÌìÈýÃæ°¢ÀïÔÆ±»Å°£¬ÃæÊÔ¹ÙÎʳöÁË¡°nginxÄãÁ˽âÂ𣿡±ÕâÑù¿í·ºÖ±°×µÄ¾äʽ£¬ÎÒһʱץ²»µ½Öص㣬һʱÓïàç¡£

ϰàÏëÁËһϣ¬Æ½Ê±Ç±ÒÆÄ¬»¯Óõ½²»ÉÙnginxµÄÄÜÁ¦£¬µ«ÔÚÃæÊÔµÄʱºòûÓдµ³É¶ÔÓ¦µÄ¸ÅÄî¡£

ÃæÌ¸nginxºËÐÄÄÜÁ¦

nginxÊÇÀÏÅÆweb·þÎñÆ÷£¬ÒÔÏ¿ÚË®»°µÄnginx»ù´¡ÄÜÁ¦£¬´ó¼Ò¶¼¶úÊìÄÜÏ꣬¿´¿´¾ÍÐУ¬ÃæÊÔ¹ÙÒ²²»´òË㿼²éÕâ¸ö¡£

¸ß²¢·¢Á¬½Ó: ¹Ù·½³Æµ¥½ÚµãÖ§³Ö5Íò²¢·¢Á¬½ÓÊý£¬Êµ¼ÊÉú²ú»·¾³Äܹ»³ÐÊÜ2-3Íò²¢·¢¡£

ÄÚ´æÏûºÄÉÙ: ÔÚ3Íò²¢·¢Á¬½ÓÏ£¬¿ªÆô10¸önginx½ø³Ì½öÏûºÄ150MÄÚ´æ (15M¡Á10=150M)

ÅäÖüòµ¥

³É±¾µÍÁ®: ¿ªÔ´Ãâ·Ñ

1. ÕýÏò¡¢·´Ïò´úÀí

Ëùν¡°´úÀí¡±£¬ÊÇÖ¸ÔÚÄÚÍø±ßÔµ ÉèÖÃÒ»¸öÓ²¼þ/Èí¼þת·¢ÇëÇó£»

¡°ÕýÏò¡±»¹ÊÇ¡°·´Ïò¡±µÄ˵·¨£¬È¡¾öÓÚת·¢µÄÊÇ"³öÕ¾ÇëÇó"»¹ÊÇ"ÈëÕ¾ÇëÇó".

ÕýÏò´úÀí£º´¦ÀíÀ´×Ô¿Í»§¶ËµÄ³öÕ¾ÇëÇ󣬽«Æäת·¢µ½Internet£¬È»ºó½«Éú³ÉµÄÏìÓ¦·µ»Ø¸ø¿Í»§¶Ë¡£

·´Ïò´úÀí£º´¦ÀíÀ´×ÔInternetµÄÈëÕ¾ÇëÇ󣬽«Æäת·¢¸øºó¶Ë¹¤×÷³ÌÐò£¬È»ºó½«ÏìÓ¦·µ»Ø¸øInternet¡£

ÕýÏò´úÀíºÍ·´Ïò´úÀí ÔÚ´úÀíµÄ·½ÏòÉϲ»Í¬£¬µ«¶¼»á´úÀí´¦ÀíHTTPÇëÇó/ÏìÓ¦¡£

´úÀí·þÎñÆ÷´æÔÚµÄÄ¿µÄ£º

±¤ÀÝ»ú/¸ôÀëÄÚÍø£ºÄÚÍø¿Í»§¶ËÎÞ·¨·ÃÎÊÍâÍøÐèÒªÉèÖñ¤ÀÝ»ú¡¢Òþ²ØÄÚÍø¹¤×÷·þÎñÆ÷

´úÀí·þÎñÆ÷¸½¼Ó¹¦ÄÜ£º¶ÔÁ÷Á¿Ö´ÐвÙ×÷¡¢Ê¹Óûº´æ»òѹËõÀ´Ìá¸ßÐÔÄÜ¡¢·ÀÓù¹¥»÷²¢¹ýÂËÐÅÏ¢

2. ¸ºÔؾùºâ

¸ºÔؾùºâÒ»°ã°éËæ×Å·´Ïò´úÀí£¬ Æðµ½ÁË ·ÖÅäÁ÷Á¿¡¢Í¸Ã÷´úÀí¡¢ ÔöÇ¿ÈÝ´íµÄЧ¹û

http {
upstream myapp1 {
server srv1.example.com;
server srv2.example.com;
server srv3.example.com;
}

server {
listen 80;

location / {
proxy_pass http://myapp1;
}
}
}

 

ÔçÆÚÎÒÃǵĺËÐIJúÆ·²¿ÊðÔÚÁ½Ì¨windows Sever IISÉÏ£¬Ç°Ã沿ÊðÁËÒ»¸önginx£¬×öÁ˸ºÔؾùºâ¡£

ºÜÃ÷ÏÔ£¬ÕâÀïÓиö[¸ºÔؾùºâ²ßÂÔ]µÄ֪ʶµã¡£

round-robin ¹ËÃû˼Ò壺ÂÖѯ

least-connected £ºÏÂÒ»¸öÇëÇ󽫷¢Íù×îС»î¶¯Á´½ÓµÄ·þÎñÆ÷

ip-hash£º¸ù¾Ý¿Í»§¶ËµÄipµØÖ·ºÍ¹þÏ£º¯Êý ¾ö¶¨½«ÇëÇó·¢ÍùÄĸö·þÎñÆ÷

http://nginx.org/en/docs/http/load_balancing.html

? ÑÓÉì¼¼Äܵ㣺

ÓиöÎÄÕ½²ÊöÁË: ¡¶ÇÉÓÃnginx ʵÏÖDocker-Comppose·þÎñ¶àʵÀý¡·

[»á»°Ç׺ÍÁ¦]£ºÓֽС°Õ³ÐԻỰ¡±£¬È·±£ÔÚÓÐ״̬µÄÓ¦ÓÃÖУ¬Í¬Ò»¿Í»§¶ËµÄÇëÇó´òµ½ºó¶ËÒ»¸ö·þÎñÆ÷ÉÏ¡£

Ò²ÓиöʾÀý¿É²Î¿¼£º¡¶ÇÉÓûỰÇ׺ÍÁ¦×öͼƬÉÏ´«ºÍÔ¤ÀÀ¡·

3. ¶¯¾²·ÖÀë

¶¯¾²·ÖÀëÓëÏÖÔÚ»ðÈȵÄǰºó¶Ë·ÖÀë¸ÅÄî»ðÈÈÏà¹Ø£¬

ǰ¶Ë¿ÉÒÔ×ÔÐпª·¢¡¢²âÊÔ£¬×ÔÐÐʹÓÃnginxÐγɾ²Ì¬×ÊÔ´·þÎñÆ÷£¬ºó¶Ë·þÎñ½ö×÷Ϊ¸½¼Ó×ÊÔ´¡£

ÏÂÃæµÄÀý×Ó±íÃ÷ ¾²Ì¬×ÊÔ´ÔÚ/usr/share/nginx/html£¬ ¶¯Ì¬×ÊԴ·¾¶°üº¬api»òswagger¡£

upstream eap_website {

server eapwebsite;

}

server {

listen 80;

location / { ### ¾²Ì¬×ÊÔ´

root /usr/share/nginx/html;

index index.html index.htm;

try_files $uri /index.html;

}

location ^~ /api/ { ### ¶¯Ì¬×ÊÔ´

proxy_pass http://eap_website/api/;

}

location ^~ /swagger/ { ### ¶¯Ì¬×ÊÔ´

proxy_pass http://eap_website/swagger/;

}

}

ÑÓÉì¼¼Äܵã

ÒÔÉÏÁ÷³ÌÒ²ÊÇ¡¶ÏÖ´úÊ®¶þÒªËØÓ¦Ó÷½·¨ÂÛ¡·ËùÍÆ³çµÄµÚËĵ㣬 ´ÓÕâ¸öÌåϵÀ´Ëµ£¬ºó¶ËÂÙÂäΪapi¿ª·¢£¬ÊµÊôÒź¶

ÕâÀïÓиö¡¶ÓйØÔÚÈÝÆ÷Éú³É½×¶Î¶¯Ì¬²åÈëapi»ùµØÖ·µÄÃîÕС·£¬¶Ô¶¯¾²·ÖÀëµÄÈÝÆ÷»¯ºÜÓÐñÔÒæ¡£

ʵÓù¦ÄÜ

ͨ¹ý¶Ë¿ÚÖ§³Ö ͬһÓòÃû϶à¸öwebapp

°ó¶¨HttpsÖ¤Êé1¡¢2µãÒ»ÆðÌåÏÖ£ºÒ»¸öÓòÃû°ó¶¨µ½443ºÍ8080¶Ë¿ÚÁ½¸öhttpsÕ¾µã

upstream receiver_server {

server receiver:80;

}

upstream app_server {

server app:80;

}

server {

listen 443 ssl http2;

server_name eqid.gridsum.com;

ssl_certificate /conf.crt/live/gridsum.com.crt;

ssl_certificate_key /conf.crt/live/gridsum.com.key;

location / {

proxy_pass http://receiver_server/;

}

}

server {

listen 8080 ssl http2;

server_name eqid.gridsum.com:8080;

ssl_certificate /conf.crt/live/gridsum.com.crt;

ssl_certificate_key /conf.crt/live/gridsum.com.key;

location / {

proxy_pass http://app_server/;

}

}

 

Ö§³ÖrewriteÖØÐ´¹æÔò: Äܹ»¸ù¾ÝÓòÃû¡¢urlµÄ²»Í¬£¬½«httpÇëÇó·Ö·¢µ½ºó¶Ë²»Í¬µÄÓ¦Ó÷þÎñÆ÷½ÚµãÉÏ¡£

ÄÚÖý¡¿µ¼ì²é¹¦ÄÜ: Èç¹ûºó¶ËµÄijһӦÓýڵã¹ÒÁË£¬ÇëÇó²»»áÔÙת·¢¸øÕâ¸ö½Úµã£¬²»Ó°ÏìÏßÉϹ¦ÄÜ¡£

¹Ø¼üÖ¸Ámax_fails, fail_timeout

upstream backend {

server backend1.example.com weight=5;

server 127.0.0.1:8080 max_fails=3 fail_timeout=30s;

server unix:/tmp/backend3;

server backup1.example.com backup;

}

 

½ÚÊ¡´ø¿í: Ö§³ÖgzipѹËõ

½â¾ö¿çÓòÎÊÌâ

¢Ù ·´Ïò´úÀí¢Ú Ôö¼ÓCORSÏìӦͷ5¡¢6µãÒ»ÆðÌåÏÖ£ºÔÚǰºó¶Ë·ÖÀëÏîÄ¿£¬¶Ô¿çÓòÇëÇóÔö¼ÓCORSÏìӦͷ¡¢¶Ô¾²Ì¬×ÊÔ´¿ªÆôgzipѹËõ

location / {

gzip on;

gzip_types application/javascript text/css image/jpeg;

root /usr/share/nginx/html;

index index.html index.htm;

try_files $uri /index.html;

add_header 'Access-Control-Allow-Origin' '*';

add_header 'Access-Control-Allow-Methods' 'GET, POST, OPTIONS, PUT, DELETE';

add_header 'Access-Control-Allow-Headers' 'Content-Type';

add_header 'Access-Control-Allow-Credentials' 'true';

}

 

Òª½ø´ó³§£¬ ¼¼ÊõÕ»ÒªÏòÊæÊÊÇøÒÔÍâÍØÕ¹£¬ ´ó³§ÈËÔ±´ó¶¼¾ß±¸¶à¼¼ÄÜ£¬ Ëæ²åËæÓá£

»ù´¡ÖªÊ¶Àι̣¬²Å»áÈÚ»á¹áͨ£¬¸ü¿ì½âËø¸ßÄѶÈ×ËÊÆ¡£

°¢ÀïÔÆÈýÃæ´ó¸ÅÂʹÒÁË£¬Êµ¼ùû´µ³É¸ÅÄÇÒÐÐÇÒ·ÖÏí£¬×ܽáµÄNginxÃæÊÔÌâ×ÔÈ¡¡£

   
1804 ´Îä¯ÀÀ       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Æû³µÆóÒµ Ä£ÐÍÇý¶¯µÄ·ÖÎöÉè¼Æ