NGINX PM2 VPS: ¹¹½¨¸ß¿É¿¿ÐÔµÄWebÓ¦ÓÃЧÀÍÆ÷¼¯Èº
NGINX PM2 VPS: ¹¹½¨¸ß¿É¿¿ÐÔµÄWebÓ¦ÓÃЧÀÍÆ÷¼¯Èº£¬ÐèÒªÏêϸ´úÂëʾÀý
Ëæ×Å»¥ÁªÍøµÄ¿ìËÙÉú³¤ºÍÓû§ÐèÇóµÄÒ»Ö±ÔöÌí£¬¹¹½¨¸ß¿É¿¿ÐÔµÄWebÓ¦ÓÃЧÀÍÆ÷¼¯ÈºÒѳÉΪÐí¶àÆóÒµºÍ¿ª·¢ÕßµÄÖ÷ҪʹÃü¡£ÔÚÕâƪÎÄÕÂÖУ¬ÎÒÃǽ«ÏÈÈÝÔõÑùʹÓÃNGINX¡¢PM2ÒÔ¼°VPS£¨Virtual Private Server£©À´¹¹½¨Ò»¸ö¸ß¿É¿¿ÐÔµÄWebÓ¦ÓÃЧÀÍÆ÷¼¯Èº£¬²¢ÌṩÏêϸµÄ´úÂëʾÀý¡£
NGINX
NGINX ÊÇÒ»¸ö¸ßÐÔÄܵÄHTTPºÍ·´ÏòÊðÀíЧÀÍÆ÷£¬ÆÕ±éÓ¦ÓÃÓÚ¹¹½¨¸ß¿É¿¿ÐÔµÄWebÓ¦ÓÃЧÀÍÆ÷¼¯Èº¡£Ê¹ÓÃNGINX¿ÉÒÔʵÏÖ¸ºÔØƽºâ¡¢¸ß²¢·¢´¦ÀíÒÔ¼°¾²Ì¬×ÊÔ´µÄ¿ìËÙ»á¼û¡£ÒÔÏÂÊÇÒ»¸öNGINXÉèÖÃÎļþµÄʾÀý£º
http { upstream backend { server backend1.example.com; server backend2.example.com; server backend3.example.com; } server { listen 80; location / { proxy_pass http://backend; } } }
µÇ¼ºó¸´ÖÆ µÇ¼ºó¸´ÖÆ
ÔÚÉÏÃæµÄʾÀýÖУ¬ÎÒÃǽç˵ÁËÒ»¸öÃûΪbackendµÄ¼¯Èº£¬ÆäÖаüÀ¨ÁËÈý¸öºó¶ËЧÀÍÆ÷¡£NGINX»áƾ֤¸ºÔØƽºâËã·¨½«ÇëÇó·Ö·¢¸ø²î±ðµÄºó¶ËЧÀÍÆ÷¡£
PM2
PM2 ÊÇÒ»¸öÁ÷³ÌÖÎÀíÆ÷£¬ÓÃÓÚÖÎÀíNode.jsÓ¦ÓóÌÐòµÄÔËÐС£ËüÌṩÁË×Ô¶¯ÖØÆô¡¢¸ºÔØƽºâºÍÀú³Ì¼à¿ØµÈ¹¦Ð§£¬¿ÉÒÔÓÐÓõØ×ÊÖúÎÒÃǹ¹½¨¸ß¿É¿¿ÐÔµÄWebÓ¦ÓÃЧÀÍÆ÷¼¯Èº¡£ÒÔÏÂÊÇÒ»¸öʹÓÃPM2Æô¶¯Node.jsÓ¦ÓóÌÐòµÄʾÀýÏÂÁ
pm2 start app.js -i max
µÇ¼ºó¸´ÖÆ µÇ¼ºó¸´ÖÆ
ÔÚÉÏÃæµÄʾÀýÖУ¬ÎÒÃÇʹÓÃPM2Æô¶¯ÃûΪapp.jsµÄNode.jsÓ¦ÓóÌÐò£¬²¢ÉèÖÃʵÀýÊýĿΪ×î´óÖµ¡£PM2»á×Ô¶¯Æ¾Ö¤ÏµÍ³×ÊÔ´ÇéÐν¨Éè¶à¸öʵÀý£¬²¢¾ÙÐиºÔØƽºâ¡£
VPS
VPS£¨Virtual Private Server£©ÊÇÒ»ÖÖÐéÄ⻯ÊÖÒÕ£¬½«Ò»Ì¨ÎïÀíЧÀÍÆ÷»®·ÖΪ¶à¸öÐéÄâЧÀÍÆ÷£¬Ã¿¸öÐéÄâЧÀÍÓþßÓÐ×ÔÁ¦µÄ²Ù×÷ϵͳºÍ×ÊÔ´¡£Ê¹ÓÃVPS¿ÉÒÔÀû±ãµØ¹¹½¨WebÓ¦ÓÃЧÀÍÆ÷¼¯Èº£¬²¢Ìṩ¸ß¿É¿¿ÐԺͿÉÀ©Õ¹ÐÔ¡£ÒÔÏÂÊÇÒ»¸öʹÓÃVPSµÄ´úÂëʾÀý£º
const express = require('express'); const app = express(); app.get('/', (req, res) => { res.send('Hello World!'); }); const server = app.listen(3000, () => { console.log('Server is running on port 3000'); });
µÇ¼ºó¸´ÖÆ µÇ¼ºó¸´ÖÆ
ÔÚÉÏÃæµÄʾÀýÖУ¬ÎÒÃÇʹÓÃNode.jsºÍExpress¿ò¼Ü½¨ÉèÁËÒ»¸ö¼òÆÓµÄWebÓ¦ÓóÌÐò£¬²¢ÔÚ3000¶Ë¿ÚÉϼàÌýHTTPÇëÇó¡£
×ÛºÏÓ¦ÓÃʾÀý£º
ÍŽáÉÏÊöÈý¸öÊÖÒÕ£¬ÎÒÃÇ¿ÉÒÔ¹¹½¨Ò»¸ö¸ß¿É¿¿ÐÔµÄWebÓ¦ÓÃЧÀÍÆ÷¼¯Èº¡£Ê×ÏÈ£¬ÎÒÃÇʹÓÃPM2Æô¶¯¶à¸öNode.jsʵÀý£¬Ã¿¸öʵÀýÔËÐÐͳһ¸öExpressÓ¦Óá£È»ºó£¬ÎÒÃÇʹÓÃNGINXÉèÖøºÔØƽºâ£¬½«ÇëÇó·Ö·¢¸ø²î±ðµÄNode.jsʵÀý¡£×îºó£¬ÎÒÃǽ«ÕâЩNode.jsʵÀý°²ÅÅÔÚ¶à¸öVPSÉÏ£¬ÊµÏָ߿ɿ¿ÐԺͿÉÀ©Õ¹ÐÔ¡£
ÏÂÃæÊÇÒ»¸ö×ÛºÏÓ¦ÓÃʾÀý£º
http { upstream backend { server backend1.example.com; server backend2.example.com; server backend3.example.com; } server { listen 80; location / { proxy_pass http://backend; } } }
µÇ¼ºó¸´ÖÆ µÇ¼ºó¸´ÖÆ
pm2 start app.js -i max
µÇ¼ºó¸´ÖÆ µÇ¼ºó¸´ÖÆ
const express = require('express'); const app = express(); app.get('/', (req, res) => { res.send('Hello World!'); }); const server = app.listen(3000, () => { console.log('Server is running on port 3000'); });
µÇ¼ºó¸´ÖÆ µÇ¼ºó¸´ÖÆ
ͨ¹ýÉÏÊöÉèÖúʹúÂëʾÀý£¬ÎÒÃÇ¿ÉÒÔ¹¹½¨Ò»¸ö¸ß¿É¿¿ÐÔµÄWebÓ¦ÓÃЧÀÍÆ÷¼¯Èº¡£Ã¿¸öVPSÉÏÔËÐжà¸öNode.jsʵÀý£¬NGINX¸ºÔØƽºâ½«ÇëÇó·Ö·¢¸ø²î±ðµÄʵÀý£¬ÊµÏָ߲¢·¢´¦ÀíºÍ¸ºÔØƽºâ¡£Ê¹ÓÃPM2¿ÉÒÔʵÏÖ×Ô¶¯ÖØÆôºÍÀú³Ì¼à¿Ø£¬È·±£Ð§ÀÍÆ÷µÄÎȹÌÔËÐС£
×ܽ᣺
ͨ¹ýʹÓÃNGINX¡¢PM2ÒÔ¼°VPS£¬ÎÒÃÇ¿ÉÒÔ¹¹½¨Ò»¸ö¸ß¿É¿¿ÐÔµÄWebÓ¦ÓÃЧÀÍÆ÷¼¯Èº¡£NGINXÌṩ¸ºÔØƽºâºÍ¾²Ì¬×ÊÔ´µÄ¿ìËÙ»á¼û£¬PM2Ìṩ×Ô¶¯ÖØÆôºÍÀú³Ì¼à¿Ø£¬VPSÌṩ¸ß¿É¿¿ÐԺͿÉÀ©Õ¹ÐÔ¡£Í¨¹ýºÏÀíÉèÖúÍʹÓÃÉÏÊöÊÖÒÕ£¬ÎÒÃÇ¿ÉÒÔÈ·±£WebÓ¦ÓÃЧÀÍÆ÷¼¯ÈºµÄ¸ß¿É¿¿ÐÔºÍÐÔÄÜÓÅ»¯¡£
ÒÔÉϾÍÊÇNGINX PM2 VPS: ¹¹½¨¸ß¿É¿¿ÐÔµÄWebÓ¦ÓÃЧÀÍÆ÷¼¯ÈºµÄÏêϸÄÚÈÝ£¬¸ü¶àÇë¹Ø×¢±¾ÍøÄÚÆäËüÏà¹ØÎÄÕ£¡