¼òÃ÷½Ì³Ì: ÔõÑùÔÚVPSЧÀÍÆ÷ÉÏʹÓÃNGINXºÍPM2ʵÏÖÓ¦ÓõĿìËÙ°²ÅÅ
¼òÃ÷½Ì³Ì£ºÔõÑùÔÚVPSЧÀÍÆ÷ÉÏʹÓÃNGINXºÍPM2ʵÏÖÓ¦ÓõĿìËÙ°²ÅÅ
Ëæ×Å»¥ÁªÍøµÄÉú³¤£¬Ô½À´Ô½¶àµÄÓ¦Óñ»°²ÅÅÔÚÐéÄâרÓÃЧÀÍÆ÷£¨VPS£©ÉÏ¡£¶øÔÚVPSÉÏ¿ìËÙ°²ÅÅÓ¦Ó㬹ØÓÚ¿ª·¢ÕߺÍÔËάְԱÀ´Ëµ£¬ÊÇÒ»ÏîÖ÷ÒªÇұر¸µÄÊÖÒÕ¡£
±¾½Ì³Ì½«Ö¸µ¼ÄãÔõÑùʹÓÃNGINXºÍPM2ÕâÁ½¸ö³£ÓõŤ¾ß£¬ÔÚVPSЧÀÍÆ÷ÉÏ¿ìËÙ°²ÅÅÄãµÄÓ¦Óá£Ê×ÏÈ£¬ÎÒÃÇÐèÒªÏàʶNGINXºÍPM2µÄ»ù±¾¿´·¨ºÍʹÓÃÒªÁì¡£
Ò»¡¢NGINX
NGINXÊÇÒ»¸ö¸ßÐÔÄܵÄWebЧÀÍÆ÷ºÍ·´ÏòÊðÀíЧÀÍÆ÷¡£Ëü¿ÉÒÔ´¦Öóͷ£¸ß²¢·¢µÄÇëÇó£¬Ìṩ¾²Ì¬ºÍ¶¯Ì¬ÄÚÈݵÄЧÀÍ¡£ÔÚÕâ¸ö½Ì³ÌÖУ¬ÎÒÃǽ«Ê¹ÓÃNGINXÀ´×÷ΪÎÒÃÇÓ¦ÓõÄÈë¿Ú£¬Í¬Ê±Ò²½«ÆäÉèÖÃΪ·´ÏòÊðÀíЧÀÍÆ÷¡£
NGINXµÄ×°ÖÃÒªÁì¿ÉÒòЧÀÍÆ÷²Ù×÷ϵͳµÄ²î±ð¶øÓÐËù²î±ð£¬Äã¿ÉÒÔƾ֤×Ô¼ºµÄЧÀÍÆ÷ÇéÐΣ¬Ñ¡ÔñºÏÊʵÄ×°Ö÷½·¨¡£ÔÚ×°ÖÃÍê³Éºó£¬ÎÒÃÇÐèÒª¶ÔNGINX¾ÙÐÐһЩ»ù±¾µÄÉèÖá£
Ê×ÏÈ£¬ÎÒÃÇÐèÒª½¨ÉèÒ»¸öNGINXµÄÉèÖÃÎļþ£¨ÀýÈ磺myapp.conf£©¡£ÔÚÕâ¸öÉèÖÃÎļþÖУ¬ÄãÐèÒªÖ¸¶¨¼àÌýµÄ¶Ë¿ÚºÅºÍÓòÃû£¬ÒÔ¼°·´ÏòÊðÀíµ½µÄÓ¦ÓõĵصãºÍ¶Ë¿ÚºÅ¡£ÒÔÏÂÊÇÒ»¸öʾÀýÉèÖÃÎļþµÄÄÚÈÝ£º
server { listen 80; server_name mydomain.com; location / { proxy_pass http://127.0.0.1:3000; proxy_set_header Host $host; } }
µÇ¼ºó¸´ÖÆ
Çë×¢ÖØ£¬Õâ¸öʾÀýÖУ¬ÎÒÃǽ«Ó¦ÓõĵصãºÍ¶Ë¿ÚºÅÉèÖÃΪ http://127.0.0.1:3000£¬ÏÖʵÉÏÄãÐèÒª½«ÆäÌ滻ΪÄãÓ¦ÓõÄÏÖʵµØµãºÍ¶Ë¿ÚºÅ¡£
ÉèÖÃÎļþ×¼±¸ºÃºó£¬½«ÆäÉúÑÄÔÚNGINXµÄÉèÖÃÎļþĿ¼ÖУ¨ÀýÈ磺/etc/nginx/conf.d/£©¡£È»ºó£¬ÖØÆôNGINXЧÀÍ£¬Ê¹ÉèÖÃÎļþÉúЧ¡£
¶þ¡¢PM2
PM2ÊÇÒ»¸öÀú³ÌÖÎÀí¹¤¾ß£¬ËüÄܹ»×ÊÖúÄãÔÚÉú²úÇéÐÎÖмò»¯Ó¦Óõİ²ÅźÍÖÎÀí¡£ÔÚÕâ¸ö½Ì³ÌÖУ¬ÎÒÃǽ«Ê¹ÓÃPM2À´Æô¶¯×ðÁú¿Ê±Ó¦Ó㬲¢È·±£ËüÔÚºǫ́һÁ¬ÔËÐС£
Ê×ÏÈ£¬ÎÒÃÇÐèҪȫ¾Ö×°ÖÃPM2¡£Äã¿ÉÒÔͨ¹ýÔËÐÐÒÔÏÂÏÂÁîÀ´¾ÙÐÐ×°Öãº
npm install -g pm2
µÇ¼ºó¸´ÖÆ
×°ÖÃÍê³Éºó£¬ÎÒÃÇ¿ÉÒÔʹÓÃPM2À´Æô¶¯×ðÁú¿Ê±Ó¦Ó᣼ÙÉèÄãµÄÓ¦ÓÃÊÇÒ»¸öNode.jsЧÀÍÆ÷£¬Äã¿ÉÒÔʹÓÃÒÔÏÂÏÂÁîÀ´Æô¶¯Ëü£º
pm2 start app.js
µÇ¼ºó¸´ÖÆ
ÈôÊÇÄãµÄÓ¦ÓÃÊÇÒ»¸öExpressÓ¦Óã¬Äã¿ÉÒÔʹÓÃÒÔÏÂÏÂÁîÀ´Æô¶¯Ëü£º
pm2 start bin/www
µÇ¼ºó¸´ÖÆ
PM2»¹ÌṩÁËһЩÆäËûÓÐÓõÄÏÂÁºÃ±ÈÁгöËùÓÐÕýÔÚÔËÐеÄÓ¦Óá¢ÖØÆôÓ¦Óá¢×èÖ¹Ó¦Óõȡ£Äã¿ÉÒÔͨ¹ýÔËÐÐ pm2 –help ÏÂÁîÀ´»ñÈ¡¸ü¶à¹ØÓÚPM2ÏÂÁîµÄ×ÊÖú¡£
Èý¡¢°²ÅÅÓ¦ÓÃ
ÏÖÔÚ£¬ÄãÒѾװÖúÃÁËNGINXºÍPM2£¬²¢ÇÒÒѾ½«ËûÃǵĻù±¾ÉèÖÃÍê³É¡£½ÓÏÂÀ´£¬ÈÃÎÒÃÇÀ´°²ÅÅ×ðÁú¿Ê±Ó¦Óá£
Ê×ÏÈ£¬È·±£ÄãµÄÓ¦ÓÃÒѾÉÏ´«µ½ÁËÄãµÄVPSЧÀÍÆ÷ÉÏ¡£È»ºó£¬ÔÚÄãµÄЧÀÍÆ÷ÉϽ¨ÉèÒ»¸öеÄÎļþ¼Ð£¬ÓÃÓÚ´æ·ÅÄãµÄÓ¦Óá£
È»ºó£¬½øÈëµ½Õâ¸öÎļþ¼ÐÖУ¬²¢Ê¹Óà git clone ÏÂÁî´ÓÄãµÄ´úÂë¿ÍÕ»ÖпË¡´úÂë¡£»òÕߣ¬ÄãÒ²¿ÉÒÔÖ±½Ó½«ÄãµÄ´úÂëÎļþ¿½±´½øÕâ¸öÎļþ¼ÐÖС£
½ÓÏÂÀ´£¬×°ÖÃÓ¦ÓÃËùÐèµÄÒÀÀµ¡£Äã¿ÉÒÔʹÓà npm install ÏÂÁîÀ´×°ÖÃËùÓеÄÒÀÀµ¡£
È»ºó£¬Ê¹ÓÃPM2À´Æô¶¯ÄãµÄÓ¦Óá£ÔÚÄãµÄÓ¦ÓÃĿ¼ÖУ¬ÔËÐÐ pm2 start app.js »òÊÇ pm2 start bin/www£¬Æ¾Ö¤ÄãµÄÏÖÕæÏàÐÎÑ¡ÔñÊʵ±µÄÆô¶¯ÏÂÁî¡£
×îºó£¬Ê¹ÓÃÄãµÄÓòÃû»á¼ûÄãµÄÓ¦Óã¬ÈôÊÇÒ»ÇÐ˳Ë죬ÄãÓ¦¸ÃÄܹ»¿´µ½ÄãµÄÓ¦ÓÃÔÚä¯ÀÀÆ÷ÖÐÀÖ³ÉÔËÐС£
ËÄ¡¢ÊÖ¶¯¸üÐÂÓ¦ÓÃ
ÈôÊÇÄãµÄÓ¦ÓÃÔÚÔËÐÐÀú³ÌÖÐÐèÒªÊÖ¶¯¸üУ¬Ö»ÐèÔÚÄãµÄÓ¦ÓÃĿ¼ÖÐʹÓà git pull ÏÂÁîÀ´ÀÈ¡×îеĴúÂ롣Ȼºó£¬Ê¹Óà pm2 restart app ÏÂÁîÀ´ÖØÆôÓ¦Óá£
ÈôÊÇÄãµÄÓ¦ÓÃûÓÐʹÓÃGit×÷Ϊ°æ±¾¿ØÖÆϵͳ£¬Äã¿ÉÒÔÊÖ¶¯½«ÐµĴúÂëÎļþ¿½±´µ½Ó¦ÓÃĿ¼ÖУ¬È»ºóÔËÐÐÏìÓ¦µÄ pm2 restart ÏÂÁîÀ´ÖØÆôÓ¦Óá£
×ܽá
ͨ¹ý¼òÆÓÉèÖÃNGINXºÍʹÓÃPM2À´°²ÅźÍÖÎÀíÓ¦Óã¬Äã¿ÉÒÔ¿ìËٵؽ«ÄãµÄÓ¦Óð²Åŵ½VPSЧÀÍÆ÷£¬²¢ÔÚÉú²úÇéÐÎÖÐÎȹ̵ØÔËÐС£
ÔÚÏÖʵ°²ÅÅÀú³ÌÖУ¬ÎÒÃÇ¿ÉÄÜ»¹ÐèҪ˼Á¿ÆäËûÎÊÌ⣬ºÃ±ÈÇå¾²ÐÔ¡¢ÐÔÄÜÓÅ»¯¡¢¸ºÔØƽºâµÈµÈ¡£µ«ÔÚ±¾½Ì³ÌÖУ¬ÎÒÃǽö×ÅÖØÓÚÏÈÈÝ×î»ù±¾µÄ°²ÅÅÒªÁì¡£
Ï£ÍûÕâƪ½Ì³Ì¶ÔÄãÔÚVPSЧÀÍÆ÷ÉÏ°²ÅÅÓ¦ÓÃÓÐËù×ÊÖú¡£ÈôÊÇÄã¶ÔNGINXºÍPM2µÄʹÓÃÓÐÈκÎÎÊÌ⣬ÎÒÃǽ¨ÒéÄãÔĶÁ¹Ù·½ÎĵµÒÔ»ñÈ¡¸üÏêϸµÄÐÅÏ¢¡£×£ÄãÔÚVPSÉϵݲÅÅÊÂÇé˳Ë죡
ÒÔÉϾÍÊǼòÃ÷½Ì³Ì: ÔõÑùÔÚVPSЧÀÍÆ÷ÉÏʹÓÃNGINXºÍPM2ʵÏÖÓ¦ÓõĿìËÙ°²ÅŵÄÏêϸÄÚÈÝ£¬¸ü¶àÇë¹Ø×¢±¾ÍøÄÚÆäËüÏà¹ØÎÄÕ£¡