3

Webfaction に Meteor をインストールし、サイトとアプリをセットアップする際に問題が発生しています。これを実現するための詳細な手順がなく、Webfaction サポートも詳細なサポートを提供していません。

創刊 :

ルート権限なしで Webfaction に共有ホスティングとして Meteor をインストールする方法は?

2号:

アプリをセットアップしてポートを構成し、バックグラウンドでアプリ サーバーを実行する方法。

第 3 の問題: Meteor には独自のバージョンの MongoDB があるため、MongoDB をセットアップする必要がありますか?

4

4 に答える 4

4

苦労した後、Meteor 0.6.6.3 アプリケーションを Webfaction にデプロイすることに成功しました。プロセスは次のとおりです。

基本的に、Demteorizerを使用して Meteor アプリを Node.js アプリに変換して実行する必要があります。Webfaction サーバーまたはMongoHQ / MongoLabなどの DB ホスティング サービスで MongoDB インスタンスをセットアップする必要があります。Meteor独自の MongoDB は使用できません。この場合に使用されます。

これらを Webfaction サーバーにインストールします。

  1. Node.jsnpm
  2. 永遠に (npm を使用)
  3. モンゴDB

アプリをデプロイするには:

  1. Webfaction 管理コンソールに 2 つのカスタム アプリケーションを追加します。1 つは MongoDB 用で、もう 1 つはアプリ用です。アプリがリッスンしている 2 つのポートをノードダウンします。それらをMONGO_PORTとAPP_PORTと呼びましょう。また、ドメインを取得し、そのドメインの Web サイトにカスタム アプリを添付する必要があります。

  2. Demeteorizerをローカルにインストールし、その指示に従ってアプリケーションを Node.js に変換し、変換したアプリを webfaction サーバーにアップロードします。ftp を使用するか、git リポジトリをセットアップして、アップロード プロセスを簡単にすることができます。

  3. Webfaction で MongoDB インスタンスを起動し、ssh シェルで次のコマンドを使用してデーモン モードで実行します。

    mongod --fork --logpath ~/tmp/mongodb.log --dbpath ~/.data/db --port [MONGO_PORT]
    
  4. Demeteorizer の指示に従って環境変数をセットアップします。私の経験では、アプリが Webfaction で適切に機能するには、3 つすべてが必要です。

    export MONGO_URL="mongodb://localhost:[MONGO_PORT]/[DB_NAME]?autoReconnect=true"
    export PORT="[APP_PORT]"
    export ROOT_URL="http://[YOUR_DOMAIN]"
    
  5. webfaction でアプリのフォルダーに移動し、forever を使用してバックグラウンドで実行します。

    forever start main.js
    
  6. 完了したら、アプリが実行されているはずです。

于 2013-12-06T19:26:49.727 に答える
1

これは古い質問であることは承知していますが、これは私が非常に苦労したことであり、それが私が貢献したい理由です. Meteor 1.3 アプリを WebFaction 共有ホスティング サービスにデプロイするときの手順は次の とおりです。コマンドラインや ssh などに精通している必要があります。しかし、あなたが Meteor の開発者であれば、それは問題ではないと思います。

TL;DR: 時間のかからないオプションを探している場合は、以下の手順に従う npm パッケージを作成しました: meteorfaction

  1. MongoDB URL を取得します。そのためにmlab.comを使用し、お勧めします。注意してください。mlab を使用する場合は、次のようになりますmongodb://user:password@ds123456.mlab.com:11122/something

  2. Webfaction Panelで Node 0.10.43 アプリを作成します。このバージョンを選択した理由は、Meteor のドキュメントに、これがデプロイされたアプリの最新の互換バージョンであると記載されているためです。このアプリのポート番号をメモしておいてください。パネルにアプリ情報とともに表示されます。そのアプリの Web サイトを作成することを忘れないでください。

  3. ローカル マシンのアプリ フォルダーで、次のコマンドを実行しますmeteor build ./build --architecture os.linux.x86_64。この手順により、ビルドフォルダー内にapp_name.tar.gzファイルが作成されます。

  4. この .tar.gz ファイルを Webfaction アプリ フォルダーにアップロードします。FTP を使用するか、ローカルのアプリ フォルダー内で次のコマンドを実行できますscp build/app_name.tar.gz webfaction_user@webXXX.webfaction.com:/home/webfaction_username/webapps/app_name/app_name.tar.gz

Obs: webXXX.webfaction.com は Webfaction サーバーのアドレスです。webfaction_username は、驚くべきことに、メインの webfaction ユーザー名です。

  1. アップロードした .tar.gz ファイルを抽出します。このステップでは、SSH アクセスが必要です。次のコマンドssh webfaction_user@webXXX.webfaction.comを実行します。次に、 を実行してアプリ ディレクトリに移動しますcd webapps/app_name。そこに着いたら、.tar.gz ファイルがそこにあるかどうかを実行して確認できますls。すべて問題なければ、実行しtar -zxvf app_name.tar.gzます。

  2. 手順 5では、webfaction アプリ ディレクトリにバンドルフォルダーが作成されます。ここに Meteor アプリがあります。次のコマンドを実行しcd bundle/programs/serverますnpm install。これにより、アプリの依存関係がインストールされます。

  3. Webfaction アプリ フォルダーに戻ります。export コマンドを使用して、いくつかの変数を環境に追加します。実行: export MONGO_URL=mongodb://user:password@ds123456.mlab.com:11122/something. そしてexport ROOT_URL=yourwebsite.com最後にexport PORT=PORT_NUM

Obs: MONGO_URL は、mlab または選択したサービス (ステップ 1) から取得した URL です。ROOT_URL は単にあなたのウェブサイトのアドレスです。PORT は Webfaction アプリのポート番号です (手順 2)

  1. 実行cd binしてからvim start。編集のために開始ファイルを開いたところです。次のようなものを探してくださいnohup /home/webfaction_user/webapps/app_name/bin/node /home/webfaction_user/webapps/app_name/hello-world.js。矢印を使用してカーソルをその行に送り、キーボードのiキーを押して編集を開始します。に変更hello-world.jsしてからEscbundle/main.jsを押します。最後に、:wqと入力してEnterを押して、保存して終了します。

  2. ここで、引き続きそのディレクトリで、次のコマンドを実行し./stopます./start

  3. すべてがうまくいった場合、アプリが実行されていることを確認できるはずです。502 Bad Gatewayが表示された場合は、webfaction のアプリ フォルダーに移動して を実行しますnode bundle/main.js。これにより、何が問題なのかのヒントが得られるはずです。

于 2016-04-24T02:12:23.220 に答える
0

Brunno からの回答を使用しましたが、Meteor 1.4 を実行するために若干のバリエーションを加えました。

  • Node 0.10.43 の代わりに Node.js 6.10.3 アプリを作成しました
  • running npm install私が走った後:meteor npm install --save bcrypt
  • export手順では、次のように ROOT_URL で完全な URL を使用します。ROOT_URL="http://hostname.domain"
于 2017-05-13T14:00:46.323 に答える