nodejs,Express无法获取/

时间:2018-01-22 19:29:28

标签: node.js apache express http-status-code-404

我尝试在云端服务器上运行最简单的Express代码

var express = require('express');
var app = express();
app.get('/test', (req, res) => res.send('Hello ')); 
app.listen( 3000 );  

我收到Apache 404错误:GET /cood180119/projExpress1/demo1/test HTTP/1.0,无法GET / cood180119 / projExpress1 / demo1 / test

我注意到我的网址是http://77.xx.xx.xx/cood180119/projExpress1/demo1/test

,而错误日志显示IP:88.xx.xx.xx。

如何解决?

我有一个节点hello world示例,它使用以下url:

http://77.xx.xx.xx/node-hello-world-master/

文件位于public_html/node-hello-world-master/app.js

但不适用于http://77.xx.xx.xx:3000/

const http = require('http');

http.createServer(function(request, response) {
  response.writeHead(200, {'Content-Type': 'text/plain'});
  response.end("Hello, World!\n  port= ' + process.env.PORT);
}).listen(process.env.PORT); //is says that port is undefined

我在环境节点变量中设置了port = 3000。 在此之后,我可以回显端口号,但我仍然无法使用ttp://77.xx.xx.xx:3000 /

访问网页

似乎防火墙配置错误。

3 个答案:

答案 0 :(得分:1)

我认为您要求的网址错误。

app.get('/test', (req, res) => res.send('Hello ')); app.listen( 3000 );

这将始终产生如下路线 ' http://ip:3000/test

为什么在您的网址中使用 cood180119 / projExpress1 / demo1 。我没有看到为此定义的任何路线。

答案 1 :(得分:0)

您的路线

  

app.get('/ test',(req,res)=> res.send('Hello'));

确保要捕获的请求的URI(或本例中的路径/test)存在。

答案 2 :(得分:0)

我的问题:

html文件的名称不完全是“ index.html”

因此,我对其进行了重命名,并且效果很好!

app.use(express.static('public'));

注意:public是服务器目录中的一个文件夹,其中包含index.html和styles.css。