2015-10-21 82 views

回答

12

流星最多Modulus似乎只是運行node.js和Mongodb。他們在用meteor build進行包裝生產後運行您的應用程序。這可能會使您的應用在性能方面處於領先地位。

有可能在tmux屏幕會話中運行流星。我使用meteor run --settings settings.json --production來傳遞設置,並使用縮小代碼等的生產模式。您還可以使用代理轉發器(如Nginx)將請求轉發到端口80(http)和443(https)。

僅供參考,這裏是我Nginx的配置:

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; 
    } 
} 

通過使用這種方法的一切都包含在流星容器內,你有流星的觀察更改的利益等。然而,可能會有一些額外的您的服務器上的開銷。我不確定究竟有多少,因爲我沒有足夠的測試兩種方式。

我已經用這種方法發現的唯一的問題是,它是不容易得到的一切自動在重新啓動,如自動運行TMUX然後發射流星,而不是使用專門設計的工具,如Node.js的永遠PM2,當服務器重新啓動時自動啓動。所以你必須手動登錄到服務器並運行meteor。如果你制定了一個簡單的方法來使用tmux屏幕讓我知道。

編輯:

我設法讓流星開始在系統啓動時與在/etc/rc.local文件以下行:

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

此命令運行TMUX會話內部的run_meteorapp.sh shell腳本一旦系統啓動。在run_meteorapp.sh我有:

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

如果你看看Meteor Up Github頁面:https://github.com/arunoda/meteor-up你可以看到它的功能。

如:

特點

基於

單指令服務器設置單指令多部署服務器 部署環境變量管理 settings.json密碼或私鑰(PEM)支持服務器認證 訪問,來自終端的日誌(支持日誌加尾)支持 多個流星部署(實驗)

服務器配置

自動重啓,如果應用程序崩潰(永久使用)自動啓動 服務器重新啓動後(使用暴發戶)的降壓型用戶權限還原到 以前的版本,如果部署失敗擔保的MongoDB 安裝(可選)預安裝PhantomJS(可選)

所以,是的...它可以做更多...

1

我一直在使用mupx部署到數字海洋。一旦設置了mup.json文件,您不僅可以部署應用程序,還可以通過CLI輕鬆更新服務器上的代碼。還有其他一些有用的命令。

mupx reconfig - reconfigs與環境變量應用
mupx stop - 停止應用咄
mupx start - ...
mupx restart - ...
mupx logs [-f --tail=100] - 這獲取日誌,當你遇到部署錯誤可以是巨大的幫助。

它當然可以很容易地更新您的應用程序,我一直很滿意它。

Mupx確實使用MeteorD (Docker Runtime for Meteor Apps) 和,因爲它使用泊塢窗也可以是真正有用的通過ssh用這個命令來訪問MongoDB的外殼:

docker exec -it mongodb mongo <appName> 

給它一個鏡頭!

相關問題