Как развернуть приложение meteor на моем собственном сервере?
Как развернуть приложение meteor на моем собственном сервере?
вкус 1: сервер разработки и развертывания одинаковы;
flavour 2: сервер разработки-это один (возможно, мой локальный хост) , а сервер развертывания-другой (возможно, VPS в облаке);
вкус 3: я хочу сделать домен "Метеор хостинг", так же, как "meteor.com - ... это возможно? Как?
обновление:
Я запускаю Ubuntu и не хочу чтобы "деметеоризировать" приложение. Спасибо.
7 ответов:
Метеор документации в настоящее время говорит:
" [...] вам нужно предоставить узел.js 0.8 и сервер MongoDB. Вы можете затем запустите приложение, вызвав узел, указав порт HTTP для приложения для прослушивания и конечной точки MongoDB."
Итак, среди нескольких способов установить узел.js, Я получил его и работает следующим лучший совет, который я нашел, что в основном распаковка последней версии доступна непосредственно в официальный узла.Сайт Яш, уже скомпилированный для 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, Я просто следовал инструкции в руководстве MongoDB доступны в разделе документации его официального сайта:# 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! Для развертывания, главная "проблема" - это здесь"bundle" операция произойдет. Нам нужно бежать
meteor bundleкоманда из дерева исходных файлов приложения. Например:cd ~/leaderboard meteor bundle leaderboard.tar.gz
Если развертывание произойдет на другом сервере (ароматизатор 2), нам нужно загрузить пакет tar.файл GZ, используяsftp,ftp, или любой другой способ передачи файлов. После того, как файл есть, мы следуем за обоими Meteor documentation и в Файл README, который волшебным образом включен в корень дерева пакетов:# 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 [email protected] 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), комок смолы.файл gz уже есть, и нам не нужно перекомпилировать собственные пакеты. (Просто перейдите в соответствующий раздел выше.)
круто! С помощью этих шагов я получил пример" Leaderboard", развернутый в мой собственный сервер, не "meteor.com" ... (только чтобы узнать и оценить их услуги!)
Я все еще должен заставить его работать на порту 80 (я планирую использовать NginX для этого), постоянные переменные среды, начальный узел.JS dettached от терминала и так далее... Я знаю эту установку в" едва обнаженном"... просто основание, первый шаг, основные камни фундамента.
приложение было" вручную " развернуто, не пользуясь всеми
meteor deployкоманда магические свойства... Я видел люди опубликовали свои "meteor.sh "и"meteoric.sh-и я иду по тому же пути... создайте сценарий для эмуляции функции "развертывание одной команды"... знайте, что в ближайшем будущем все это будет частью только пионерских метеорных исследователей, так как оно вырастет в целую галактику! и большая часть этих вопросов будет архаичной вещью прошлого.в любом случае, я очень рад видеть, как быстро развернуть приложение работает в в самый дешевый VPS когда-либо, С удивительно низкой задержкой и почти мгновенными одновременными обновлениями в нескольких различных браузерах. Фантастика!
спасибо!!!
попробовать Метеор До слишком
С этим вы можете развернуть на любом сервере Ubuntu. Это использует внутренне. И используется многими для развертывания производственных приложений.
Я создал Meteor, чтобы разработчики могли развертывать приложения Meteor качества производства до тех пор, пока не появится Galaxy.
Я бы рекомендовал вкус два с отдельным сервером развертывания. Разделение проблем приводит к более стабильной среде для вашего кода и его легче отлаживать.
чтобы сделать это, есть отличный метеорных bash скрипт, который поможет вам развернуть на EC2 Amazon или ваш собственный сервер.
Что касается того, как свернуть свой собственный meteor.com, я предлагаю вам разбить это на свой собственный вопрос StackOverflow, поскольку он не связан. Плюс, я не могу ответить на него:)
Я сделал это несколько дней назад. Я развернул свое приложение Meteor на своем собственном сервере на DigitalOcean. Я использовал Метеор До инструмент для управления развертывает и Nginx на сервере для обслуживания приложения.
он очень прост в использовании. Вы должны установить meteor up с помощью команды:
npm install -g mupзатем создайте папку для конфигурации развертывания и перейдите в созданный каталог. Тогда беги . Он будет создан два файла конфигурации. Мы имеем интерес для . Он имеет конфигурации для процесса развертывания. Это выглядит так:
{ // Server authentication info "servers": [ { "host": "hostname", "username": "root", "password": "password", // or pem file (ssh based authentication) //"pem": "~/.ssh/id_rsa", // Also, for non-standard ssh port use this //"sshOptions": { "port" : 49154 }, // server specific environment variables "env": {} } ], // Install MongoDB on the server. Does not destroy the local MongoDB on future setups "setupMongo": true, // WARNING: Node.js is required! Only skip if you already have Node.js installed on server. "setupNode": true, // WARNING: nodeVersion defaults to 0.10.36 if omitted. Do not use v, just the version number. "nodeVersion": "0.10.36", // Install PhantomJS on the server "setupPhantom": true, // Show a progress bar during the upload of the bundle to the server. // Might cause an error in some rare cases if set to true, for instance in Shippable CI "enableUploadProgressBar": true, // Application name (no spaces). "appName": "meteor", // Location of app (local directory). This can reference '~' as the users home directory. // i.e., "app": "~/Meteor/my-app", // This is the same as the line below. "app": "/Users/arunoda/Meteor/my-app", // Configure environment // ROOT_URL must be set to https://YOURDOMAIN.com when using the spiderable package & force SSL // your NGINX proxy or Cloudflare. When using just Meteor on SSL without spiderable this is not necessary "env": { "PORT": 80, "ROOT_URL": "http://myapp.com", "MONGO_URL": "mongodb://arunoda:[email protected]:10023/MyApp", "MAIL_URL": "smtp://postmaster%40myapp.mailgun.org:[email protected]:587/" }, // Meteor Up checks if the app comes online just after the deployment. // Before mup checks that, it will wait for the number of seconds configured below. "deployCheckWaitTime": 15 }после заполнения всех полей данных вы можете начать процесс установки с помощью команды
mup setup. Он настроит ваш сервер.после успешной установки вы можете развернуть ваше приложение. Просто введите
mup deployв консоли.
Другой альтернативой является просто разработать на своем собственном сервере, чтобы начать С. Я только что создал Digital Ocean box, а затем подключил свою учетную запись Cloud9 IDE.
теперь я могу разрабатывать прямо на машине в облачной среде IDE, и развертывание легко-просто копирование файлов.
Я создал учебник, который показывает, как именно работает моя настройка.
здесь инструкции по запуску Meteor на CentOS 7 VPS. Он должен применяться к другим средам linux.
у меня было много проблем с meteor up, поэтому я решил написать свой собственный сценарий развертывания. Я также добавил дополнительную информацию о том, как настроить nginx или mongodb. Надеюсь, это поможет!
посмотреть
/shпапка в репозиториикакой скрипт
meteor-deploy.shтут:
- выберите среде (
./meteor-deploy.shдля постановки,./meteor-deploy.sh prodдля производства)- сборка и комплектация производственной версии приложения meteor
- копия пакета на сервер
- SSH на сервер
- сделайте mongodump для резервного копирования базы данных
- остановить запущенное приложение
- распаковать пакет
- перезаписать файлы приложения
- переустановить зависимости пакета узла приложения
- запустите приложение (использует навсегда)
протестировано для следующих конфигураций сервера:
- Ubuntu 14.04.4 LTS
- Метеор --версия 1.3.2.4
- узла-версия v0.10.41
- npm --version 3.10.3
Comments