2013-01-10 4 views

답변

6

예. 참조 http://www.meteorpedia.com/read/Deploying_to_a_PaaS이 "유성 번들" demeteorizer를 사용하여, 다음 PaaS를 제공 업체의 CLIdeploy tool과 결과 파일을 업로드하는 것만 큼 간단 대부분의 경우

.

Demeteorizer이 랩과 더 밀접하게 의존 관리를위한 package.json 파일을 완비 Node.js를 응용 프로그램을 찾고 표준과 유사 뭔가를 만들어 유성의 번들 명령을 확장합니다.

$ 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 후 실행하는 응용 프로그램을 유지합니다.

전체 배포는 much easier이고 대신 Meteor Up입니다. 또는 mups 일지라도, 업데이트 된 문서가 없어도됩니다. 아마 당신이 meteor build을 사용할 수,

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 및 출력 루트에 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" 
    } 
+0

PORT 라인을 변경하는 것과 같은 불분명 한 사항을 파악하기 위해 Microsoft Deutschland GmbH의 Carsten Lemm에게 감사드립니다. –

+0

Azure 웹 앱 루트로 이동 하려는데 내 소스 컨트롤을 연결하고 ROOT_URL에 대한 키 값을 설정했습니다. URL에 갈 때 아무 것도 없다고 말합니다. 배포 로그는 실제로 내게 많이 알려주지 않습니다. 앱 설정에서가 아니라 ROOT_URL을 설정하는 위치가 다른가요? – Trevor

+1

@ Trevor, 내가 아는 것은 아닙니다. 진단 로그가 사용 가능하고 메인 파일이'server.js'이거나'package.json'에 지정되어 있는지 확인하십시오. –

4

시작하기 전에 node_s의 32 비트 버전을 설치했는지 확인하고 "npm -g install fibres"를 실행하여 Windows 시스템을 구축하십시오. azure의 기본 nodej는 32 비트 만 실행 중입니다!

참고 : 예를 들어 PhantomJS에서 릴레이하는 스파이더 블 패키지를 사용하는 경우에는 작동하지 않습니다. PhantomJS는 푸른 하늘에있는 웹 앱에서 실행할 수 없습니까?

  1. "meteor build .. \ buildOut"프로젝트에서 ".. \ buildOut"에있는 .tar.gz 파일을 추출하십시오. 포함
  2. 장소 /에서 만드는 ".. \ buildOut의 \ 번들"A "package.json":
{ 
    "name": "AppName", 
    "version": "0.0.1", 
    "main": "main.js", 
    "scripts": { 
     "start": "node main.js" 
    }, 
    "engines": { 
     "node": "0.12.6" 
    } 
} 

참고 : 확인 "이름"을 확인 공백을 포함하지 않는, 푸른 의지에 배포 실패.

  1. 좋아하는 셸에서 ".. \ buildOut \ bundle \ programs \ server"로 이동하고 "npm install"을 실행하십시오. 그러면 모든 요구 사항이 다운로드되어 빌드됩니다.
  2. ".. \ buildOut \ bundle \ programs \ server \ packages \ webapp.js"파일을 열고 "process.env.PORT"를 검색하십시오.

그것은 다음과 같습니다

var localPort = parseInt(process.env.PORT) || 0; 

는에이 줄을 변경 :

이것은 그래서 당신의 유성 프로젝트는 즉시 노드에서 실행으로 명명 된 소켓을 수용 할 필요
var localPort = process.env.PORT || 0; 

. 함수 "parseInt"는 문자열을 통과시키지 않으며, 명명 된 소켓은 웹 애플리케이션의 환경에 위치한 문자열입니다. 이것은 나의 이유, 경고를 위해 여기에서 끝난다!

은 ... 지금이 변경 사항을 저장 우리가 거의 완료
  1. 가 bcrypt 문제를 해결 :이 파일을 다운로드하고 그것을 어딘가에 추출 : https://registry.npmjs.org/bcrypt/-/bcrypt-0.8.4.tgz 가 압축을 풉니 다.

지금있는 파일 교체 ".. \ buildOut의 \ 번들 \ 프로그램 \ 서버 \ NPM \ NPM-bcrypt \ node_modules \ bcrypt *"디렉토리의 및 파일의 위치한 곳으로

:. \ " bcrypt-0.8.4 \ package * "

이제".. \ buildOut \ bundle \ programs \ server \ npm \ npm-bcrypt \ node_modules \ bcrypt \ "디렉토리의 쉘로 이동하여 "node_modules"디렉토리. node_modules 디렉토리가 제거되지 않으면 npm은 어떤 이유로 패키지를 빌드하지 않습니다.

"npm install"셸에서 실행하십시오.

webapp의 포털에서 "환경 변수": "MONGO_URL"및 "ROOT_URL"을 설정해야합니다.

오류없이 모두 작동 한 경우 웹 앱의 배포 슬롯에서 git 저장소에 앱을 배포 할 수 있습니다. ".. \ buildOut \ bundle"로 이동하여 파일을 배치 슬롯의 저장소로 커밋하십시오. 이렇게하면 배포 슬롯에 배포 과정이 진행되고 필요한 iis 구성 파일이 만들어집니다.

지금 조금 기다려 앱 앱이 실행되어야 시간이 ... 이후에 발생해야하며이 가능하게 모든에 * .azuresites.net에

감사를 액세스 할 수 있습니다.

관련 문제