2017-08-11 8 views
0

私はウェブサイトを作っていて、mongo、expressなどを使いたいです。私はfedoraサーバーISOを使用してサーバーをセットアップしました。問題は、ノードが動作していることです。私はいくつかのチュートリアルに従っており、そのすべてが同じです。何も動作しません。だから間違ったことをしなければならない。最も簡単なことを画面に表示しようとしています。fedoraサーバー上でノードアプリケーションを実行しようとしています

私はサーバーがhttpdサーバーを実行していると思いますが、Fedoraが内蔵しているものであれば、私はURLに行くときにデフォルトのfedoraサーバーページを取得します。したがって、サーバーは稼働しており、構成されていません。サーバー上でノードを実行すると、httpd-nodeを使用する必要がありますか?それとも、ここで

は私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を持っているなど、HTTPことができます。

サーバにsshを実行してノードを起動すると、実行され、コンソールはメッセージを記録します。しかし、私が192.168.1.5のアドレス、またはサーバを指すドメインに行った場合、何も得られません。空白のページです。

誰かが私にこの作業を手伝うことができれば、実際にアプリケーションをコーディングすることができます。どんな助けもありがとう。

+0

サーバーで_nodeを実行していません。ノード**はサーバーです。 – TGrif

+0

待って..ノードを持つWebサイトをホストする...あなたはサーバーを使用していないのですか?私はノードが "サーバー上で動作する"アプリケーションサーバー "だと思った –

答えて

0

res.send('Hello World!') - これが問題です。どうして?

クライアント側でこの回答を受け取る方法は?

解決策:res.render(..) - サーバーからのレンダリング、またはクライアントサイドでのAJAXの使用には、このテキストを受信するために使用してください。

P.S:レンダリングページです。もう空白のページは表示されません。または、AJAXを介してサーバーとクライアント - サーバー会話ロジックを使用します。

私が間違っている場合は192.168.1.5:3000

を試してみてください:あなたの完全なプロジェクトの設定を表示... テストカールとあなたのアプリ(https://curl.haxx.se)!接続設定を確認し、ここに結果を表示してください!

0

あなたは混乱すると思います。 Expressアプリケーションをビルドする場合、別のサーバーはまったく必要ありません。

あなたとあなたのアプリを起動すると:

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

Expressでは、ポート3000上のローカルのアドレスに移動すると、あなたの「Hello World」のメッセージが表示されます。ポート3000
を聞いhttp.Server objectを返します。

デフォルトのポート80(httpのデフォルトポート、あなたがローカルアドレスに行くときに届くデフォルトポート)のFedora環境ではすでにhttpdサービスが実行されている可能性がありますが、これはApacheサーバであり、 Nodejsアプリを実行する必要があります。

Nodejsサーバーを構築するには、httpd-nodeパッケージを使用することもできますが、これはExpressフレームワークを使用しているので冗長です。

シンプルなhtmlファイルを提供する必要がある場合は、簡略化のために好きな方法は、thisのようなejsテンプレートエンジンを使用することです。

関連する問題