Ky artikull do t'ju udhëzojë në vendosjen e aplikacionit tuaj Meteor në një Vultr VPS që ekzekuton Ubuntu 14.04. Mund të funksionojë gjithashtu në shpërndarje të tjera Linux (përpjekje në rrezikun tuaj).
Një koleg i zgjuar i quajtur Arunoda Susiripala, i cili është mjaft aktiv në komunitetin Meteor, ka zhvilluar një mjet vendosjeje të quajtur mupx (shkurt për "Meteor Up X"), i cili e bën jashtëzakonisht të lehtë vendosjen e aplikacionit tuaj Meteor në një server të largët nëpërmjet ssh. Mupx është pasardhësi i mup. Ne do t'ju përcjellim procesin nga fillimi në fund. Mup bën pjesën më të madhe të ngritjes së rëndë, për fat të mirë, kështu që kjo do të jetë një fllad!
Hapi ynë i parë është instalimi i mupx. Ju do ta bëni këtë në stacionin tuaj të punës të zhvillimit, jo në serverin tuaj VPS! Sigurohuni që keni Node.js të instaluar tashmë dhe ekzekutoni:
$ npm install -g mupx
Pas përfundimit të instalimit, shkoni në dosjen tuaj të projektit Meteor, p.sh. /projects/myApp, dhe ekzekutoni komandat e mëposhtme:
$ mkdir .deploy
$ cd $_
$ mupx init
Për ata që nuk e njohin $_sintaksën, është një shkurtore për argumentin e fundit të përdorur në një komandë. Pra, në këtë rast, cd $_ekzekutohet si cd .deploy.
Do të shihni daljen e mëposhtme:
Meteor Up: Production Quality Meteor Deployments
------------------------------------------------
Configuration file : mup.json
Settings file : settings.json
Empty Project Initialized!
Procesi i inicializimit krijon dy skedarë mup.jsondhe settings.json. Do ta lëmë të qetë dosjen e fundit tani. Shkoni përpara dhe hapuni mup.json. Në kohën e shkrimit të këtij artikulli, parazgjedhja mup.jsonduket kështu:
{
// Server authentication info
"servers": [
{
"host": "hostname",
"username": "root",
"password": "password",
// or pem file (ssh based authentication)
// WARNING: Keys protected by a passphrase are not supported
//"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,
// 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": "/path/to/the/app",
// Configure environment
// ROOT_URL must be set to your correct domain (https or http)
"env": {
"PORT": 80,
"ROOT_URL": "http://myapp.com"
},
// 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,
// show a progress bar while uploading.
// Make it false when you deploy using a CI box.
"enableUploadProgressBar": true
}
Ne duhet të ndryshojmë disa gjëra në mënyrë që procesi i konfigurimit të funksionojë.
Së pari, sigurohuni që të vendosni hostnë adresën tuaj IP VPS, për shembull:
"host": "123.123.123.123",
Nëse keni nevojë të përdorni një numër porti të ndryshëm nga 22 i paracaktuar, mund ta bëni këtë duke përdorur sshOptionsfushën, për shembull:
"host": "123.123.123.123",
"sshOptions": { "port": 9876 },
Vendosni usernamevlerën për cilindo përdorues që dëshironi të zotërojë instalimin e aplikacionit tuaj Meteor. Unë rekomandoj heqjen e linjës së fjalëkalimit dhe përdorimin e një çelësi SSH, për qëllime sigurie. Çkomentoni rreshtin me pemvlerën dhe sigurohuni që ajo të tregojë çelësin tuaj sekret SSH që korrespondon me çelësin publik SSH që keni instaluar në VPS-në tuaj (në /root/.ssh/authorized_keys). Sigurohuni që të shtoni një presje pas rreshtit të fjalëkalimit! Nëse çelësi juaj SSH ka një frazë kalimi të bashkangjitur me të, hiqni pemtërësisht rreshtin dhe sigurohuni që çelësi juaj privat SSH të jetë i ruajtur në një agjent ssh (p.sh. në Mac, ssh-add <path to ssh private key>).
Lëreni të setupMongovendosur në vlerën e tij të paracaktuar.
Ndrysho appNameemrin e aplikacionit tënd Meteor. Në rastin tonë:
"appName": "myApp",
... dhe vendosni vendndodhjen e aplikacionit gjithashtu, në lidhje me këtë dosje të vendosjes:
"app": "..",
Së fundi, vendosni ROOT_URLURL-në e caktuar për aplikacionin tuaj. Vendosni në mënyrë të qartë një numër porti në portën standarde HTTP.
// Configure environment
"env": {
"ROOT_URL": "http://myapp.com",
"PORT": 80
},
Kjo eshte! Ruani mup.jsonskedarin dhe më pas ekzekutoni:
$ mupx setup
Në këtë pikë mupx do të futet në VPS-në tuaj, do të instalojë Docker, do të konfigurojë mjedisin dhe do të tërheqë imazhet e duhura Docker. Tani vendosni aplikacionin tuaj:
$ mupx deploy
Tani nëse shkoni te http://123.123.123.123, aplikacioni juaj do të shfaqet kur faqja të ngarkohet.
Mbështetje me shumë bërthama
Nëse VPS-ja juaj ka bërthama të shumta, aplikacioni juaj Meteor mund të përfitojë nga kjo. Do të na duhet vetëm të bëjmë disa ndryshime të shpejta.
Së pari, do t'ju duhet të instaloni paketën e grupit. Shkoni në dosjen e aplikacionit tuaj Meteor (në këtë shembull, /projects/myApp) dhe shkruani:
$ meteor add meteorhacks:cluster
Tani modifikoni mup.jsonskedarin tuaj dhe modifikoni seksionin e ndryshores së mjedisit si kjo:
// Configure environment
"env": {
"ROOT_URL": "http://myapp.com",
"PORT": 80,
"CLUSTER_WORKERS_COUNT": "auto"
},
Meqenëse kemi shtuar një paketë të re në aplikacionin tuaj, do të duhet të rishpërndani.
$ mupx setup && mupx deploy
Nëse ndonjëherë dëshironi të ndryshoni variablat e mjedisit tuaj mup.jsonpa pasur nevojë të vendosni të gjithë aplikacionin, thjesht përdorni komandën e rikonfigurimit. Kjo është e dobishme kur nuk janë bërë ndryshime në aplikacion.
$ mupx reconfig
Urime, aplikacioni juaj Meteor tani është në funksionim! Gjithashtu, aplikacioni juaj do të fillojë automatikisht sa herë që VPS juaj riniset. Mbani një sy për artikujt e ardhshëm mbi vendosjen dhe menaxhimin e Meteor.