如何将生产MeteorJS应用程序部署到Windows Azure?如何将MeteorJS应用程序部署到Windows Azure?
回答
是的。见http://www.meteorpedia.com/read/Deploying_to_a_PaaS
在大多数情况下,这是因为使用“流星捆绑”, demeteorizer,然后用你的PaaS 提供商的CLIdeploy tool上传生成的文件一样简单。
Demeteorizer包装,并通过创建 的东西,更像一个标准寻找的Node.js应用 ,完成对依赖 管理的package.json文件扩展流星的bundle命令。
$ cd /my/meteor/app
$ demeteorizer -o /my/node/app
$ cd /my/node/app
$ npm install
$ export MONGO_URL='mongodb://user:[email protected]:port/databasename?autoReconnect=true&connectTimeout=60000'
$ export PORT=8080
$ forever start main.js
Forever让您的应用程序断开或崩溃,but not a reboot unless you manually add a boot entry后运行。
整个部署是使用Meteor Up代替much easier。或者可能是mups,虽然它甚至没有更新文档。
要在Azure的web应用程序运行流星应用:
Azure Web App
Python 2.7
Websockets ON (optional)
WEBSITE_NODE_DEFAULT_VERSION 0.10.32 (default)
ROOT_URL http://webapp.azurewebsites.net
MONGO_URL mongodb://username:[email protected]:36648/dbname (For advanced apps. Request log should say if you need it.)
Dev Machine
Install Visual Studio Community 2015
Install Node 0.12.6
Install Meteor MSI
app> demeteorizer -o ..\app-dem
app-dem\programs\server\packages\webapp.js change .PORT line to "var localPort = process.env.PORT"
app-dem\package.json change "node": "0.10.36" to "node": "0.12.6"
app-dem> npm install
app-dem> git init
app-dem> git add -A .
app-dem> git commit -m "version 1.0 demeteorized Meteor + tweaks"
app-dem> git remote add azure https://[email protected]:443/webapp.git
app-dem> git config http.postBuffer 52428800
app-dem> git push azure master
相反的demeteorizer -o
,也许你可以使用meteor build
和创建输出根的package.json:
{
"name": "App name",
"version": "0.0.1",
"main": "main.js",
"scripts": {
"start": "node main.js"
},
"engines": {
"node": "0.12.6"
}
}
如果bcrypt无法编译,请务必使用更新的版本:
"dependencies": {
"bcrypt": "https://registry.npmjs.org/bcrypt/-/bcrypt-0.8.4.tgz"
}
在开始之前,请确保您已经安装了一个32位版本的nodejs,并在Windows生成机器上运行了“npm -g install fibers”。 azure上的默认nodejs仅运行32位!
注意:如果您正在使用PhantomJS上继承的Spiderable软件包,则此功能无效。 PhantomJS不能在蔚蓝的webapp上执行?
- 在项目“流星构建.. \扩建”,提取位于“.. \扩建” .tar.gz文件。
- 地点/创建 “.. \扩建\包” 一 “的package.json” 载:
{
"name": "AppName",
"version": "0.0.1",
"main": "main.js",
"scripts": {
"start": "node main.js"
},
"engines": {
"node": "0.12.6"
}
}
注意:确保 “名” 不包含空格,在Azure上会部署失败。
- 在您喜欢的shell上,转到“.. \ buildOut \ bundle \ programs \ server”并运行“npm install”。这将预先下载所有需求并构建它们。
- 现在打开文件“.. \ buildOut \ bundle \ programs \ server \ packages \ webapp.js”并搜索“process.env.PORT”。
它看起来像这样:
var localPort = parseInt(process.env.PORT) || 0;
改变这一行到:
var localPort = process.env.PORT || 0;
这是必要的,以便您的流星工程能尽快,因为它在节点运行接受一个名为插座。函数“parseInt”不会让字符串通过,命名的套接字是位于您的web应用程序环境中的字符串。这是我的理由,在这里警告!现在保存这个变化的,我们几乎完成了...
- 解决bcrypt问题:下载这个文件并解压的地方是:https://registry.npmjs.org/bcrypt/-/bcrypt-0.8.4.tgz 解压。
现在替换位于文件: “.. \扩建\包\程序\服务器\故宫\ NPM-bcrypt \ node_modules \ bcrypt *”
与目录的和文件的所在的地方。” \ bcrypt-0.8.4 \ package *“
现在进入目录”.. \ buildOut \ bundle \ programs \ server \ npm \ npm-bcrypt \ node_modules \ bcrypt \“中的shell并确保删除了“node_modules”目录。如果node_modules目录没有被删除,npm由于某种原因不会构建软件包。
在shell“npm install”上运行。
确保在webapp的门户中设置“环境”变量:“MONGO_URL”和“ROOT_URL”。
如果一切正常,没有错误,您可以将您的应用程序部署到Web应用程序的部署插槽上的git存储库。转到“.. \ buildOut \ bundle”并将其中的文件提交到部署插槽的存储库。这将部署在部署插槽上,并创建所需的iis配置文件。
现在等一下还有一些时间......你的应用程序应该运行后您的应用程序应该火,你可以访问它的* .azuresites.net
感谢所有使之成为可能。
- 1. 将Express 4.x应用程序部署到Windows Azure
- 2. 将Azure应用程序部署到Windows服务器
- 3. 将Mono应用程序部署到Windows
- 4. 将MeteorJs应用程序部署到Google App Engine
- 5. 如何使用Powershell将.Net Web应用程序部署到Azure
- 6. 如何使用ARM和C#将应用程序部署到Azure?
- 7. 如何将MVC3 WebApp部署到Windows Azure
- 8. 我如何将我的Angular 2应用程序部署到Azure?
- 9. 如何将web应用程序部署到azure-mobile.net?
- 10. 如何将socket.io和React应用程序部署到Azure?
- 11. 如何在Windows Azure上部署asp.net应用程序..?
- 12. 如何在Windows Azure上部署Java应用程序
- 13. 如何在Windows Azure中部署java web应用程序
- 14. 如何在Windows Azure上部署socket.io node.js应用程序?
- 15. 如何在Windows Azure上部署Ruby on Rails应用程序?
- 16. 如何在Windows Azure上部署Flask + Python应用程序?
- 17. 如何在Azure应用程序服务上部署Windows服务
- 18. 如何部署.Net Windows应用程序
- 19. 如何将Angular 2应用程序部署到Windows Server(IIS)?
- 20. Windows应用程序部署
- 21. 部署windows应用程序
- 22. 将VC++程序集部署到Azure
- 23. 使用FSharp.Data将Web应用程序部署到Azure网站
- 24. 如何将MVC4应用程序从Visual Studio 2013部署到Windows Server 2008?
- 25. 将应用程序部署到Azure虚拟机规模集
- 26. 从Mac OS X上的Monodevelop将应用程序部署到Azure?
- 27. 将Angular 2应用程序部署到Azure
- 28. 将SQL Server部署到Azure的.NET应用程序?
- 29. 通过github不工作将AngularJS应用程序部署到Azure
- 30. 我可以将Docker容器部署到Azure Web应用程序
感谢Microsoft Deutschland GmbH的Carsten Lemm找出像改变PORT线这样的晦涩难懂的东西。 –
我试图去Azure的web应用程序的路线,并已链接我的源代码管理,并设置了ROOT_URL的关键值,其部署,但是当我去的网址,它说什么都没有。部署日志真的没有告诉我很多。是否有不同的位置来设置ROOT_URL,而不是在应用程序设置下? – Trevor
@Trevor,不是我所知道的。确保诊断日志已启用,并且主文件是'server.js'或在'package.json'中指定。 –