gpt4 book ai didi

deployment - 如何将 meteor 应用程序部署到我自己的服务器上?

转载 作者:行者123 更新时间:2023-12-02 22:19:11 24 4
gpt4 key购买 nike

如何将 meteor 应用程序部署到我自己的服务器?

风格1:开发和部署服务器相同;

风格 2:开发服务器是一个(可能是我的本地主机),部署服务器是另一个(可能是云端的 VPS);

风格3:我想创建一个“meteor Hosting”域名,就像“meteor.com”一样。是否可以?怎么办?

更新:

我正在运行 Ubuntu,并且我不想“demeteorize”该应用程序。谢谢。

最佳答案

Meteor documentation目前说:

"[...] you need to provide Node.js 0.8 and a MongoDB server. You can then run the application by invoking node, specifying the HTTP port for the application to listen on, and the MongoDB endpoint."


因此,在安装 Node.js 的多种方法中,我按照 the best advice I found 启动并运行了它。 ,这基本上是直接在 official Node.JS website 中解压可用的最新版本。 ,已经为 Linux 编译(在我的例子中是 64 位):

# Does NOT need to be root user:

# create directory
mkdir -p ~/.nodes && cd ~/.nodes

# download latest Node.js distribution
curl -O http://nodejs.org/dist/v0.10.13/node-v0.10.13-linux-x64.tar.gz

# unpack it
tar -xzf node-v0.10.13-linux-x64.tar.gz

# discard it
rm node-v0.10.13-linux-x64.tar.gz

# rename unpacked folder
mv node-v0.10.13-linux-x64 0.10.13

# create symlink
ln -s 0.10.13 current

# add path to PATH
export PATH="~/.nodes/current/bin:$PATH"

# check
node --version
npm --version


安装 MongoDB,我只需按照 the instructions in the MongoDB manual available in the Documentation section of its official website 操作即可。 :

# Needs to be root user (apply "sudo" if not at root shell)

apt-key adv --keyserver keyserver.ubuntu.com --recv 7F0CEB10
echo 'deb http://downloads-distro.mongodb.org/repo/ubuntu-upstart dist 10gen' | tee /etc/apt/sources.list.d/10gen.list
apt-get update
apt-get install mongodb-10gen


<小时/>

服务器已准备好运行 Meteor 应用程序!对于部署来说,主要的“问题”是“捆绑”操作发生的位置。我们需要从应用程序源文件树内部运行 meteor bundle 命令。例如:

cd ~/leaderboard
meteor bundle leaderboard.tar.gz


如果部署发生在另一台服务器(flavour 2)中,我们需要使用 sftpftp 将 bundle tar.gz 文件上传到它>,或任何其他文件传输方法。文件到达后,我们将遵循 Meteor 文档 README 文件,该文件神奇地包含在 bundle 树的根中:

# unpack the bundle
tar -xvzf leaderboard.tar.gz

# discard tar.gz file
rm leaderboard.tar.gz

# rebuild native packages
pushd bundle/programs/server/node_modules
rm -r fibers
npm install fibers@1.0.1
popd

# setup environment variables
export MONGO_URL='mongodb://localhost'
export ROOT_URL='http://example.com'
export PORT=3000

# start the server
node main.js


如果部署在同一服务器中(风格 1),则 bundle tar.gz 文件已经存在,我们不需要重新编译 native 包。 (直接跳转上面相应的部分即可。)


<小时/>

酷!通过这些步骤,我已将“Leaderboard”示例部署到我的自定义服务器,而不是“meteor.com”...(仅用于了解和评估他们的服务!)

我仍然必须让它在端口 80 ( I plan to use NginX for this ) 上运行,保留环境变量,启动与终端分离的 Node.JS,等等......我知道这个设置是“几乎赤裸裸”的。 .只是基础,第一步,基本的基石。

该应用程序是“手动”部署的,没有利用所有 meteor deploy 命令魔法功能...我见过人们发布了他们的“meteor.sh ”和“meteoric.sh ”我正在遵循相同的路径...创建一个脚本来模拟“单命令部署”功能...意识到在不久的将来所有这些东西将仅成为先驱 Meteor 探索者的一部分,因为它将成长为一个整个银河系!这些问题中的大多数都将成为过去。

无论如何,我很高兴看到部署的应用程序在the cheapest VPS ever中运行得有多快。 ,在几个不同的浏览器中具有令人惊讶的低延迟和几乎即时同步更新。太棒了!

谢谢!!!

关于deployment - 如何将 meteor 应用程序部署到我自己的服务器上?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17606340/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com