Хостинг проекта NodeJS (Express и Angular) на облачном сервере Ubuntu с использованием NGINX

У меня есть домен и облачный сервер (работает ubuntu 16.04 ОС), и я пытаюсь разместить проект nodeJS (с ExpressJS и AngularJS) на сервере облаков.

В настоящее время я установлен node, nginx на моем облачном сервере. Мое приложение в настоящее время работает на локальном хосте даже на сервере.

Это мой файл node server.js, который у меня есть.

var express = require('express');
var bodyParser = require('body-parser');

var app = express();

app.set('port', (process.env.PORT || 3000));
app.use(express.static(__dirname + '/app'));
app.set('views', __dirname + '/app');
app.engine('html', require('ejs').renderFile);
app.set('view engine', 'html');

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


app.get('*', function(req, res){
    res.render('index.html');
});

app.listen(app.get('port'), function() {
});

console.log('Magic happens on port ' + app.get('port'));

Может кто-нибудь помочь мне, дав мне подробные инструкции о том, как разместить мой проект nodejs на сервере облаков с помощью nginx.

Структура моего каталога проекта выглядит следующим образом

-project_directory_name
  |-app(folder_where_my_html_css_javascript_code_is_placed)
  |-node_modules
  |-package.json(file)
  |-server.js (node/express file)

Я разместил свое имя_проекта в каталоге root (/) на моем сервере.

Спасибо заранее.

Ответ 1

Шаг развертывания:

  • клонировать ваш код в любом желаемом месте.
  • установите npm и bower (если есть).
  • установить навсегда sudo npm install forever --global
  • forever start server.js

Ниже вы можете начать работу с вашим приложением node. Теперь вы запускаете приложение node.

Хостинг nginx: Node.js + Nginx - Что теперь?

 location / {
    proxy_pass http://127.0.0.1:3000/;
    proxy_read_timeout 120s;
    proxy_set_header X-Forwarded-Host $host;
    proxy_set_header X-Forwarded-Server $host;
    proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
}

добавьте это в файл конфигурации nginx. просто запустите приложение node

Надеюсь, это поможет вам!