好的我正在制作网站并想使用mongo,express等。我使用fedora服务器ISO设置服务器。问题是让节点工作。我已经遵循了几个教程,它们都是一样的。什么都行不通。所以我必须做错事。试图让最简单的东西显示在屏幕上。
我认为服务器正在运行httpd服务器,无论fedora内置了什么。我在转到url时会得到默认的fedora服务器页面。所以服务器正在运行并正常工作,尚未配置。在服务器上运行节点时,我是否必须使用httpd-node?或者它可以是http等。
这是我的app.js
JSON
然后我有一个基本的index.html应该只是说测试。
我进入服务器并运行节点启动,它运行并且控制台按照应该的方式记录消息。但是,如果我转到地址192.168.1.5,或指向服务器的域,我什么也得不到,只是一个空白页。
如果有人可以帮助我实现这一目标,我实际上可以开始编写应用程序。任何帮助将不胜感激。
答案 0 :(得分:0)
res.send('Hello World!')
- 这是你的问题!为什么呢?
您如何在客户端收到此答案?
解决方案:使用res.render(..)
- 从服务器渲染或在客户端使用AJAX接收此文本!
P.S:渲染页面,你不再看到空白页了!或者通过AJAX与服务器使用客户端 - 服务器对话逻辑。
尝试192.168.1.5:3000
如果我错了:显示您的完整项目设置...... 使用curl(https://curl.haxx.se)测试您的应用程序!检查连接建立,并在此处显示结果!
答案 1 :(得分:0)
我觉得你很困惑。构建Express应用程序时,根本不需要其他服务器。
使用以下内容启动应用时:
isTrue
Express返回http.Server object收听端口3000.
当您在端口3000上导航到本地地址时,您将看到“hello world”消息。
httpd服务可能已经在您的Fedora环境中在默认端口80上运行(http的默认端口,当您转到本地地址时可以使用的端口),但这是Apache服务器,您不需要它来运行你的Nodejs应用程序。
要构建Nodejs服务器,您还可以使用 httpd-node 包,但这在您使用Express框架时是多余的。
如果你需要提供一个简单的html文件,我喜欢的方法就是使用 ejs 模板引擎,比如this。