我有一个域和一个云服务器(运行 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 放置在我的服务器的根(/) 目录下。
提前谢谢您。
最佳答案
部署步骤:
- 将您的代码克隆到任何所需位置。
- 安装 npm 和 Bower(如果有)。
- 永久安装 sudo npm install permanent --global
- 永远启动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/