NGINX PM2 VPS: ¿ìËٴ¿ÉÀ©Õ¹µÄÓ¦ÓÃЧÀÍÆ÷
NGINX PM2 VPS: ¿ìËٴ¿ÉÀ©Õ¹µÄÓ¦ÓÃЧÀÍÆ÷
СÐò£º
ÔÚÏÖ´úµÄÓ¦Óÿª·¢ÖУ¬¹¹½¨¿ÉÀ©Õ¹µÄÓ¦ÓÃЧÀÍÆ÷±äµÃÖÁ¹ØÖ÷Òª¡£NGINX¡¢PM2ºÍVPSÊÇÈý¸ö¹¦Ð§Ç¿Ê¢µÄ¹¤¾ß£¬ËüÃǵÄÍŽá¿ÉÒÔ¿ìËٴ¿ÉÀ©Õ¹µÄÓ¦ÓÃЧÀÍÆ÷¡£±¾ÎĽ«ÏÈÈÝÔõÑùʹÓÃÕâЩ¹¤¾ßÀ´´î½¨Ò»¸ö¸ßÐÔÄܵÄÓ¦ÓÃЧÀÍÆ÷£¬²¢ÌṩÏêϸµÄ´úÂëʾÀý¡£
Ò»¡¢Ê²Ã´ÊÇ NGINX£¿
NGINX ÊÇÒ»¸ö¸ßÐÔÄܵÄWebЧÀÍÆ÷ºÍ·´ÏòÊðÀíЧÀÍÆ÷¡£Ëü¿ÉÒÔ´¦Öóͷ£¸ß²¢·¢µÄÇëÇ󣬿ìËÙÏìÓ¦£¬²¢ÇÒ¾ßÓпɿ¿µÄ¸ºÔØƽºâºÍÇå¾²ÐÔ¡£Ôڴ¿ÉÀ©Õ¹µÄÓ¦ÓÃЧÀÍÆ÷ʱ£¬NGINXͨ³£ÓÃ×÷Ç°¶ËЧÀÍÆ÷£¬ÎüÊÕ¿Í»§¶ËµÄÇëÇ󣬲¢½«ÇëÇóת·¢¸øºó¶ËµÄÓ¦ÓÃЧÀÍÆ÷¡£
¶þ¡¢Ê²Ã´ÊÇ PM2£¿
PM2 ÊÇÒ»¸öÀú³ÌÖÎÀí¹¤¾ß£¬¿ÉÒÔÔÚ Node.js Ó¦ÓÃÔËÐÐʱÌṩӦÓõÄÖÎÀíºÍ¼à¿Ø¹¦Ð§¡£PM2 ¿ÉÒÔÈ·±£Ó¦ÓõÄÎȹÌÔËÐУ¬²¢×Ô¶¯ÖØÆôÓ¦ÓóÌÐò£¬ÔÚÓ¦ÓóÌÐòÍß½âʱÌṩ¹ýʧÈÕÖ¾¡£Ôڴ¿ÉÀ©Õ¹µÄÓ¦ÓÃЧÀÍÆ÷ʱ£¬PM2 ¿ÉÒÔÓÃÀ´ÖÎÀíºÍ¼à¿Ø¶à¸öÓ¦ÓóÌÐòÀú³Ì¡£
Èý¡¢Ê²Ã´ÊÇ VPS£¿
VPS£¨Virtual Private Server£¬ÐéÄâרÓÃЧÀÍÆ÷£©ÊÇÒ»ÖÖÐéÄ⻯ÊÖÒÕ£¬¿ÉÒÔÔÚÒ»¸öÎïÀíЧÀÍÆ÷ÉÏ»®·Ö³ö¶à¸ö×ÔÁ¦µÄÐéÄâЧÀÍÆ÷¡£Ã¿¸öÐéÄâЧÀÍÆ÷¶¼ÓÐ×Ô¼ºµÄ²Ù×÷ϵͳºÍ×ÊÔ´£¬²¢ÇÒ¿ÉÒÔ×ÔÁ¦ÔËÐÐÓ¦ÓóÌÐò¡£Ôڴ¿ÉÀ©Õ¹µÄÓ¦ÓÃЧÀÍÆ÷ʱ£¬¿ÉÒÔʹÓà VPS À´·ÖÅɺÍÖÎÀí¶à¸öÓ¦ÓóÌÐòµÄÐéÄâЧÀÍÆ÷¡£
ËÄ¡¢¿ìËٴ¿ÉÀ©Õ¹µÄÓ¦ÓÃЧÀÍÆ÷°ì·¨£º
¹ºÖà VPS
Ê×ÏÈ£¬ÐèÒª¹ºÖÃÒ»¸ö VPS£¬¿ÉÒÔÑ¡Ôñ×ÅÃûµÄ VPS ÌṩÉÌ£¬Èç°¢ÀïÔÆ¡¢ÌÚѶÔƵȡ£Æ¾Ö¤ÐèÇóÑ¡ÔñÊʺϵÄÉèÖ㬲¢¹ºÖÃÒ»¸ö»ò¶à¸ö VPS¡£
×°ÖÃ NGINX
µÇ¼µ½ VPS£¬Í¨¹ý°ü¹ÜÀí¹¤¾ß£¨Èçapt¡¢yum£©×°Öà NGINX¡£×°ÖÃÍê³Éºó£¬ÔËÐÐÒÔÏÂÏÂÁîÆô¶¯ NGINX ЧÀÍ£º
sudo systemctl start nginx
µÇ¼ºó¸´ÖÆ
ÉèÖà NGINX ·´ÏòÊðÀí
±à¼ NGINX ÉèÖÃÎļþ /etc/nginx/sites-available/default£¬Ìí¼ÓÒÔÏÂÄÚÈÝ£¬½«¿Í»§¶ËµÄÇëÇóת·¢µ½ºó¶ËµÄÓ¦ÓÃЧÀÍÆ÷£º
server { listen 80; server_name example.com; location / { proxy_pass http://localhost:3000; proxy_set_header Host $host; proxy_set_header X-Real-IP $remote_addr; } }
µÇ¼ºó¸´ÖÆ
ÉúÑIJ¢Í˳öÉèÖÃÎļþ£¬È»ºóÖØмÓÔØ NGINX ÉèÖãº
sudo systemctl reload nginx
µÇ¼ºó¸´ÖÆ µÇ¼ºó¸´ÖÆ
×°Öà Node.js ºÍ PM2
ʹÓðü¹ÜÀí¹¤¾ß×°Öà Node.js£¬²¢È«¾Ö×°Öà PM2¡£×°ÖÃÍê³Éºó£¬½øÈëÓ¦ÓóÌÐòµÄ¸ùĿ¼£¬Ö´ÐÐÒÔÏÂÏÂÁîÆô¶¯Ó¦ÓóÌÐò£º
pm2 start app.js
µÇ¼ºó¸´ÖÆ
Ó¦ÓóÌÐòÏÖÔÚ»áÔÚºǫ́ÔËÐУ¬²¢ÓÉ PM2 Àú³ÌÖÎÀí¹¤¾ß¼à¿Ø¡£¿ÉÒÔʹÓÃÒÔÏÂÏÂÁîÉó²éÓ¦ÓóÌÐòµÄ״̬£º
pm2 list
µÇ¼ºó¸´ÖÆ
Ìí¼Ó¸ü¶àµÄÓ¦ÓóÌÐò
ÈôÊÇÒªÌí¼Ó¸ü¶àµÄÓ¦ÓóÌÐò£¬¿ÉÒÔÔÚ²î±ðµÄ¶Ë¿ÚÉÏÆô¶¯¶à¸öÓ¦ÓóÌÐòÀú³Ì¡£ÀýÈ磬ҪÌí¼ÓµÚ¶þ¸öÓ¦ÓóÌÐò£¬¿ÉÒÔÖ´ÐÐÒÔÏÂÏÂÁ
pm2 start app2.js
µÇ¼ºó¸´ÖÆ
ÉèÖøºÔØƽºâÆ÷
ÈôÊÇÏ£Íû½«ÇëÇó·Ö·¢µ½²î±ðµÄºó¶ËÓ¦ÓÃЧÀÍÆ÷£¬¿ÉÒÔʹÓøºÔØƽºâÆ÷À´ÊµÏÖ¡£¿ÉÒÔʹÓà NGINX µÄ upstream Ä£¿éÀ´ÉèÖøºÔØƽºâ¡£±à¼ NGINX ÉèÖÃÎļþ /etc/nginx/sites-available/default£¬Ìí¼ÓÒÔÏÂÄÚÈÝ£º
upstream backend { server localhost:3000; server localhost:3001; # Ìí¼Ó¸ü¶àµÄºó¶ËЧÀÍÆ÷ } server { listen 80; server_name example.com; location / { proxy_pass http://backend; proxy_set_header Host $host; proxy_set_header X-Real-IP $remote_addr; } }
µÇ¼ºó¸´ÖÆ
ÉúÑIJ¢Í˳öÉèÖÃÎļþ£¬È»ºóÖØмÓÔØ NGINX ÉèÖãº
sudo systemctl reload nginx
µÇ¼ºó¸´ÖÆ µÇ¼ºó¸´ÖÆ
ÏÖÔÚ£¬NGINX ½«ÇëÇó·Ö·¢µ½²î±ðµÄºó¶ËÓ¦ÓÃЧÀÍÆ÷ÉÏ£¬ÊµÏÖ¸ºÔØƽºâ¡£
½áÂÛ£º
ͨ¹ý×éºÏʹÓà NGINX¡¢PM2 ºÍ VPS£¬¿ÉÒÔ¿ìËٴ¿ÉÀ©Õ¹µÄÓ¦ÓÃЧÀÍÆ÷¡£NGINX ÌṩÁ˸ßÐÔÄܵÄÇëÇó´¦Öóͷ£ºÍ¸ºÔØƽºâ¹¦Ð§£¬PM2 ÌṩÁËÓ¦ÓóÌÐòµÄÖÎÀíºÍ¼à¿Ø¹¦Ð§£¬¶ø VPS ÔòÌṩÁË×ÔÁ¦ÔËÐÐÓ¦ÓóÌÐòµÄÐéÄâÇéÐΡ£Ï£Íû±¾ÎÄÌṩµÄ´úÂëʾÀý¹ØÓڴ¿ÉÀ©Õ¹µÄÓ¦ÓÃЧÀÍÆ÷ÓÐËù×ÊÖú¡£
ÒÔÉϾÍÊÇNGINX PM2 VPS: ¿ìËٴ¿ÉÀ©Õ¹µÄÓ¦ÓÃЧÀÍÆ÷µÄÏêϸÄÚÈÝ£¬¸ü¶àÇë¹Ø×¢±¾ÍøÄÚÆäËüÏà¹ØÎÄÕ£¡