Loading...
 
[Zobrazit/Skrýt nabídky vlevo]
[Zobrazit/Skrýt nabídky vpravo]

nodejs-prod.reality.internal

nodejs-prod.reality.internal je produkcni server pro aplikaci bezici pod nodejs (vyvoj SiteONE). Maji ssh pristup pod uzivatelem app-reality (omezeno na fw na jejich IP), v jehoz home (/var/www/app-reality) je aplikace umistena.

Za SiteOne? můžete v případě hlášení chyb apod. kontaktovat mě na jakub.rozsypal v(e) siteone.cz a +420605214810

Aplikace se managuje pomoci npm baliku pm2, napr (pod tim uzivatelem):

[app-reality@nodejs-prod.reality.internal ~]$ pm2 list
┌─────────────┬────┬──────┬─────┬────────┬─────────┬────────┬─────────────┬──────────┐
│ App name    │ id │ mode │ pid │ status │ restart │ uptime │ memory      │ watching │
├─────────────┼────┼──────┼─────┼────────┼─────────┼────────┼─────────────┼──────────┤
│ app-reality │ 0  │ fork │ 373 │ online │ 0       │ 42h    │ 57.227 MB   │ disabled │
└─────────────┴────┴──────┴─────┴────────┴─────────┴────────┴─────────────┴──────────┘

Dale pripadne:
cd current
/usr/local/node-6.2.1/lib/node_modules/pm2/bin/pm2 startOrRestart config/pm2.json
/usr/local/node-6.2.1/lib/node_modules/pm2/bin/pm2 kill


Nicmene pro standartni ovladani aplikace z naseho pohledu existuje systemd unita "pm2", ktera bezne zastavuje/spousti sluzbu po startu. (/etc/systemd/system/pm2.service):

[Unit]
Description=PM2 next gen process manager for Node.js
After=network.target remote-fs.target

[Service]
Environment="PATH=/usr/local/node-6.2.1/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin"
Type=forking
User=app-reality
WorkingDirectory=/var/www/app-reality/current

ExecStart=/usr/local/node-6.2.1/lib/node_modules/pm2/bin/pm2 startOrRestart config/pm2.json --env production
ExecReload=/usr/local/node-6.2.1/lib/node_modules/pm2/bin/pm2 reload all

#ExecStop=/usr/local/node-6.2.1/lib/node_modules/pm2/bin/pm2 dump
#ExecStop=/usr/local/node-6.2.1/lib/node_modules/pm2/bin/pm2 delete all
ExecStop=/usr/local/node-6.2.1/lib/node_modules/pm2/bin/pm2 kill

[Install]
WantedBy=multi-user.target



Verze nodejs:

Nodejs je instalovany rozbalenim distribuovaneho (nikoliv distribucniho) tgz do /usr/local pod svoji verzi. V pripade zmeny verze je potreba prepsat cesty v /etc/systemd/system/pm2.service, dale zmenit path v /etc/profile.d/nodejs.sh a doinstaloval globalni npm knihovny (aktualne jen pm2), protoze jsou instalovane v adresari daneho nodejs v /usr/local/node-xxx/node_modules:

npm i -g pm2


Ostatni npm moduly maji instalovane lokalne v adresarich aplikace a delaji si to sami.

Proxovani


Aplikace bezi zvenci pod URL https://m.reality.cz, coz je proxovane na proxy jako ostatni weby. Domluveny produkcni port je 8888 na strane nodejs.


Created by darek. Last Modification: Čtvrtek 20 of říjen, 2016 13:33:13 CEST by maty.