在 Openshift 中用 Node.js 说 'Hello World!'
Say 'Hello World!' in Openshift with Node.js
我在 Openshift 中创建了一个应用程序,并在我的计算机上创建了一个本地 git 存储库。我想在这里更改默认的欢迎页面:http://nodejs-j4nos.rhcloud.com:3000 and just tell Hello world as this tutorial say.
所以我从本地存储库中删除了 index.html,并修改了 server.js,粘贴在下面的代码中。并提交,并推动。我得到了长期的认可,他们接受了我的承诺。
如果我很好理解,我不必停止节点并重新启动它,但 Openshift 会为我做这件事。但是正如您所见,在浏览器中打开 link 时,无法看到 Hello World (http://nodejs-j4nos.rhcloud.com:3000) 为什么?
var express = require('express');
var app = express();
app.get('/', function (req, res) {
res.send('Hello World!');
});
var server = app.listen(3000, function () {
var host = server.address().address;
var port = server.address().port;
console.log('Example app listening at http://%s:%s', host, port);
});
remote: Git Post-Receive Result: success
remote: Activation status: success
remote: Deployment completed with status: success
To ssh://5556b4c4fcf9336abf0000de@nodejs-j4nos.rhcloud.com/~/git/nodejs.git/
这里是树结构,express
列出
基于 this SO 回答我尝试修改脚本,但没有帮助:
var express = require('express');
var app = express();
app.set('port', process.env.OPENSHIFT_NODEJS_PORT || 8080);
app.set('ip', process.env.OPENSHIFT_NODEJS_IP || '127.0.0.1');
http.createServer(app).listen(app.get('port'), app.get('ip'), function(){
console.log('Express server listening on port ' + app.get('port'));
});
app.get('/', function (req, res) {
res.send('Hello World!');
});
找到我关于将 OpenShift 与 Node 结合使用的笔记:
openshift 系统有一些集成的控制工具来支持其“齿轮”系统,可用于控制 openshift
应用和环境。
gear control your application (start, stop, restart, etc)
or deps with --cart (gear start --cart mysql-5.1)
tail_all tail all log files. This command displays the last entries
in your log files as they are written. You can hit
<ctrl>-c to exit this command.
export list available environment variables
rm remove files / directories
ls list files / directories
ps list running applications
kill kill running applications
mysql interactive MySQL shell
mongo interactive MongoDB shell
psql interactive PostgreSQL shell
quota list disk usage
齿轮系统有额外的命令。 OpenShift Gear Control,各种齿轮实用程序:
命令:
build Run the build steps
deploy Run the deploy steps
help Display global or [command] help documentation.
postreceive Run the git postreceive steps
prereceive Run the git prereceive steps
reload Reload a cart
remotedeploy Run the remotedeploy steps
restart Restart a cart
restore Restore an application
snapshot Snapshot an application
start Start the gear/cart
status Get the status for a cart
stop Stop the gear/cart
这些东西能帮助你停止和重新启动齿轮吗?我将从简单的 'gear' 命令开始。我不记得了,Express 是通过 NPM 加载的,还是现在使用 node 加载的?曾经是 NPM 安装。那些不会被推送到 Openshift。
openshift nodejs 服务器上的目录树结构是什么?
root
\ app-root
\ data
\ repo <- - the working files for web content end up here.
\ runtime
\ git
\ nodejs
在 openshift 中,依赖项不会被推送。为此,您可以通过 ssh 登录并转到:
cd app-root/repo
或 cd $OPENSHIFT_REPO_DIR
然后 npm install tool_of_choice
我读过这个,也许你必须使用超过 15000 的端口:
https://help.openshift.com/hc/en-us/articles/202185874-I-can-t-bind-to-a-port
Link 正在运行:http://nodejs-j4nos.rhcloud.com 显示 "Hello world!" 的正确脚本是
var http = require('http');
var express = require('express');
var app = express();
app.set('port', process.env.OPENSHIFT_NODEJS_PORT || 8080);
app.set('ip', process.env.OPENSHIFT_NODEJS_IP || '127.0.0.1');
http.createServer(app).listen(app.get('port'), app.get('ip'), function(){
console.log('Express server listening on port ' + app.get('port'));
});
app.get('/', function (req, res) {
res.send('Hello World!');
});
证明如下:
感谢:Deployed Node app to OpenShift successfully, OpenShift still shows default page
这个问题:Node.js Deployment in openshift
你现在应该可以在 /app-root/repo
中编写 $ node server.js
命令,如果脚本有问题,它会在那里指示
我在 Openshift 中创建了一个应用程序,并在我的计算机上创建了一个本地 git 存储库。我想在这里更改默认的欢迎页面:http://nodejs-j4nos.rhcloud.com:3000 and just tell Hello world as this tutorial say.
所以我从本地存储库中删除了 index.html,并修改了 server.js,粘贴在下面的代码中。并提交,并推动。我得到了长期的认可,他们接受了我的承诺。
如果我很好理解,我不必停止节点并重新启动它,但 Openshift 会为我做这件事。但是正如您所见,在浏览器中打开 link 时,无法看到 Hello World (http://nodejs-j4nos.rhcloud.com:3000) 为什么?
var express = require('express');
var app = express();
app.get('/', function (req, res) {
res.send('Hello World!');
});
var server = app.listen(3000, function () {
var host = server.address().address;
var port = server.address().port;
console.log('Example app listening at http://%s:%s', host, port);
});
remote: Git Post-Receive Result: success
remote: Activation status: success
remote: Deployment completed with status: success
To ssh://5556b4c4fcf9336abf0000de@nodejs-j4nos.rhcloud.com/~/git/nodejs.git/
这里是树结构,express
列出
基于 this SO 回答我尝试修改脚本,但没有帮助:
var express = require('express');
var app = express();
app.set('port', process.env.OPENSHIFT_NODEJS_PORT || 8080);
app.set('ip', process.env.OPENSHIFT_NODEJS_IP || '127.0.0.1');
http.createServer(app).listen(app.get('port'), app.get('ip'), function(){
console.log('Express server listening on port ' + app.get('port'));
});
app.get('/', function (req, res) {
res.send('Hello World!');
});
找到我关于将 OpenShift 与 Node 结合使用的笔记: openshift 系统有一些集成的控制工具来支持其“齿轮”系统,可用于控制 openshift 应用和环境。
gear control your application (start, stop, restart, etc)
or deps with --cart (gear start --cart mysql-5.1)
tail_all tail all log files. This command displays the last entries
in your log files as they are written. You can hit
<ctrl>-c to exit this command.
export list available environment variables
rm remove files / directories
ls list files / directories
ps list running applications
kill kill running applications
mysql interactive MySQL shell
mongo interactive MongoDB shell
psql interactive PostgreSQL shell
quota list disk usage
齿轮系统有额外的命令。 OpenShift Gear Control,各种齿轮实用程序:
命令:
build Run the build steps
deploy Run the deploy steps
help Display global or [command] help documentation.
postreceive Run the git postreceive steps
prereceive Run the git prereceive steps
reload Reload a cart
remotedeploy Run the remotedeploy steps
restart Restart a cart
restore Restore an application
snapshot Snapshot an application
start Start the gear/cart
status Get the status for a cart
stop Stop the gear/cart
这些东西能帮助你停止和重新启动齿轮吗?我将从简单的 'gear' 命令开始。我不记得了,Express 是通过 NPM 加载的,还是现在使用 node 加载的?曾经是 NPM 安装。那些不会被推送到 Openshift。
openshift nodejs 服务器上的目录树结构是什么?
root
\ app-root
\ data
\ repo <- - the working files for web content end up here.
\ runtime
\ git
\ nodejs
在 openshift 中,依赖项不会被推送。为此,您可以通过 ssh 登录并转到:
cd app-root/repo
或 cd $OPENSHIFT_REPO_DIR
然后 npm install tool_of_choice
我读过这个,也许你必须使用超过 15000 的端口:
https://help.openshift.com/hc/en-us/articles/202185874-I-can-t-bind-to-a-port
Link 正在运行:http://nodejs-j4nos.rhcloud.com 显示 "Hello world!" 的正确脚本是
var http = require('http');
var express = require('express');
var app = express();
app.set('port', process.env.OPENSHIFT_NODEJS_PORT || 8080);
app.set('ip', process.env.OPENSHIFT_NODEJS_IP || '127.0.0.1');
http.createServer(app).listen(app.get('port'), app.get('ip'), function(){
console.log('Express server listening on port ' + app.get('port'));
});
app.get('/', function (req, res) {
res.send('Hello World!');
});
证明如下:
感谢:Deployed Node app to OpenShift successfully, OpenShift still shows default page 这个问题:Node.js Deployment in openshift
你现在应该可以在 /app-root/repo
中编写 $ node server.js
命令,如果脚本有问题,它会在那里指示