ºìÁªLinuxÃÅ»§
Linux°ïÖú

±È½Ï²»Í¬µÄPaaSƽ̨ÉϵÄNode.jsÖ§³Ö

·¢²¼Ê±¼ä:2014-06-29 15:48:54À´Ô´:ºìÁª×÷Õß:velcbo
Node.jsÏà¶ÔÓÚÆäËûµÄÓïÑÔÀ´Ëµ¿ÉÄÜÈÔÈ»ÊÇÄêÇáµÄ£¬µ«ÊÇËüµÄÐéÄâÖ÷»úÈ´ÓкܶàµÄÑ¡Ôñ¡£ÔÚÕâÆªÎÄÕÂÖУ¬ÎÒÃǾÍÀ´¿´¿´¼¸¸ö¡°Æ½Ì¨¼´·þÎñ£¨PaaS£©¡±ÌṩÉÌ¡£

ÎÒÕâÀï²»º­¸ÇijЩ¡°»ù´¡ÉèÊ©¼´·þÎñ£¨IaaS£©¡±µÄÑ¡Ôñ£¬±ÈÈç AWS ºÍ Joyent£¬¾¡¹ÜÕâЩѡÔñÖ®ÖеÄijЩPaaSºÍIaaSÖ®¼äµÄ½çÏÞÓÐÒ»µãµãÄ£ºý¡£

ÔÚÕâÒ»ÂÖÖУ¬ÎÒÖ÷Òª¿¼²ìÁ½¸ö·½Ã棺²¿ÊðºÍ»·¾³±äÁ¿µÄÅäÖá£ÎÒ»¹°ÑһЩÓÐ¹ØÆð²½£¬ÒDZí°åµÄ½ØÍ¼ºÍ¶ÔÆäËüµÄÔÓÏî²Ù×÷µÄ¹Û²ìÄÒÀ¨Á˽øÀ´¡£ÔÚÒÔºóµÄÎÄÕÂÖУ¬ÎÒÃǽ«»áÔËÐÐһЩ»ù´¡µÄÐÔÄܲâÊÔ£¬È»ºóÀ´¿´¿´¼Ü¹¹ÉìËõÄÑÒ׳̶ȡ£

ÉèÖÃ

ÎÒ¿ªÊ¼ÓÚÒ»¸ö·Ç³£¼òµ¥µÄExpress app£¬Ê¹ÓÃnconf¿ÉÒÔÌṩ¶àÖÖ²»Í¬µÄ·½Ê½£¬ÈÃÎÒÃÇ¿ÉÒÔ¸øappÖ¸¶¨¶Ë¿Ú£¬¼àÌýÎÒÃǵÄÓ¦ÓóÌÐò£¨±ØÒªÊ±£©ÒÔ¼°Ò»¸ödummy±äÁ¿£¬ÎÒ³ÆÖ®ÎªSECRET¡£Ëü»áÏÈѰÕÒ½ÚµãÃüÁî´«µÝµÄ²ÎÊý£¬»·¾³±äÁ¿£¬È»ºó´Ó¸ùĿ¼µÄÉÏÒ»¼¶µ½ÎÒÃÇÖÆ¶¨µÄĬÈÏλÖ㬳¢ÊÔ¼ÓÔØµÄconfig.jsonÎļþ¡£µ±¼ÓÔØappʱ£¬ÎÒÃÇÄÜÖªµÀ±äÁ¿´ÓÍⲿԴ¼ÓÔØÊÇ·ñÕýÈ·¡£Èç¹û´íÎ󣬼ÓÔØappʱ½«»Ø¹öµ½Ä¬ÈϵÄSECRET¡£Èç¹ûÎÒ¿ÉÒÔ·ÃÎÊappµÄÆô¶¯ÈÕÖ¾£¬Ò²¾Í¿ÉÒÔ¿´µ½app¼àÌýÔÚNODE_ENVÉϵÄÄĸö¶Ë¿Ú¡£

×îºó£¬ÎÒÉèÖÃ"engines": { "node": "v0.10.x" ...µ½ package.jsonÎļþÖУ¬¾Í¿ÉÒÔ¿´µ½Ã¿¸öÌṩÕßÈçºÎÏìÓ¦¡£

ÏÖÔÚûÓÐÌØ¶¨µÄ˳Ðò..
Nodejitsu

https://www.nodejitsu.com/

Ò»¸ö×î³õµÄ²ÎÓëÕßÈÔÈ»ÍêÈ«µØÊÇNode.jsµÄ½â¾ö·½°¸£¬µ±Joyent·ÅÆúËûÃǵÄno.de·þÎñÖ®ºóJoyentµÄNodejitsu³ÉΪÁ˹ٷ½ºÏ×÷»ï°é(²ÑÀ¢,ÄÇÕæÊÇÒ»¸ö²»´íµÄÓòÃû).Nodejitsu²»ÔÙÊÇÒ»¸öÓÀ¾ÃÃâ·ÑµÄÖмä²ã.µ«ÊǸö±ðµÄ·½°¸ÐèÒª3$ÿÔºÍÓÐÒ»¸ö30ÌìµÄÃâ·ÑÊÔÓÃÆÚ.
±äÁ¿ÅäÖÃ

¸ù¾ÝÎĵµÄã²»ÐèÒªÉèÖüàÌý¶Ë¿Ú,Ö»ÒªËüÊÇ80»ò´óÓÚ1024.

ÉèÖÃÎÒÃǵÄSECRETÀ´¸²¸ÇĬÈϵÄÊÇÏ൱ÈÝÒ×µÄ.Äú¿ÉÒÔʹÓÃCLI»òweb½Ó¿ÚÁбíÀ´ÉèÖñäÁ¿,¾ÍÏñÕâ¸öÃûµ¥ÉÏÆäËû¼¸¸ö¹©Ó¦ÉÌ¡£
²¿Êð

·¢²¼ÄãµÄ´úÂëµ½NodejitsuÔÆÊÇͨ¹ýÒ»¸ö×Ô¶¨ÒåµÄÃüÁîÐнӿÚ(CLI)Ó¦ÓóÌÐò,°²×°rpm,×¢²áÒÔºó½«×Ô¶¯×ª´æµ½ github Ö¸Áî°æ±¾¿â. µ«ÕûÌå°²×°¹ý³ÌÊÇÏ൱ʹ¿àµÄ£¬µ±ÌáʾÄãÑ¡ÔñÒ»¸ö¶þ¼¶ÓòÃû,È»ºó»á×Ô¶¯Ìí¼Óµ½package.jsonÎļþ,ÔÚÎÒÅÜÁ˼¸¸ö²âÊÔÖÐ,²¿ÊðÊǷdz£¿ìµÄ. ÔÚÿ¸ö²¿ÊðµÄpackage.jsonÎļþµÄ°æ±¾ÊôÐÔÊÇ×Ô¶¯µÝÔöÓëµÄ,Õâ²»»áÂé·³ÎÒµ«¿ÉÄÜ»áʹÁíÍâһЩÈË·³ÄÕ.

ÎÒÓöµ½ÁËÈý¸öС¹ÊÕÏ£¬µÚÒ»Êǰ汾¿ØÖÆ,ÔÚÎÒ²¿ÊðʱÓÐÐÅÏ¢Êä³ö,ÎÒչʾÏÂ:

info: jitsu v0.12.10-2, node v0.10.4

È»¶ø,ÎÒ±»¸æÖª0.10.x²»ÊÇÖ§³Ö¼ÛÖµ,Ö»ÓÐͨ¹ý¶Ô±Èµ½0.8.xʱÎÒ²ÅÄܹ»»ñµÃ³É¹¦.

µÚ¶þ,ÎÒ³¢ÊÔÔÚpackage.json¸Ä±äÊôÐÔÃû³ÆÈ»ºó¾Í¸æËß²»Äܲ¿Êð

µÚÈý.ÎÒ°ÑENV±äÁ¿¸øÏû³ýÁË£¬Ã¿´ÎÎÒ¶¼µÄÖØÐ²¿Êð,Ò²ÐíÓÐÒ»¸ö·½·¨¿ÉÒÔ±ÜÃâ.
Misc Notes ºÍ Dashboard

ÎÒϲ»¶Nodejitsu¡£Èκδ¦Àí×Ô¶¨ÒåÅäÖö¼»áͨ¹ý±ê×¼µÄpackage.jsonÎļþ¡£ÄãÉõÖÁ¿ÉÒÔ¶¨Ò嶍֯µÄpredeployºÍpostdeploy hooks¡£ÎÒ¶ÔËüµÄÓ¡ÏóÊÇ£¬ËüÄܷdz£Áé»îµØ²¿ÊðºÍ²é¿´ÈÕÖ¾¡£

Heroku

https://www.heroku.com/

PaaSÊÀ½çµÄÅÓÈ»´óÎ ʹÓÃÎÞËù²»ÔÚµÄRuby on Rails ¹¹Ôì³öµÄ¼«¶ËÁ÷ÐÐµÄÆ½Ì¨¡£
±äÁ¿ÅäÖÃ

ͬÑùÊÇʹÓÃCLIÉèÖÃÎÒÃǵÄSECRET£¬ÓÃÀ´¸²¸ÇĬÈÏÖµ¡£

ËùÓÐÓ¦ÓÃÔÚ¶Ë¿Ú5000ÉÏÔËÐУ¬ËùÒÔÄãÐèÒª¼àÌýÕâ¸ö¶Ë¿Ú¡£

×îºó£¬ÐèÒª´´½¨Ò»¸öProcfileÀ´ËµÃ÷webÓ¦Óãºnode server.js¡£ÕâÖ»ÊÇÖ§³Ö¶àÓïÑÔµÄPaaSµÄƽ̨µÄССµÄ¸±×÷Óá£
²¿Êð

HerokuµÄ"toolbelt"CLIÊÇÓÃÓÚ¹ÜÀíÄúµÄÕÊ»§ºÍÓ¦ÓÃ,µ«²¿ÊðÊÇͨ¹ýgit,ÄãÖ»ÐèÒªÌí¼ÓÖÕ¶ËËûÃǾͻáΪÄúÌṩԶ³ÌÔÚÄãµÄgitÅäÖÃÖÐ,ÒòΪËûÃDz»Íêȫ֧³ÖNode.js£¬ÎҺܾªÏ²µØ·¢ÏÖËûÃÇÒѾ­Ö§³Öv 0.10.6,ÎҵĵÚÒ»¸ö²¿ÊðËÆºõ³É¹¦,µ«ÊÇÎÒÊÕµ½×·×Ù´íÎóÒýµ¼ÎÒ·¢ÏÖµÚÒ»´ÎÐèÒªÖ¸¶¨ÓжàÉÙ×ÊÔ´,ÎÒÏëÖÂÁ¦ÓÚÕâ¸ö³ÌÐò£º

heroku ps:scale web=1

ÔÚÄÇÖ®ºó,ËüÊÇÒ»·«·ç˳µÄ.
ÔÓÏî˵Ã÷ºÍ¿ØÖÆÃæ°å

¶ÔÓÚÎÒ×Ô¼ºµÄÏîÄ¿ÎÒû³¢ÊÔ¹ýHerokuÖ±µ½´óÔ¼3¸öÔÂǰ,²¿·ÖÔ­ÒòÊÇÒòΪÎÒÓÐÒ»¸öÊʶȵıê×¼À´°ïÖúÎÒµ÷Õû×Ô¼ºµÄ·þÎñÆ÷,¼°²¿·ÖÔ­ÒòÊÇÒòΪÎÒÈÏΪËûÃÇʺó´¦Àínode.jsµÄ,µ«ÊÇÈç¹ûÄãÄܿ˷þËûÃǵIJ»×ã¹ØÓÚWebSocketÖ§³ÖºÍһЩ´íÎó±ê¼ÇºÍͳ¼Æ£¬ÕâÊÇÒ»¸öÏ൱²»´íµÄ¾­Ñé.

ËûÃÇ»¹µÃµ½ÁËÒ»¸ö·Ç³£ÓÅÃÀºÍ¹¦ÄܵĿØÖÆÃæ°å£¬ÓëһЩ·½±ãµÄ¹¦ÄÜ£¬Ê¹Äã²»»á¸Ðµ½ÏñÆäËüµØ·½Ö¸ÏòS3-hostedÎļþÖеÄ404Ò³Ãæ,²¢ÇÒÄܹ»½«ÏîÄ¿µÄËùÓÐȨתÈøø²»Í¬µÄÓû§¡£

Modulus

http://modulus.io

.io ºó׺ÊÇÒ»¸öÏà¶Ô½ÏеķþÎñ¡£ ¹ØÓÚNode.js, ËûÃÇÄÚǶ֧³ÖMongoDB ºÍ±¾µØÎļþ´æ´¢¡£
ÅäÖñäÁ¿

ÅäÖñäÁ¿¿ÉÒÔͨ¹ýÍøÒ³½çÃæ»òÕßCLI¡£ÎÒÊÔͼÔÚ´´½¨SECRET¡£ÔÚ³¢ÊÔ²¢Åöµ½´íÎóºó,ÎÒ·¢ÏÖ²»ÄÜÔÚ±äÁ¿ÖгöÏÖ¿Õ¸ñ£¡ËùÒÔÆæ¹ÖÊÇSECRETÄ£¿é²»ÄÜÔË×÷¡£

Ó¦ÓÃÐèÒª¼àÌý8080¶Ë¿Ú, ¡°µ«ÎÒÃÇÍÆ¼öÓö˿ڻ·¾³±äÁ¿ (process.env.PORT).¡±
²¿Êð

²¿Êð¿ÉÒÔͨ¹ýCLIÀ´×ö£¬µ«ÄãÒ²¿ÉÒÔѹËõÕû¸öÏîÄ¿²¢°ÑËüͨ¹ýËûÃǺÜÓÐȤµÄÍøÂç½Ó¿ÚÉÏ´«¡£ÎÒûÓÐÈκÎÎÊÌ⣬²¿Ê𣬵«Ã¿´ÎÒª°ÑÄãÕû¸öÏîÄ¿£¨³ýÁËnode_modulesÖ®Í⣩¶¼´ò°üºÍÉÏ´«£¬Õâ»áʹËüµÄ´¦Àí¹ý³Ì±ÈÄÇЩʹÓà git µÄ¡°diff¡±¹¦ÄÜ»ò rsync µÄ¹¤¾ßÂýµÃ¶à¡£

ÖÁÓÚд×÷£¬Ä£¿éÔËÐÐÓÚ0.8.15°æ±¾£¬²¢ºöÂÔÄãÔÚ package.json ÖÐÖ¸¶¨µÄÈκÎÄÚÈÝ¡£
ÆäËü×¢ÒâÊÂÏîºÍÒDZí°å

ÎÒΪÕâЩ¼Ò»ï»¶ºô£¬²¢Ï£ÍûËûÃÇÄܼÌÐø¸ÄÉÆ¡£ÓиöÄÚÖÃMongoDBµÄÑ¡Ïî»áÊDz»´íµÄ£¬ÎÒϲ»¶Ç°ÆÚ¶¨¼Û¡£

AppFog

http://appfog.com

AppFogÏÈǰÒòPHP Fog¶ø³öÃû£¬ÏÖÔÚÒѱ»CenturyLinkÊÕ¹º¡£Äã¿ÉÒÔÖ¸¶¨ÄãÏëʹÓõÄÔÆ£¬È粻ͬµØÇøµÄAWS¡¢HPÒÔ¼°AzureÔÆ¡£
ÅäÖñäÁ¿

±äÁ¿¿Éͨ¹ýweb¿ØÖÆÌ¨»òÕßCLI£¨ÃüÁîÐй¤¾ß£©ÉèÖá£ÉèÖÃ˽ÃܱäÁ¿ºÁÎÞÎÊÌâ¡£

ÎĵµÒªÇó¼àÌýprocess.env.VCAP_APP_PORT¶Ë¿Ú£¬µ«ÎÒ³¢ÊÔʹÓÃĬÈÏÅäÖÃÒ²ÄÜÕý³£¹¤×÷¡£ÈÕÖ¾ÏÔʾËüÔÚ¼àÌý57277¶Ë¿Ú¡£
²¿Êð

Ò²ÊǽèÖúCLI¹¤¾ß¡£Ð´ÕâÆªÎÄÕµÄʱºò£¬AppFogʹÓÃv0.8.14°æ±¾£¬²¢ÇÒºöÂÔpackage.jsonÀïµÄ°æ±¾ÉèÖá£
ÆäËû×¢ÒâÊÂÏîºÍÒDZíÅÌ

ËüµÄÃâ·Ñ¼Æ»®¿´ÆðÀ´Í¦¿¶¿®µÄ¡£ËüÌṩ¶à´ï8¸öʵÀý£¬×ܹ²2GB RAM£¬²¢¿ÉËæÒâ·Ö¸îʹÓá£ËüÒ²ÓÐÄÚÖÃMongoDBµÄÑ¡Ïî¡£

Windows Azure

http://windowsazure.com
±äÁ¿ÅäÖÃ

±äÁ¿¿ÉÒÔͨ¹ýÍøÂç½Ó¿Ú»òÕßCLIÅäÖá£ÔÚÎÒµÚÒ»´Îͨ¹ýCLIÅäÖÃSECRETµÄʱºòÓöµ½ÁËÒ»¸ö±È½Ï¹îÒìµÄСÎÊÌ⣬SECRET±ä³ÉÁËsecret¡£ËùÒÔÎÒ²»µÃ²»ÓÃÍøÂç½Ó¿ÚÀ´¸üÕýËü¡£

ÔÚûÓжԶ˿Ú×öÈκÎÐ޸ĵÄÇé¿öÏ£¬Õâ¸öÓ¦ÓÃÅܵúܺ㬵«ÊÇÔÚÈÕÖ¾Öз¢ÏÖÁËÒ»¸öºÜÆæ¹ÖµÄÖµ: \\.\pipe\bea0dffc-de5b-47f4-8575-4d17c2175fd5
²¿Êð

Ï£Íû΢ÈíÔÚÕâÀﻹÄÜÓиü¶àµÄ×Ô¶¨ÒåµÄ¶«Î÷£¬ÒòΪµ±ÓÐЩÎļþ±»Ìí¼Ó½ø´úÂëÖУ¨ÃûΪazure_error and iisnode.yml£©£¬CLI»á×Ô¶¯Í¨¹ýnpm°²×°Í¬Ê±Ò²»áͨ¹ýgit²¿Êð¡£

AzureÔËÐеÄÊÇ0.8.2Õâ¸ö°æ±¾£¬²»¹ýÕâ¸ö°æ±¾ºÅ¿ÉÒÔÔÚpackage.jsonÎļþÖÐÖØÐÂÅäÖá£
×¢ÒâÊÂÏîºÍÒDZí°å

ÕÊ»§´´½¨¹ý³ÌÊÇÆù½ñΪֹ×ζµÄ¡£Ëü°üÀ¨¶ÌÐÅÑéÖ¤£¬Ò»¸öWindows LiveÕÊ»§£¬ºÍÒ»¸öµ¥¶ÀÓÃÓÚ²¿ÊðµÄGitÕÊ»§¡£µ«×ÜÌå¶øÑÔ£¬ÔÚAzureƽ̨µÄ¾Þ´ó·¶Î§À´¿´£¬ÒDZí°åÊÇÏ൱²»´íµÄ¡£ËûÃÇ»¹Ö§³ÖÁ÷ÈÕÖ¾Îļþ¡£ÖÁÓÚÎÒ¿ÉÒÔ¸æËߣ¬HerokuÊÇΨһÕâô×öµÄ¹©Ó¦ÉÌ¡£

dotCloud

http://dotcloud.com

Ö§³Ö¶à¹úÓïÑÔ.¾ÍÏñNodejitsuÒ»Ñù£¬ ËûÃÇ×î½üÈ¡ÏûÁËËûÃǵÄÃâ·Ñ·þÎñ£¬ËùÒÔÔÚ¿ªÊ¼Ê¹ÓÃ֮ǰÐèÒª°ó¶¨Ò»ÕÅÐÅÓÿ¨.
²ÎÊýÅäÖÃ

²ÎÊýµÄÉèÖÃͨ¹ýCLI»òÕßÒ»¸ödotcloud.ymlÎļþÉèÖÃ.

¼àÌý¶Ë¿ÚÐèÒªÉèÖÃΪ8080.
²¿Êð

dotClouds CLIʹÓÃPython±àдµÄ£¬ ͬʱʹÓÃrsyncÔÚÿ´Î²¿ÊðµÄʱºò×îС»¯ÄãÒªÉÏ´«µÄÊý¾Ý. ΪÁ˲¯Ê飬ÄãÐèÒªÅäÖÃsupervisord.confºÍdotcloud.ymlÎļþ¡£

Ŀǰ, dotCloudµÄ°æ±¾Îª 0.6.20. Ouch.
×¢ÒâÊÂÏîºÍ¿ØÖÆÃæ°å

ÔçÆÚµÄʱºòÎҸе½·Ç³£µÄ·ßÅ­£¬µ±ËûÃǽøÐÐÒ»Ð©ÖØ´óÐÞ¸ÄÈ´¼¸ºõûÓо¯¸æµÄʱºò¡£ÎÒ²ÂÕâ¾ÍÊÇÉú»îÔÚÒ»¸öbetaµÄÊÀ½ç£¬µ«ÊÇÎÒһֱûÓм±×ÅÅÜ»ØÀ´¡£

Engine Yard

http://engineyard.com

¾ÍÏñHerokuÒ»Ñù£¬ Engine Yard Ò²ÊÇͨ¹ýRuby on RailsÀ´Íйܵġ£ ²»¹ý²»Ò»ÑùµÄÊÇ, ÎÒÃǶÔÓÚ°²×°ºÍ»·¾³ÅäÖÃÓµÓиü¶àµÄÑ¡Ôñ¡£ÓзþÎñÆ÷¹ÜÀí¾­ÑéµÄÈË»á¾õµÃEngine Yard¸üÏñÖ±½Ó²Ù×÷ij̨·þÎñÆ÷£¬²»¹ýÕâÈÔÈ»ÊÇPaaS¡£
±äÁ¿ÅäÖÃ

ÎÒÃÇ¿ÉÒÔͨ¹ýnpmÄ£¿éey_configÀ´ÅäÖû·¾³±äÁ¿¡£Engine Yard»¹Ö§³Öͨ¹ýSSHÀ´·ÃÎÊÄãµÄ»úÆ÷£¬ÄÇÑùÎÒÃǾͿÉÒÔÖ±½Ó´´½¨config.json²¢·Åµ½Ò»¸öÕýÈ·µÄµØ·½¡£
²¿Êð

Õâ¸öÊÇͨ¹ýgitÀ´²¿ÊðµÄ£¬²»¹ýpackage.jsonÎļþÖеÄnode°æ±¾ºÅ×î¶àÖ»Ö§³Ö0.8.11¡£
×¢ÒâÊÂÏîºÍ¿ØÖÆÃæ°å

µ±ÎÒÃÇ´´½¨ÁËÒ»¸öÓ¦Óã¬ÎÒÃÇÐèҪѡÔñnginx£¨ÍƼö£©×÷Ϊǰ¶Ë´úÀí»òÕßʹÓÃNode.js£¬ºóÕßÖ§³ÖWebSockets¡£

µ±ÎÒµÚÒ»´Î²¿Êðʧ°Ü£¬»áµ¯³öÒ»¸ö¿ÉÒÔÊäÈëÊÖ»úºÅµÄ´°¿Ú¡£

OpenShift.com

http://openshift.com

OpenShift Ò»¸öÖ÷ÒªÓÉRed Hatά»¤µÄ¿ªÔ´ÏîÄ¿, OpenShift.comÊÇÒ»¸öÍйÜʽ·þÎñµÄƽ̨(ÏñWordPress.org ºÍ WordPress.com).
ÅäÖñäÁ¿

OpenShift.com Ö§³ÖÓÃSSHÁ¬½ÓÄãµÄµçÄÔ,ÕâÒâζ×ÅÄã¿ÉÒÔн¨ config.json ²¢°ÑËü·Åµ½ºÏÊʵĵط½. ·ñÔò, ûÓÐÌØÊâµÄÃüÁîÀ´Ô¤Ïȶ¨ÒåÅäÖÃÎļþ.

¶Ë¿ÚÊÇ process.env.OPENSHIFT_INTERNAL_PORT || 8080.
²¿Êð

ÓÃgit²Ù×÷,Èç¹ûÄã²»ÊÇ»ùÓÚÍøÒ³µÄGUIµÄ·ÛË¿£¬¾¡¹ÜÓÐ CLI ÓÃÀ´´´½¨ºÍ¹ÜÀíÏîÄ¿. ÄãÐèÒªÏȽ«ÄãµÄ¹«¹²SSH key¼Óµ½ÄãµÄÕË»§ÖÐ,ÕâÊDz»°üÀ¨ÔÚnode.js¿ìËÙ½ø½×ÑùÀýµÄÒ»²½¡£

package.jsonÎļþÖеÄnode°æ±¾ºÅ»á±»ºöÂÔ£¬Ëü»áĬÈÏʹÓÃv0.6.20£¬²»¹ýÄã¿ÉÒÔͨ¹ý¶îÍâµÄ²Ù×÷À´¸Ä±äËü
×¢ÒâÊÂÏîºÍ¿ØÖÆÃæ°å

֮ǰÎÒ¶ÔÓÚ»ñȡʾÀýÓ¦ÓÃÓÐЩÎÊÌ⣬ËùÒÔÎÒÖØÐ¿ªÊ¼²¢ÈÃOpenShiftÓÃËûÃǵÄʾÀýÎļþÌî³ägit²Ö¿â¡£ÕâÀïССµÄÌáʾһÏ£¬°üÀ¨deploy hookºÍһЩÅäÖÃÎļþ¶¼ÔÚopenshiftĿ¼Ï£¬READMEÎļþչʾÁ˽ṹ²¢ËµÃ÷ÿ¸öÎļþµÄÒâÒå¡£

µ«ÊÇÎÒÈÔÈ»¶Ô¼àÌýÒ»¸öÌØ¶¨IPµØÖ·¸Ðµ½À§»ó£¬¾ÍÈçÏÂÃæµÄ£º

var ipaddr = process.env.OPENSHIFT_NODEJS_IP || "127.0.0.1";

È»ºóÔÚserver.jsÎļþµÄapp.listenÖÐÌí¼Ó ipaddr£¬ ¾ÍÏñÕâÑù£º

app.listen(app.get('port'), ipaddr, function(){...

ÎÒÒѾ­ºÍOpenShiftÏà¹ØÈËÔ±½øÐÐÁ˹µÍ¨£¬ËûÃÇÒ²½«¸üÐÂÈëÃÅÖ¸ÄÏÈÃÕⲿ·ÖÄÚÈݸü¼ÓµÃͨË×Ò×¶®¡£

CloudFoundry

http://cloudfoundry.com

Ê×ÏÈÀ´¿´£¬CloudFoundryÓÐÒ»¸öÃ÷È·¡¢ÓѺõÄÈëÃŹý³Ì¡£È»¶ø£¬¼¸¸öÆÁĻ֮ºó£¬Îҵõ½ÁËÕâ¸öÏûÏ¢£º
*ÎÒÃÇÕý´¦ÔÚÒ»¸ö¹ý¶ÉʱÆÚ£º*
ÄúÕýÔÚÔĶÁV2Îĵµ... Cloudfoundry.comÔÚ2013Äê6Ô½«±»Éý¼¶µ½V2¡£

ËùÒÔ£¬ÎÒ»áת»Øµ½ËûÃÇÔÚÕâһϵÁеÄÏÂÒ»ÆÚÖС£
ºó»áÓÐÆÚ

²»ÓÃ˵£¬Õâ¸öÊÀ½çÕýÔÚѸËٵı仯×Å¡£²»Òª°ÑÌ«¶àµÄ¹Ø×¢·ÅÔÚÈκξßÌåµÄϸ½ÚÉÏ£¬³ý·ÇÏȼì²é¸üС£ÀýÈ磬ÔÚÁ½ÌìǰÎÒдºÃÕâÆªÎÄÕ£¬Modulus·¢ËÍÁËÒ»·âÓʼþ¸øÎÒ£¬ÓйØÉý¼¶°æ±¾µÄNode.js¡£

ÔÚÒÔºóµÄÎÄÕÂÖУ¬ÎÒ½«¼ÌÐø¼à¿ØºÍ²âÊÔÕâЩƽ̨µÄÐÔÄÜ£¬È»ºó¼Ç¼À©Õ¹ËûÃǵĿìÕÕ¡£ÔÚ´ËÆÚ¼ä£¬Èç¹ûÎÒ´í¹ýÁËÄã×îϲ»¶µÄNode.js PaaS£¬ÇëÈÃÎÒÖªµÀ¡£

À´Ô´£ºLinuxÉçÇø
ÎÄÕÂÆÀÂÛ

¹²ÓÐ 0 ÌõÆÀÂÛ