×ðÁú¿­Ê±¹ÙÍøµÇ¼

Nginx³¬¼òÆӽ̳Ì£¬ÈëÃÅ¿´Õâƪ¾Í¹»ÁË

Ò» Nginx¼ò½é

1.1 ʲôÊÇNginx

NginxÊÇÒ»¸ö¸ßÐÔÄܵÄhttpºÍ·´ÏòÊðÀíЧÀÍÆ÷£¬ÆäÌصãÊÇÕ¼ÓÃÄÚ´æС£¬²¢·¢ÄÜÁ¦Ç¿¡£NginxרΪÐÔÄÜÓÅ»¯¶ø¿ª·¢£¬ÐÔÄÜÊÇÆä×îÖ÷ÒªµÄ¿¼Á¿£¬Äܾ­Êܸ߸ºÔصÄÄ¥Á·£¬Óб¨¸æÅú×¢ÄÜÖ§³Ö¸ß´ï50000¸ö²¢·¢ÅþÁ¬Êý¡£

1.2 ·´ÏòÊðÀí

ÕýÏòÊðÀí£ºÔÚä¯ÀÀÆ÷ÖÐÉèÖÃÊðÀíЧÀÍÆ÷£¬Í¨¹ýÊðÀíЧÀÍÆ÷¾ÙÐл¥ÁªÍø»á¼û¡£

·´ÏòÊðÀí£º½«ÇëÇó·¢Ë͵½·´ÏòÊðÀíЧÀÍÆ÷£¬ÓÉ·´ÏòÊðÀíЧÀÍÆ÷ȥѡÔñÄ¿µÄЧÀÍÆ÷»ñÈ¡Êý¾Ýºó£¬ÔÙ·µ»Ø¸ø¿Í»§¶Ë£¬´Ëʱ·´ÏòÊðÀíЧÀÍÆ÷ºÍÄ¿µÄЧÀÍÆ÷¶ÔÍâ¾ÍÊÇÒ»¸öЧÀÍÆ÷£¬±©Â©µÄÊÇÊðÀíЧÀÍÆ÷µØµã¡£

1.3 ¸ºÔØƽºâ

ÈôÊÇÇëÇóÊý¹ý´ó£¬µ¥¸öЧÀÍÆ÷½â¾ö²»ÁË£¬ÎÒÃÇÔöÌíЧÀÍÆ÷µÄÊýÄ¿£¬È»ºó½«ÇëÇó·Ö·¢µ½¸÷¸öЧÀÍÆ÷ÉÏ£¬½«Ô­ÏÈÇëÇó¼¯Öе½µ¥¸öЧÀÍÆ÷µÄÇéÐθÄΪÇëÇó·Ö·¢µ½¶à¸öЧÀÍÆ÷ÉÏ£¬¾ÍÊǸºÔØƽºâ¡£

1.4 ÐÂÎÅÊèÉ¢

ΪÁ˼ÓËÙЧÀÍÆ÷µÄÆÊÎöËÙÂÊ£¬¿ÉÒ԰Ѷ¯Ì¬Ò³ÃæºÍ¾²Ì¬Ò³Ãæ½»¸ø²î±ðµÄЧÀÍÆ÷À´ÆÊÎö£¬¼ÓËÙÆÊÎöËÙÂÊ£¬½µµÍÔ­À´µ¥¸öЧÀÍÆ÷µÄѹÁ¦¡£

¶þ NginxµÄ×°ÖÃ

NginxÐèÒª¼¸¸öÒÀÀµ°ü£¬»®·ÖÊÇpcre£¬openssl£¬zlib£¬ÔÚ×°ÖÃnginx֮ǰÐèÒªÏÈ×°ÖÃÕ⼸¸öÒÀÀµ¡£

2.1 ×°ÖÃpcreÒÀÀµ

ʹÓÃÏÂÁîÏÂÔØpcreѹËõ°ü

1wget http://downloads.sourceforge.net/project/pcre/pcre/8.37/pcre-8.37.tar.gz

µÇ¼ºó¸´ÖÆ

½âѹѹËõÎļþ

1tar -xvf  pcre-8.37.tar.gz

µÇ¼ºó¸´ÖÆ

½øÈë½âѹºóµÄÃû¼£¬Ö´ÐÐÒÔÏÂÏÂÁî

1./configure

µÇ¼ºó¸´ÖÆ

ʹÓÃÒÔÏÂÏÂÁî¾ÙÐбàÒë×°ÖÃ

1make && make install

µÇ¼ºó¸´ÖÆ

Éó²é×°ÖõÄpcre°æ±¾ºÅ

1pcre-config --version

µÇ¼ºó¸´ÖÆ

2.2 ×°ÖÃopenssl£¬zlibµÈÒÀÀµ

1yum -y install make zlib zlib-devel gcc-c++ libtool openssl openssl-devel

µÇ¼ºó¸´ÖÆ

2.3 ×°ÖÃnginx

nginx¹ÙÍøÏÂÔØnginx£¬¹ÙÍøµØµã£ºhttps://nginx.org/download/  £»

½«Ñ¹Ëõ°üÍϵ½Ð§ÀÍÆ÷ÉÏ;

ʹÓÃÏÂÁîtar -xvf nginx-1.12.2.tar.gz½âѹѹËõ°ü;

ʹÓÃÏÂÁî./configure¼ì²é  £»

ʹÓÃÏÂÁîmake && make isntall±àÒë×°Öà  £»

×°ÖÃÀֳɺó£¬ÔÚusr»á¶à³öÀ´Ò»¸öÎļþ¼Ð£¬local/nginx£¬ÔÚnginxµÄsbinÎļþ¼ÐÏÂÓÐÆô¶¯¾ç±¾¡£

2.4 Æô¶¯nginx

ÔÚ/usr/local/nginx/sbinÎļþ¼ÐÏ£¬Ê¹ÓÃÒÔÏÂÏÂÁîÆô¶¯

1./nginx

µÇ¼ºó¸´ÖÆ µÇ¼ºó¸´ÖÆ

È»ºóä¯ÀÀÆ÷»á¼ûЧÀÍÆ÷ip£¬nginxĬÈ϶˿ÚÊÇ80£¬·ºÆðÒÔÏÂÒ³ÃæÔò֤ʵnginx×°ÖÃÀÖ³É  £»

2.5 Nginx³£ÓõÄÏÂÁî

ʹÓÃÕâЩÏÂÁîʱÐèÒª½øÈë/usr/local/nginx/sbinÎļþ¼Ð

Éó²énginxµÄ°æ±¾ºÅ

1./nginx -v

µÇ¼ºó¸´ÖÆ

Æô¶¯nginx

1./nginx

µÇ¼ºó¸´ÖÆ µÇ¼ºó¸´ÖÆ

¹Ø±Õnginx

1./nginx -s stop

µÇ¼ºó¸´ÖÆ

ÖØмÓÔØnginx

1./nginx -s reload

µÇ¼ºó¸´ÖÆ

2.6 NginxµÄÉèÖÃÎļþ

nginxµÄÉèÖÃÎļþÔÚ/usr/local/nginx/confÖеÄnginx.conf¡£ÎÒÃǽ«nginx.confÖÐ×¢Ê͵ÄÄÚÈÝɾ³ýһϡ£

 1#user  nobody;
 2worker_processes  1;
 3
 4#pid        logs/nginx.pid;
 5
 6events {
 7    worker_connections  1024;
 8}
 9
10http {
11    include       mime.types;
12    default_type  application/octet-stream;
13
14    sendfile        on;
15    #tcp_nopush     on;
16
17    #keepalive_timeout  0;
18    keepalive_timeout  65;
19
20    #gzip  on;
21
22    server {
23        listen       80;
24        server_name  localhost;
25
26        location / {
27            root   html;
28            index  index.html index.htm;
29        }
30    }
31}

µÇ¼ºó¸´ÖÆ

nginxµÄÉèÖÃÎļþ°üÀ¨Èý²¿·Ö¡£

1.È«¾Ö¿é

´ÓÉèÖÃÎļþ×îÏȵ½events¿éÖ®¼äµÄÄÚÈÝ£¬Ö÷Òª»áÉèÖÃһЩnginxЧÀÍÆ÷ÕûÌåÔËÐеÄÉèÖÃÖ¸Áî¡£

1worker_processes  1;

µÇ¼ºó¸´ÖÆ

Õâ¸ö´ú±ínginx´¦Àí²¢·¢µÄÒªº¦ÉèÖã¬ÖµÔ½´ó£¬´¦Àí²¢·¢ÄÜÁ¦Ô½Ç¿¡£¿ÉÊÇ»áÊܵ½Ó²¼þ¡¢Èí¼þµÈÔ¼Êø¡£

2.events¿é

events¿éÉæ¼°µÄÖ¸ÁîÖ÷ÒªÓ°ÏìnginxЧÀÍÆ÷ÓëÓû§ÍøÂçµÄÅþÁ¬¡£

1worker_connections  1024;

µÇ¼ºó¸´ÖÆ

Õâ¸ö´ú±ínginxÖ§³ÖµÄ×î´óÅþÁ¬Êý¡£

3.httpÈ«¾Ö¿é

nginxЧÀÍÆ÷ÉèÖÃ×îƵÈԵIJ¿·Ö¡£httpÈ«¾Ö¿é°üÀ¨http¿éºÍserver¿é¡£

Èý NginxÉèÖ÷´ÏòÊðÀí

3.1 ngixÊðÀíÁ÷³Ì

ÍâµØä¯ÀÀÆ÷»á¼ûnginxЧÀÍÆ÷£¬nginxЧÀÍÆ÷·´ÏòÊðÀítomcatЧÀÍÆ÷£¬µ±ÎÒÃÇÇëÇónginxµÄʱ¼äÖ±½Ó»á¼ûµ½tomcat¡£tomcatµÄ×°ÖÃÕâÀï¾Í²»ÔÚ½²ÁË£¬ÎÒ½«tomcatºÍnginx×°ÖÃÔÚÁËͳһ̨ЧÀÍÆ÷ÉÏ¡£

3.2 ÉèÖÃipºÍÓòÃûµÄ°ó¶¨¹Øϵ

ÓÉÓÚÎÒÃǵÄnginxûÓÐÓòÃû£¬ÎªÁËÑÝʾ£¬Òò´ËÎÒÃÇÔÚÍâµØhostÎļþÖÐÉèÖÃnginxЧÀÍÆ÷ipºÍÓòÃû¾ÙÐа󶨡£Õâ¸öhostÎļþµÄÏêϸλÖÃÔÚC:WindowsSystem32driversetc¡£ÔÚhostÎļþÖÐÔöÌíÒ»¾äÉèÖãº

147.104.xxx.xxx www.javatrip.com

µÇ¼ºó¸´ÖÆ

Ç°ÃæµÄipÊÇЧÀÍÆ÷µÄipµØµã£¬ºóÃæµÄÓòÃûÊÇÎÒËæ±ãÆðµÄÓÃÓÚ°ó¶¨Õâ¸öipµÄÒ»¸öÓòÃû¡£ÉèÖúÃÖ®ºó£¬ÎÒÃÇʹÓÃÓòÃû»á¼ûÒ»ÏÂtomcat£¬ÈôÊÇÄÜÇëÇóµ½tomcatĬÈÏÒ³Ã棬ÔòÉèÖÃÀֳɡ£

3.3 ÔÚnginxÉèÖÃÇëÇóת·¢

1  server {
2        listen       80;
3        server_name  localhost;
4
5        location / {
6            root   html;
7            index  index.html index.htm;
8        }
9  }

µÇ¼ºó¸´ÖÆ

ÎÒÃǽ«ÒÔÉÏĬÈϵÄÉèÖÃÎļþ×ö¸öÐ޸ģº

 1server {
 2    listen       80;
 3    server_name  47.104.xxx.xxx;
 4
 5    location / {
 6        root   html;
 7        proxy_pass http://127.0.0.1:8080;
 8        index  index.html index.htm;
 9    }
10}

µÇ¼ºó¸´ÖÆ

ÒÔÉÏÕâ¶ÎÉèÖõÄÒâ˼¾ÍÊÇÇëÇóÊÇ47.104.xxx.xxx:80£¬¶¼»áת·¢ÖÁ47.104.xxx.xxx:8080¡£

ÏÖÔÚä¯ÀÀÆ÷»á¼ûwww.javatrip.com£¬·¢Ã÷Ö±½Óת·¢µ½ÁËtomcatÉÏÁË£¬ÕâÑù¼òÆӵķ´ÏòÊðÀí¾ÍÍê³ÉÁË¡£

3.4 ƾ֤ÇëÇóºó׺·Ö·¢

ÎÒÃÇÔÙ½âѹһ¸ötomcat£¬¶Ë¿ÚºÅÉèÖÃΪ8081£¬»®·ÖÔÚÁ½¸ötomcatÏÂwebappsĿ¼ÏÂÃæн¨devºÍprodĿ¼£¬È»ºóÔÚ¸ÃĿ¼ÏÂдһ¸öÎļþ¡£

½«ÇëÇówww.javatrip.com:7001/devת·¢µ½tomcat8080£¬½«ÇëÇówww.javatrip.com:7001/prodת·¢µ½tomcat8081¡£ÏÖÔÚÎÒÃǵÄnginx¼àÌýµÄ¶Ë¿ÚºÅÊÇ7001¡£·­¿ªnginxµÄÉèÖÃÎļþ£¬Ð½¨Ò»¸öserverÈçÏ£º

 1server {
 2    listen       7001;
 3    server_name  47.104.xxx.xxx;
 4
 5    location ~ /dev/ {
 6        proxy_pass http://127.0.0.1:8080;
 7    }
 8
 9    location ~ /prod/ {
10        proxy_pass http://127.0.0.1:8081;
11    }
12}

µÇ¼ºó¸´ÖÆ

È»ºóÊÔÊÔЧ¹û£¬»®·Ö»á¼ûwww.javatrip.com:7001/dev/a.htmlºÍwww.javatrip.com:7001/prod/a.html£¬Ð§¹ûÈçÏ£º

Nginx³¬¼òÆӽ̳Ì£¬ÈëÃÅ¿´Õâƪ¾Í¹»ÁË

ÆäÖУ¬ÉèÖÃת·¢µÄʱ¼äÓõ½ÁË~£¬Æä¼ÄÒåÄÚÈÝÈçÏ£º

= ÑÏ¿áÆ¥Åä¡£ÈôÊÇÕâ¸öÅÌÎÊÆ¥Å䣬ÄÇô½«×èÖ¹ËÑË÷²¢Á¬Ã¦´¦Àí´ËÇëÇó¡£

~ ΪÇø·Ö¾ÞϸдƥÅä(¿ÉÓÃÕýÔò±í´ïʽ)

!~ΪÇø·Ö¾Þϸд²»Æ¥Åä

~* Ϊ²»Çø·Ö¾ÞϸдƥÅä(¿ÉÓÃÕýÔò±í´ïʽ)

!~*Ϊ²»Çø·Ö¾Þϸд²»Æ¥Åä

^~ ÈôÊÇ°ÑÕâ¸öǰ׺ÓÃÓÚÒ»¸öͨÀý×Ö·û´®,ÄÇô¸æËßnginxÈôÊÇ·¾¶Æ¥ÅäÄÇôÒâÍâÊÔÕýÔò±í´ïʽ¡£

ËÄ NginxÉèÖøºÔØƽºâ

4.1 ʲôÊǸºÔØƽºâ

¸ºÔØƽºâ£¨Load Balance£©£¬Òâ˼Êǽ«¸ºÔØ£¨ÊÂÇéʹÃü£¬»á¼ûÇëÇ󣩾ÙÐÐƽºâ¡¢·Ö̯µ½¶à¸ö²Ù×÷µ¥Î»£¨Ð§ÀÍÆ÷£¬×é¼þ£©ÉϾÙÐÐÖ´ÐС£Êǽâ¾ö¸ßÐÔÄÜ£¬µ¥µã¹ÊÕÏ£¨¸ß¿ÉÓã©£¬À©Õ¹ÐÔ£¨Ë®Æ½ÉìËõ£©µÄ×îÖÕ½â¾ö¼Æ»®¡£

ÏÖÔÚÎÒÃÇÏëʵÏÖµÄЧ¹ûÊÇͨ¹ý»á¼ûwww.javatrip.com:7001/prod/a.html£¬½«ÇëÇó»®·Ö·Ö·¢µ½Á½¸ötomcatÉÏÃæÈ¥£¬Ê×ÏÈÎÒÃÇÔÚtomcat8080ÉÏн¨Ò»¸öprodµÄÎļþ¼Ð£¬ÄÚÀï·ÅÒ»¸öa.htmlµÄÎļþ¡£ÕâÑùtomcat8081ºÍtomcat8080Á½¸öÉϾͶ¼ÓÐÁËÒ»¸öprodµÄÎļþ¼ÓÇÒÄÚÀïÓÐÒ»¸öa.htmlµÄÎļþ¡£

4.2 ÉèÖÃnginx.conf

Ê×ÏÈ£¬ÔÚhttp¿éÖÐÉèÖÃÁ½¸ötomcatµÄЧÀÍÁбí

1upstream myserver{
2    server 127.0.0.1:8080;
3    server 127.0.0.1:8081;
4}

µÇ¼ºó¸´ÖÆ µÇ¼ºó¸´ÖÆ

Æä´Î£¬ÔÚserver¿éÖÐÉèÖùæÔò£º

 1server {
 2    listen       80;
 3    server_name  47.104.xxx.xxx;
 4
 5    location / {
 6        root   html;
 7        proxy_pass http://myserver;
 8        index  index.html index.htm;
 9    }
10}

µÇ¼ºó¸´ÖÆ

4.3 ²âÊÔЧ¹û

»á¿´·¨Ö·£ºwww.javatrip.com:7001/prod/a.html£¬¶àË¢ÐÂÒ»ÔÙ¡£·¢Ã÷ÓеÄÇëÇóµ½tomcat8080ÉÏ£¬ÓеÄÇëÇóµ½tomcat8081ÉÏ¡£

Nginx³¬¼òÆӽ̳Ì£¬ÈëÃÅ¿´Õâƪ¾Í¹»ÁË

Nginx³¬¼òÆӽ̳Ì£¬ÈëÃÅ¿´Õâƪ¾Í¹»ÁË

4.4 nginxÖ§³ÖµÄ¼¸ÖÖ¸ºÔØÕ½ÂÔ

ÂÖѯ£¨Ä¬ÈÏ£©£ºÃ¿¸öÇëÇó׼ʱ¼ä˳ÐòÖðÒ»·ÖÅɵ½²î±ðµÄЧÀÍÆ÷£¬ÈôÊÇЧÀÍÆ÷downÁË£¬»á×Ô¶¯ÌÞ³ý¡£

1upstream myserver{
2    server 127.0.0.1:8080;
3    server 127.0.0.1:8081;
4}

µÇ¼ºó¸´ÖÆ µÇ¼ºó¸´ÖÆ

weight£¨È¨ÖØ£©£ºÄ¬ÒÔΪ1£¬È¨ÖØÔ½¸ß£¬·ÖÅɵÄÇëÇóÔ½¶à¡£

1upstream myserver{
2    server 127.0.0.1:8080 weight=1;
3    server 127.0.0.1:8081 weight=2;
4}

µÇ¼ºó¸´ÖÆ

ip hash£ºÃ¿¸öÇëÇó°´»á¼ûipµÄhashЧ¹û·ÖÅÉ£¬ÕâÑùÿ¸ö·Ã¿ÍÀο¿»á¼ûÒ»¸öºǫ́ЧÀÍÆ÷£¬¿ÉÒÔ½â¾ösessionµÄÎÊÌâ¡£

1upstream myserver{
2    ip_hash;
3    server 127.0.0.1:8080;
4    server 127.0.0.1:8081;
5}

µÇ¼ºó¸´ÖÆ

fair£¨µÚÈý·½£©£º°´ºó¶ËÏìӦʱ¼ä¾ÙÐзÖÅÉ£¬ÏìӦʱ¼äÔ½¶Ì·ÖÅɵÄÇëÇóÔ½¶à¡£

1upstream myserver{
2    server 127.0.0.1:8080;
3    server 127.0.0.1:8081;
4    fair;
5}

µÇ¼ºó¸´ÖÆ

ÓÉÓÚÐÂÎÅÊèÉ¢ÔÚÏÖʵ¿ª·¢ÖÐÒ²²»³£Ó㬾Ͳ»ÔÙдÁË¡£±¾ÆªÎÄÕÂ×öΪһ¸önginxÈëÃÅ£¬µ½ÕâÀï¾Í»ù±¾Íê½áÁË¡£×îºóÁô¸ø¸÷ÈËÒ»¸öÎÊÌâ˼Ë÷һϣºÔõÑù°ü¹ÜnginxµÄ¸ß¿ÉÓà £¿

ÒÔÉϾÍÊÇNginx³¬¼òÆӽ̳Ì£¬ÈëÃÅ¿´Õâƪ¾Í¹»Á˵ÄÏêϸÄÚÈÝ£¬¸ü¶àÇë¹Ø×¢±¾ÍøÄÚÆäËüÏà¹ØÎÄÕ£¡

ÃâÔð˵Ã÷£ºÒÔÉÏչʾÄÚÈÝȪԴÓÚÏàÖúýÌå¡¢ÆóÒµ»ú¹¹¡¢ÍøÓÑÌṩ»òÍøÂçÍøÂçÕûÀí£¬°æȨÕùÒéÓë±¾Õ¾Î޹أ¬ÎÄÕÂÉæ¼°¿´·¨Óë¿´·¨²»´ú±í×ðÁú¿­Ê±¹ÙÍøµÇ¼ÂËÓÍ»úÍø¹Ù·½Ì¬¶È£¬Çë¶ÁÕß½ö×ö²Î¿¼¡£±¾ÎĽӴýתÔØ£¬×ªÔØÇë˵Ã÷À´ÓÉ¡£ÈôÄúÒÔΪ±¾ÎÄÇÖÕ¼ÁËÄúµÄ°æȨÐÅÏ¢£¬»òÄú·¢Ã÷¸ÃÄÚÈÝÓÐÈκÎÉæ¼°ÓÐÎ¥¹«µÂ¡¢Ã°·¸Ö´·¨µÈÎ¥·¨ÐÅÏ¢£¬ÇëÄúÁ¬Ã¦ÁªÏµ×ðÁú¿­Ê±¹ÙÍøµÇ¼ʵʱÐÞÕý»òɾ³ý¡£

Ïà¹ØÐÂÎÅ

ÁªÏµ×ðÁú¿­Ê±¹ÙÍøµÇ¼

18523999891

¿É΢ÐÅÔÚÏß×Éѯ

ÊÂÇéʱ¼ä£ºÖÜÒ»ÖÁÖÜÎ壬9:30-18:30£¬½ÚãåÈÕÐÝÏ¢

QR code
ÍøÕ¾µØͼ