Хостинг проекта 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
Надеюсь, это поможет вам!