½ÌÄãÔõÑùʹÓÃNGINXºÍPM2°²ÅÅVPSЧÀÍÆ÷ÉϵÄNode.jsÓ¦ÓÃ
½ÌÄãÔõÑùʹÓÃNGINXºÍPM2°²ÅÅVPSЧÀÍÆ÷ÉϵÄNode.jsÓ¦ÓÃ
½ñÌìÎÒ½«Ïò¸÷ÈËÏÈÈÝÔõÑùʹÓÃNGINXºÍPM2À´°²ÅÅVPSЧÀÍÆ÷ÉϵÄNode.jsÓ¦Óá£Node.jsÊÇÒ»¸öºÜÊÇÊ¢Ðеĺó¶Ë¿ª·¢¿ò¼Ü£¬¶øNGINXÊÇÒ»¸ö¸ßÐÔÄܵķ´ÏòÊðÀíЧÀÍÆ÷£¬PM2ÊÇÒ»¸öÇ¿Ê¢µÄÀú³ÌÖÎÀíÆ÷¡£Í¨¹ýÍŽáʹÓÃÕâÈý¸ö¹¤¾ß£¬ÎÒÃÇ¿ÉÒÔʵÏÖ¸ßЧ¡¢Îȹ̵ÄЧÀÍÆ÷°²ÅÅ¡£
È·±£ÄãÒѾװÖÃÁËNode.jsºÍNPM¡£ÈôÊÇûÓÐ×°Ö㬿ÉÒÔͨ¹ýÒÔÏÂÏÂÁî¾ÙÐÐ×°Öãº
sudo apt-get update sudo apt-get install nodejs sudo apt-get install npm
µÇ¼ºó¸´ÖÆ
×°ÖÃPM2Àú³ÌÖÎÀíÆ÷¡£PM2¿ÉÒÔ×ÊÖúÎÒÃÇÖÎÀíNode.jsÓ¦ÓõÄÀú³Ì£¬ÔÚÓ¦ÓÃÍß½âʱ×Ô¶¯ÖØÐÂÆô¶¯¡£Ê¹ÓÃÒÔÏÂÏÂÁî¾ÙÐÐ×°Öãº
sudo npm install -g pm2
µÇ¼ºó¸´ÖÆ
½¨ÉèÒ»¸ö¼òÆÓµÄNode.jsÓ¦ÓóÌÐò¡£ÔÚÄãµÄVPSÉϽ¨ÉèÒ»¸öеÄÎļþ¼Ð£¬²¢ÔÚÆäÖн¨ÉèÒ»¸öÃûΪ app.js µÄÎļþ¡£ÔÚ app.js ÖбàдÄãµÄÓ¦ÓóÌÐò´úÂë¡£ÀýÈ磬ÒÔÏÂÊÇÒ»¸ö¼òÆÓµÄExpressÓ¦ÓóÌÐò´úÂ룺
var express = require('express'); var app = express(); app.get('/', function(req, res) { res.send('Hello World!'); }); app.listen(3000, function() { console.log('App listening on port 3000!'); });
µÇ¼ºó¸´ÖÆ
ʹÓÃPM2Æô¶¯Ó¦ÓóÌÐò¡£ÔÚÖÕ¶ËÖУ¬µ¼º½µ½Ó¦ÓóÌÐòĿ¼²¢ÔËÐÐÒÔÏÂÏÂÁ
pm2 start app.js
µÇ¼ºó¸´ÖÆ
ÏÖÔÚ£¬ÄãµÄÓ¦ÓóÌÐòÒѾͨ¹ýPM2Æô¶¯£¬²¢ÇÒ»áÔÚʧ°Üʱ×Ô¶¯ÖØÐÂÆô¶¯¡£
ÉèÖÃNGINX·´ÏòÊðÀí¡£ÎÒÃÇÏ£Íû½« NGINX ÉèÖÃΪ¼àÌý80¶Ë¿Ú£¬½«´«ÈëµÄÇëÇóת·¢µ½ÎÒÃǵÄNode.jsÓ¦ÓóÌÐò¡£·¿ªNGINXÉèÖÃÎļþ£¬Â·¾¶Ò»Ñùƽ³£Îª /etc/nginx/sites-enabled/default£¬²¢¾ÙÐÐÈçÏÂÉèÖãº
server { listen 80; server_name your-domain.com; location / { proxy_set_header X-Real-IP $remote_addr; proxy_set_header Host $http_host; proxy_pass http://127.0.0.1:3000; } }
µÇ¼ºó¸´ÖÆ
ÔÚ¸ÃÉèÖÃÖУ¬½« your-domain.com Ì滻ΪÄãµÄÓòÃû¡£È»ºó£¬½« 127.0.0.1:3000 Ì滻ΪÄãµÄÓ¦ÓóÌÐòÔËÐеĵصãºÍ¶Ë¿Ú¡£
ÉúÑIJ¢¹Ø±ÕÉèÖÃÎļþ¡£È»ºó£¬ÖØмÓÔØNGINXÉèÖÃÒÔʹÆäÉúЧ£º
sudo service nginx reload
µÇ¼ºó¸´ÖÆ
ÏÖÔÚ£¬NGINX½«Í¨¹ý·´ÏòÊðÀí½«´«ÈëµÄÇëÇó·¢Ë͵½ÎÒÃǵÄNode.jsÓ¦ÓóÌÐò¡£
¹§Ï²£¡ÄãÒѾÀֳɵØʹÓÃNGINXºÍPM2°²ÅÅÁËVPSЧÀÍÆ÷ÉϵÄNode.jsÓ¦ÓóÌÐò¡£ÏÖÔÚ£¬Äã¿ÉÒÔ»á¼ûÄãµÄÓòÃû£¬Ó¦¸Ã¿ÉÒÔ¿´µ½ÄãµÄÓ¦ÓóÌÐòÔËÐеÄÄÚÈÝ¡£
ÒÔÉÏÊÇʹÓÃNGINXºÍPM2°²ÅÅVPSЧÀÍÆ÷ÉϵÄNode.jsÓ¦ÓõļòÒªÖ¸ÄÏ£¬Ï£ÍûÄܶÔÄãÓÐËù×ÊÖú¡£
ÒÔÉϾÍÊǽÌÄãÔõÑùʹÓÃNGINXºÍPM2°²ÅÅVPSЧÀÍÆ÷ÉϵÄNode.jsÓ¦ÓõÄÏêϸÄÚÈÝ£¬¸ü¶àÇë¹Ø×¢±¾ÍøÄÚÆäËüÏà¹ØÎÄÕ£¡