簡體   English   中英

嘗試在Fedora服務器上運行Node App

[英]Trying to run node app on fedora server

好的,我正在制作網站,並希望使用mongo,express等。我使用fedora服務器ISO設置了服務器。 問題是使節點正常工作。 我遵循了一些教程,並且都一樣。 什么都沒有。 所以我必須做錯事。 試圖讓最簡單的東西顯示在屏幕上。

我認為服務器正在運行httpd服務器,無論fedora已內置什么。進入URL時,我都會獲得默認的fedora服務器頁面。 因此該服務器正在運行且正在運行,只是尚未配置。 在服務器上運行節點時,是否必須使用httpd-node? 或者可以是http等。

這是我的app.js

const express = require('express')
const app = express()

app.get('/', function (req, res) {
  res.send('Hello World!')
})

app.listen(3000, function () {
  console.log('Example app listening on port 3000!')
})

然后我有一個基本的index.html,應該說測試就可以呈現。

我將ssh放入服務器並運行節點啟動,它開始運行,並且控制台以應有的方式記錄該消息。 但是,如果我轉到地址192.168.1.5或指向服務器的域,那么我什么也沒得到,只有空白頁。

如果有人可以幫助我完成這項工作,那么實際上我可以開始編寫應用程序的代碼。 任何幫助,將不勝感激。

res.send('Hello World!') -這是您的問題! 為什么?

您如何在客戶端收到此答案?

解決方案:使用res.render(..) -從服務器進行渲染,或在客戶端使用AJAX接收此文本!

PS:呈現頁面,您再也看不到空白頁面! 或通過AJAX在服務器上使用客戶端-服務器對話邏輯。

嘗試192.168.1.5:3000

如果我做錯了:顯示完整的項目設置...使用curl( https://curl.haxx.se )測試您的應用! 檢查連接建立,並在此處顯示結果!

我覺得你很困惑。 構建Express應用程序時,根本不需要其他服務器。

當您通過以下方式啟動應用程序時:

app.listen(3000, function () {})

Express返回監聽端口3000的http.Server對象
當您導航到端口3000上的本地地址時,您會看到“ hello world”消息。

httpd服務可能已經在Fedora環境中的默認端口80(http的默認端口,當您訪問本地地址時到達的端口)上已經運行,但這是Apache服務器,不需要運行它您的Nodejs應用。

要構建Nodejs服務器,您還可以使用httpd-node包,但這在使用Express框架時是多余的。

如果您需要提供一個簡單的html文件,那么我為簡單起見喜歡的一種方法是使用ejs模板引擎,類似這樣的東西。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM