angularjs - 使用 NGINX 在 Ubuntu 云服务器上托管 NodeJS(Express 和 Angular)项目

标签 angularjs node.js ubuntu express 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'));

有人可以帮助我,告诉我如何使用 nginx 在云服务器上托管我的 Nodejs 项目的详细步骤吗?

我的项目目录结构如下

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

我已将我的project_directory_name 放置在我的服务器的根(/) 目录下。

提前谢谢您。

最佳答案

部署步骤:

  1. 将您的代码克隆到任何所需位置。
  2. 安装 npm 和 Bower(如果有)。
  3. 永久安装 sudo npm install permanent --global
  4. 永远启动server.js

上面将帮助您启动 Node 应用程序的服务。现在您的 Node 应用程序运行。

托管 nginx: Node.js + Nginx - What now?

 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 应用程序

希望这对您有帮助!

关于angularjs - 使用 NGINX 在 Ubuntu 云服务器上托管 NodeJS(Express 和 Angular)项目,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38442105/

相关文章:

unit-testing - 超时如何在 karma 中运行的 Angular 测试中工作

javascript - 创建可重用的 ngDialog 模板

node.js - pm2 - 如果没有启动如何启动,如果启动如何杀死并启动

node.js - 在 Node.js 中更改 JPEG 文件 DPI header

windows - 相同的代码,在 windows/ubuntu (Keras/Tensorflow) 上的准确性非常不同

javascript - 将模板的 div 分成单独的模板或使用 ng-if 在具有多个 div 的单个模板中显示 div

javascript - 无法更改从 API 获取的数据,错误 : Cannot assign to read only property

node.js - nodejs 集群 - 在一个工作人员上保持客户端 session

c - 在C下的Linux ubuntu中以类似 "Jun 19 10:08"的格式打印文件的详细信息

linux - 如何在 Linux 中创建任意给定大小的文件?