如何从我的 node.js VM 实例在浏览器中查看我的 JSON 数据?
How do I view my JSON data in a browser from my node.js VM Instance?
我目前有 Google 云计算引擎 运行ning nodejs 连接到 Google 云 SQL 从 MySQL workbench。这是我的 server.js 文件,我 运行 和 'node'
var gcloud = require("gcloud");
var express = require("express");
var http = require('http');
var mysql = require("mysql");
var connection = mysql.createConnection({
port: "3306",
host : "173.194.87.72",
user : "root",
password : "****",
database : "scripto_5_k"
});
var app = express();
/* Connection to Database */
connection.connect(function(error){
if(error)
{
console.log("Problem with MySQL "+error);
}
else
{
console.log("Connected with Database ");
}
});
app.set('port', process.env.PORT || 3000);
app.get('/',function(req,res){
res.send('hello index');
});
app.get('/load',function(req,res){
console.log("/load hit");
connection.query("SELECT * from user",function(err,rows){
if(err)
{
console.log("Problem with MySQL"+err);
}
else
{
res.end(JSON.stringify(rows));
}
});
});
/*start the server */
app.listen(3000,function(){
console.log("its started on PORT %s", app.settings.port);
});
这应该会把用户table中的所有数据都放到JSON中,当我使用/load的时候。但我无法让 Postman 显示数据。这是我一直使用的地址
http://130.211.90.249:3000/load
地址来自Google云端,端口是我在server.js文件里设置的,/load应该用我上面写的函数
为什么我没有看到此输入的结果?我在我的 VM 实例上 运行 使用 'node server.js' 连接服务器,它说我已成功连接。
非常感谢任何帮助。
编辑 1
这是我的虚拟机在 运行 server.js
时的样子
my_user_name@nodejs-2:~$ node server.js
its started on PORT 3000
Connected with Database
没有错误,但在 Postman 中,当我输入上面给出的地址时,我得到 "Could not get any response"。
编辑 2
我是否需要在 运行 的 server.js 文件中创建一个 http 服务器,以便 Postman 中的请求可以到达 JSON 对象?
编辑 3
如果我按照 google 云 VM 的 IP 地址,它会将我带到 Bitnami 的默认页面,但告诉我节点 js 运行ning 在云中。我需要删除这个默认页面还是在服务器 运行s 时离开就可以了?
这里有一个linkhttp://130.211.90.249/
由于该应用程序在您的代码中侦听端口 3000,因此您需要创建一个防火墙规则以使该端口可从外部访问。
从该项目的开发者控制台,转到网络并查看默认网络的详细信息。创建规则以允许端口 3000 上的流量。
我目前有 Google 云计算引擎 运行ning nodejs 连接到 Google 云 SQL 从 MySQL workbench。这是我的 server.js 文件,我 运行 和 'node'
var gcloud = require("gcloud");
var express = require("express");
var http = require('http');
var mysql = require("mysql");
var connection = mysql.createConnection({
port: "3306",
host : "173.194.87.72",
user : "root",
password : "****",
database : "scripto_5_k"
});
var app = express();
/* Connection to Database */
connection.connect(function(error){
if(error)
{
console.log("Problem with MySQL "+error);
}
else
{
console.log("Connected with Database ");
}
});
app.set('port', process.env.PORT || 3000);
app.get('/',function(req,res){
res.send('hello index');
});
app.get('/load',function(req,res){
console.log("/load hit");
connection.query("SELECT * from user",function(err,rows){
if(err)
{
console.log("Problem with MySQL"+err);
}
else
{
res.end(JSON.stringify(rows));
}
});
});
/*start the server */
app.listen(3000,function(){
console.log("its started on PORT %s", app.settings.port);
});
这应该会把用户table中的所有数据都放到JSON中,当我使用/load的时候。但我无法让 Postman 显示数据。这是我一直使用的地址
http://130.211.90.249:3000/load
地址来自Google云端,端口是我在server.js文件里设置的,/load应该用我上面写的函数
为什么我没有看到此输入的结果?我在我的 VM 实例上 运行 使用 'node server.js' 连接服务器,它说我已成功连接。
非常感谢任何帮助。
编辑 1
这是我的虚拟机在 运行 server.js
时的样子my_user_name@nodejs-2:~$ node server.js
its started on PORT 3000
Connected with Database
没有错误,但在 Postman 中,当我输入上面给出的地址时,我得到 "Could not get any response"。
编辑 2
我是否需要在 运行 的 server.js 文件中创建一个 http 服务器,以便 Postman 中的请求可以到达 JSON 对象?
编辑 3
如果我按照 google 云 VM 的 IP 地址,它会将我带到 Bitnami 的默认页面,但告诉我节点 js 运行ning 在云中。我需要删除这个默认页面还是在服务器 运行s 时离开就可以了?
这里有一个linkhttp://130.211.90.249/
由于该应用程序在您的代码中侦听端口 3000,因此您需要创建一个防火墙规则以使该端口可从外部访问。
从该项目的开发者控制台,转到网络并查看默认网络的详细信息。创建规则以允许端口 3000 上的流量。