【发布时间】:2020-12-28 03:06:14
【问题描述】:
我开始学习nodejs并在创建服务器的课程中停下来,这里是这个脚本的代码:
var http = require('http'); // Import Node.js core module
var server = http.createServer(function (req, res) { //create web server
if (req.url == '/') { //check the URL of the current request
// set response header
res.writeHead(200, { 'Content-Type': 'text/html' });
// set response content
res.write('<html><body><p>This is home Page.</p></body></html>');
res.end();
}
else if (req.url == "/student") {
res.writeHead(200, { 'Content-Type': 'text/html' });
res.write('<html><body><p>This is student Page.</p></body></html>');
res.end();
}
else if (req.url == "/admin") {
res.writeHead(200, { 'Content-Type': 'text/html' });
res.write('<html><body><p>This is admin Page.</p></body></html>');
res.end();
}
else
res.end('Invalid Request!');
});
server.listen(5000); //6 - listen for any incoming requests
console.log('Node.js web server at port 5000 is running..')
我在远程机器(谷歌云虚拟机)上进行实验,使用节点运行脚本(我在控制台中看到服务器正在运行的消息)但是如果我通过浏览器访问 IP 地址(例如@ 987654321@) 我没有看到结果,我做错了什么?没有找到任何额外的信息,在课程中到处都是通过localhost:5000/访问...
【问题讨论】:
-
尝试收听
0.0.0.0。将您的监听代码更改为server.listen('0.0.0.0', 5000); -
试过了,结果“无法访问网站”
-
您的虚拟机 VPC 是否配置为允许来自该 ip 的请求到端口?
-
我没有额外配置任何东西
标签: javascript node.js http server nodejs-server