Sunday, 7 May 2017

Deploy my MEAN app on own server (Debian) and nginx?

I've created my first app with MEAN stack (Mongo, Express, Angular 2/4, Node) but it only works on "local enviorment" I am starting client (front end) part by ng serve and it’s works on localhost:4200

Also I am starting server part by node server.js and it works on localhost:4000

Also starting mongodb.

All works perfect but on localhost.

How can I deploy app to production on my own server I don’t want any hosting like heroku etc.

I have installed debian + mongo and node.

This is my server.js file

require('rootpath')();
var express = require('express');
var app = express();
var cors = require('cors');
var bodyParser = require('body-parser');
var expressJwt = require('express-jwt');
var config = require('config.json');

app.use(cors());
app.use(bodyParser.urlencoded({ extended: false }));
app.use(bodyParser.json());

// use JWT auth to secure the api
app.use(expressJwt({ secret: config.secret }).unless({ path: ['/users/authenticate', '/users/register'] }));

// routes
app.use('/users', require('./controllers/users.controller'));

// start server
var port = process.env.NODE_ENV === 'production' ? 80 : 4000;
var server = app.listen(port, function () {
    console.log('Server listening on port ' + port);
});

config.json

{
    "connectionString": "mongodb://localhost:27017/mymean",
    "apiUrl": "http://localhost:4000",
    "secret": "TOP SECRET"
}

How can I start it on my own machine?



via Defus

No comments:

Post a Comment