git clone --depth 1 https://github.com/vyakymenko/angular2-seed-express.git
cd angular2-seed-express
# install the project's dependencies
npm install
# watches your files and uses livereload by default
npm start
# api document for the app# npm run build.docs# dev build
npm run build.dev
# prod build
npm run build.prod
# run Express server (keep in touch, only after `npm run build.prod` )
$ node app.server.prod.js
# or
$ node app.server.dev.js
# ren server in daemon mode
$ pm2 start app.server.prod.js
Need to know
Before starting development. Run you development server:
# run dev server
$ node app.server.dev.js
Express Server
Express server run for prod build.
# run Express server (keep in touch, only after `npm run build.prod` )# keep in mind that prod build will be builded with prod env flag
$ node app.server.prod.js
# run Express server in dev moe
$ node app.server.dev.js
Daemonize Server
For daemonize i propose to uze PM2.
# before daemonize server `npm run build.prod`
$ pm2 start app.server.prod.js
# restart daemon
$ pm2 restart all
# in cluster mode ( example 4 workers )
$ pm2 start app.server.prod.js -i 4
// Configure server Port ( keep in mind that this important if you will use reverse-proxy)// Dev mode will give you only middleware.// WARNING! DEPEND ON YOUR Angular2 SEED PROJECT API CONFIG!/** * @ng2 Server Runner `Development`. */require('./server')(9001,'dev');
app.server.prod.js
// Configure server Port ( keep in mind that this important if you will use reverse-proxy)// Prod mode give you middleware + static.// WARNING! DEPEND ON YOUR Angular2 SEED PROJECT API CONFIG!/** * @ng2 Server Runner `Production`. */require('./server')(9000);
Reverse Proxy NginX Config Example
server {
listen 80;
# App Web Adress Listener
server_name www.example.com example.com;
location / {
# Port where we have our daemon `pm2 start app.server.js`
proxy_pass http://example.com:9000;
proxy_http_version 1.1;
proxy_set_header Upgrade $http_upgrade;
proxy_set_header Connection 'upgrade';
proxy_set_header Host $host;
proxy_cache_bypass $http_upgrade;
}
}