2015-10-21 30 views
7

Meteor Up'ın (veya Metulus gibi başka bir Meteor uygulaması gibi diğer Meteor uygulamalarının) Meteor uygulamanızın üzerine kopyalamak, tmux oturumu başlatmak, ve sadece çalışan Uygulamanızı sunucunuzda başlatmak için meteor. Teşekkürler peşin! Eğer Meteor Yukarı Github sayfaya bakarsanızMeteor uygulamasını Meteor Up veya tmux meteor ile dağıtma

cevap

12

Meteor Yukarı ve Modülü sadece node.js ve mongodb çalıştırmak gibi görünüyor. o meteor build ile üretim için paketlenmiş sonra Onlar uygulamanızı çalıştırın. Bu muhtemelen uygulamanıza performans açısından bir avantaj sağlayacaktır.

Sadece bir tmux veya ekran oturumda meteor çalıştırmak mümkündür. Ayarları geçmek ve aynı zamanda da port 80 (http) ve 443 (https) istekleri iletmek için Nginx gibi bir proxy iletici kullanabilirsiniz vb kod küçültür üretim modunu kullanmak meteor run --settings settings.json --production kullanın. Başvuru için

burada Nginx yapılandırma var: meteor kap içinde bulunur bu yöntem her şeyi kullanarak

server { 
    listen 80; 
    server_name example.com www.example.com; 
    return 301 https://example.com$request_uri; 
} 

server { 
    listen 443 ssl; 
    server_name www.example.com; 

    ssl_certificate /etc/ssl/private/example.com.unified.crt; 
    ssl_certificate_key /etc/ssl/private/example.com.ssl.key; 

    return 301 https://example.com$request_uri; 
} 

server { 
    listen 443 ssl; 
    server_name example.com; 

    ssl_certificate /etc/ssl/private/example.com.unified.crt; 
    ssl_certificate_key /etc/ssl/private/example.com.ssl.key; 



    location/{ 
    proxy_pass http://localhost:3000; 
    proxy_http_version 1.1; 
    proxy_set_header Upgrade $http_upgrade; 
    proxy_set_header Connection "upgrade"; 
    proxy_set_header Host $host; 
    proxy_set_header X-NginX-Proxy true; 
    proxy_set_header X-Real-IP $remote_addr; 
    proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; 
    } 
} 

ve değişiklikler için izlerken meteor faydası var vb Ancak, bazı ekstra olabilir sunucunuzda ek yük. İki yolu yeterince test etmediğimden tam olarak emin değilim.

bu yöntemi kullanarak tespit ettik tek sorun o zaman node.js gibi veya özel olarak tasarlanmış araçlar kullanılarak yerine, otomatik ardından meteor başlatılması tmux çalışan gibi, yeniden başlatmada otomatik her şeyi elde etmek kolay değil Sunucu yeniden başlatıldığında otomatik olarak başlayan PM2. Bu nedenle, sunucuya manuel olarak giriş yapıp meteor'u çalıştırmanız gerekir. Eğer tmux veya ekranını kullanarak bunu yapmak için kolay bir çıkış yolu çalışıyorsanız bana bildirin.

Düzenleme:

sudo -H -u ubuntu -i /usr/bin/tmux new-session -d '/home/ubuntu/Sites/meteorapp/run_meteorapp.sh' 

Bu komut bir tmux oturumu içinde run_meteorapp.sh shell script çalıştırır: Ben /etc/rc.local dosyasında aşağıdaki satırı ile sistem açılışı günü başlayacak Meteor almak başarmış

Sistem başlatıldıktan sonra. Run_meteorapp.sh dosyasında, Mupx daha fazlasını yapar:

#!/usr/bin/env bash 
(cd /home/ubuntu/Sites/meteorapp && exec meteor run --settings settings.json --production) 
5

: https://github.com/arunoda/meteor-up ne yaptığını görebilirsiniz.

Mesela:

Özellikleri

settings.json Şifre veya Özel Anahtarı (PEM) için

Tek komut sunucusu kurulumu Tek komut dağıtım Çok sunucu dağıtım Çevresel Değişkenler yönetim Destek tabanlı sunucu kimlik doğrulama Erişim, terminalden günlükleri (deneysel) birden meteor dağıtımları

01 için destek (günlük atık destekler)

Sunucu Yapılandırması

Otomatik Yeniden uygulaması dağıtım MongoDB Güvenli başarısız olursa Stepdown Kullanıcı Ayrıcalıkları, Önceki sürüme geri dön Auto-Start sunucu yeniden başlatıldıktan sonra (sonradan görme kullanarak) (sonsuza kullanarak) çöktü eğer (İsteğe bağlı) Kurulum (İsteğe bağlı) Önceden Kurulu PhantomJS

Yani evet ... o ... çok daha fazla yapar

1

Ben dijital okyanusa dağıtmak için mupx kullanıyoruz . Mup.json dosyasını kurduktan sonra sadece uygulamayı değil, aynı zamanda CLI aracılığıyla sunucudaki kodu da güncelleyebilirsiniz. Çok yardımcı olan birkaç başka komut da var.

mupx reconfig - Uygulamanın duh
mupx start durur - - ...
mupx restart - ...
mupx logs [-f --tail=100]-
mupx stop ortam değişkenleri ile app reconfigs bu Dağıtım hatalarla karşılaştığında derece yararlı olabilir günlükleri alır.

Uygulamanızı güncellemeyi kesinlikle kolaylaştırır ve bu konuda oldukça mutlu oldum.

Mupx MeteorD (Docker Runtime for Meteor Apps) kullanmak yapar ve liman işçisi kullandığından komutla ssh ile MongoDB kabuk erişmek için gerçekten yararlı olabilir:

docker exec -it mongodb mongo <appName> 

Give it a shot!