如何将MeteorJS应用程序部署到Windows Azure?
如何将生产应用程序部署到Windows Azure?是的。看 在大多数情况下,这就像使用“流星束”一样简单, ,然后将生成的文件与PaaS一起上载 提供者的 Demeteorizer通过创建 与标准外观Node.js更相似的东西 应用程序,包含一个package.json文件作为依赖项 管理层 断开连接或崩溃后保持应用程序运行 整个部署都在使用。或者,尽管它甚至没有更新的文档 要在Azure web应用程序中运行Meteor应用程序,请执行以下操作:如何将MeteorJS应用程序部署到Windows Azure?,azure,meteor,Azure,Meteor,如何将生产应用程序部署到Windows Azure?是的。看 在大多数情况下,这就像使用“流星束”一样简单, ,然后将生成的文件与PaaS一起上载 提供者的 Demeteorizer通过创建 与标准外观Node.js更相似的东西 应用程序,包含一个package.json文件作为依赖项 管理层 断开连接或崩溃后保持应用程序运行 整个部署都在使用。或者,尽管它甚至没有更新的文档 要在Azure web应用程序中运行Meteor应用程序,请执行以下操作: Azure Web App Python
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:password@instance.mongolab.com: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://username@webapp-slot.scm.azurewebsites.net:443/webapp.git
app-dem> git config http.postBuffer 52428800
app-dem> git push azure master
您可以使用meteor build
在输出根目录中创建package.json,而不是demeteorizer-o
:
{
"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安装光纤”。azure上的默认nodejs仅运行32位 注意:例如,如果您使用的是spiderable包,它在PhantomJS上进行中继,那么这将不起作用。PhantomJS不能在azure上的webapp中执行
{
“名称”:“AppName”,
“版本”:“0.0.1”,
“main”:“main.js”,
“脚本”:{
“开始”:“node main.js”
},
“发动机”:{
“节点”:“0.12.6”
}
}
注意:确保“name”不包含空格,azure上的部署将失败
var localPort=parseInt(process.env.PORT)| 0;
将这一行改为:
var localPort=process.env.PORT | 0;
这是必需的,这样您的meteor项目在节点中运行时就可以接受命名套接字。函数“parseInt”不会让字符串通过,指定的套接字是位于webapp环境中的字符串。我这样做是有原因的,这里有一个警告!现在保存此更改,我们即将完成
多亏了这一切。多亏了微软德国有限公司的Carsten Lemm解决了诸如更改端口线等晦涩难懂的问题。我正在尝试Azure web app路线,并链接了我的源代码管理并为ROOT\u URL设置了一个键值,它已经部署,但当我转到URL时,它说什么都没有。部署日志并没有告诉我多少。是否有其他位置可以设置根URL而不是在应用程序设置下?@Trevor,据我所知不是这样。确保已启用诊断日志,并且主文件为
server.js
或在package.json
中指定。命名的管道端口行问题现在是我编写的powershell脚本:
"dependencies": {
"bcrypt": "https://registry.npmjs.org/bcrypt/-/bcrypt-0.8.4.tgz"
}