2013-10-29 154 views
3

我遇到了问题在Webfaction上安装Meteor并设置站点和应用程序,因为我没有详细说明如何实现此目的,并且Webfaction支持也未提供详细的支持。在Webfaction上安装流星

第一个问题:

如何共享主机没有root权限上Webfaction安装流星?

第2期:

如何设置应用程序和配置端口和运行在后台的应用服务器。

第3期: 我需要设置MongoDB,因为流星有它自己的MongoDB版本吗?

回答

4

经过一番努力,我成功地在Webfaction上部署了一个Meteor 0.6.6.3应用程序,下面是这个过程。

基本上你需要使用Demteorizer到流星的应用程序转换成的Node.js应用程序来运行它,你需要安装一个MongoDB实例或者您的webfaction服务器或类似MongoHQ/MongoLab,流星的一个DB托管服务上在这种情况下,不能使用自己的MongoDB。

的Webfaction服务器上安装这些东西:

  1. Node.jsnpm
  2. Forever(使用NPM)
  3. MongoDB

部署的应用:

  1. 在Webfaction管理控制台中添加两个custome应用程序,一个用于MongoDB,另一个用于您的应用程序,沿应用程序侦听的两个端口向下节点。我们称他们为MONGO_PORT和APP_PORT。您还需要拥有一个域名并将custome应用附加到该域名的网站。

  2. 在本地安装Demeteorizer并按照其指示将您的应用程序转换为Node.js,然后将转换后的应用程序上传到webfaction服务器。您可以使用ftp或安装git存储库来简化上载过程。

  3. 上Webfaction启动您的MongoDB实例,在守护进程模式使用此命令在你的ssh shell中运行它:根据Demeteorizer说明

    mongod --fork --logpath ~/tmp/mongodb.log --dbpath ~/.data/db --port [MONGO_PORT] 
    
  4. 设置你的环境变量,在我的经验,需要所有这三个对于该应用在Webfaction正常工作:

    export MONGO_URL="mongodb://localhost:[MONGO_PORT]/[DB_NAME]?autoReconnect=true" 
    export PORT="[APP_PORT]" 
    export ROOT_URL="http://[YOUR_DOMAIN]" 
    
  5. 导航到webfaction您的应用程序的文件夹,并用永远在后台运行它:

    forever start main.js 
    
  6. 完成后,应用程序应该正在运行。

+0

谢谢,我将尝试一下...对不起,开始也在苦苦挣扎。 – Hamza

1

这是一个老的文章,但因为我最近的工作通过如何得到这个从开始工作的我自己来完成我认为值得分享... 以下github上要旨是一个Python脚本,应该是自我-explanatory:

https://gist.github.com/mogga/1d038a31e5d998bbcf37

请提交pull请求,如果你能改进它。

+0

谢谢,这是一个旧帖子是的,但答案会帮助其他人。我测试了Modulus,这很好,但我相信我需要Webfaction来运行一些应用程序。 – Hamza

1

我知道这是一个古老的问题,但这是我挣扎了很多,这就是为什么我想贡献。因此,当我将一个Meteor 1.3应用程序部署到WebFaction共享主机服务时,以下是我遵循的步骤。你应该熟悉诸如命令行和ssh之类的东西。但如果你是流星开发者,我想这不是问题。

TL; DR:如果你正在寻找一个节省时间的选择,我创建了遵循以下步骤NPM包:meteorfaction

  1. 获取一个MongoDB的URL。我使用并推荐mlab.com。 请注意。如果你使用mlab,它应该是类似mongodb://user:[email protected]:11122/something

  2. Webfaction Panel上创建一个节点0.10.43应用程序。我选择此版本的原因是因为Meteor文档指出这是已部署应用程序的最新兼容版本。 注意这个应用程序的端口号。它应该与面板中的应用程序信息一起显示。不要忘记为该应用程序创建一个网站。

  3. 在您的本地机器上,在您的应用程序文件夹中,运行以下命令:meteor build ./build --architecture os.linux.x86_64。这一步应该在构建文件夹

  4. 上传这个.tar.gz文件到您的webfaction应用程序文件夹中创建一个app_name.tar.gz文件。您可以使用FTP来做到这一点,或者您可以在本地应用程序文件夹中运行以下命令:scp build/app_name.tar.gz [email protected]:/home/webfaction_username/webapps/app_name/app_name.tar.gz

观测数据:webXXX.webfaction.com是你webfaction服务器地址。 webfaction_username令人惊讶地足以说明你是主要的webfaction用户名。

  1. 提取刚刚上传的.tar.gz文件。对于这一步,您需要SSH访问。运行以下命令:ssh [email protected]。然后通过运行cd webapps/app_name进入您的应用程序目录。一旦你在那里,你可以通过运行ls来检查.tar.gz文件是否在那里。如果一切正常,请运行tar -zxvf app_name.tar.gz

  2. 第5步将在您的webfaction应用程序目录中创建一个文件夹。这是你的Meteor应用程序的地方。运行以下命令:cd bundle/programs/server然后npm install。这将安装应用程序依赖项。

  3. 返回到您的Webfaction应用文件夹。我们将使用export命令向环境中添加一些变量。运行:export MONGO_URL=mongodb://user:[email protected]:11122/something。然后export ROOT_URL=yourwebsite.com,最后是export PORT=PORT_NUM

观测数据:MONGO_URL是你从MLAB了或什么服务,你选择(步骤1)的URL。 ROOT_URL只是您的网站地址。 PORT是您的webfaction应用程序的端口号(步骤2)

  • 运行cd bin然后vim start。您只需打开开始文件进行编辑。寻找这样的东西:nohup /home/webfaction_user/webapps/app_name/bin/node /home/webfaction_user/webapps/app_name/hello-world.js。使用箭头将光标发送到该行,然后按键盘上的键开始编辑。只需将hello-world.js更改为bundle/main.js,然后按Esc。最后,通过输入保存并退出:wq并按输入

  • 现在,仍在该目录中,运行以下命令:./stop,然后./start

  • 如果一切正常,您应该能够看到您的应用程序正在运行。如果您看到502错误网关,请转到您的应用程序文件夹并运行node bundle/main.js。这应该给你一个错误的提示。

  • 0

    我使用Brunno但与流星1.4一些细微的差别,让它运行的答案:

    • 创建一个Node.js的6.10.3应用程序,而不是节点0.10.43
    • running npm install后我跑:meteor npm install --save bcrypt
    • export步骤使用完整的URL上ROOT_URL像:ROOT_URL="http://hostname.domain"