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ÉçÇø