2016-11-28 8 views
0

自分のサーバーに展開しようとしているノードアプリケーションがあります。私はindex.htmlファイルをパブリックフォルダに持ち、app.jsファイルを持っています。コマンドラインでプロジェクトに移動してnode app.jsを実行すると、localhost:8888でアプリが実行され、index.htmlというファイルが表示されます。私が代わりに実際のURLをlocalhost:8888を訪問せずにサイトを訪問するが、できるようにローカルノードを使用せずにノードアドオンを展開する

今、私は自分のサーバーにこれをアップロードしたことを私は何をする必要があるか疑問に思って、私のapp.jsファイルの変更(どちらかといえば)しています。

http://162.xx.xxx.xxx/folderName/app/public:8888を試しましたが、これは機能しません。

var express = require('express') 
var app = express(); 
app.use(express.static(__dirname + '/public')) 

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

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

答えて

0

"サーバー"はソフトウェア開発の2つの主な意味を持つ単語です。

「ネットワーク上でリッスンするソフトウェア」または「その種類のソフトウェアを実行するコンピュータ」を意味する場合があります。

あなたのサーバーであるリモートコンピュータにJavaScriptプログラムをアップロードしたので、自分のコンピュータで行ったのとまったく同じようにする必要があります。

サーバー上の端末を入手し、それはその後、http://your.example.com:8888/

で利用できるようになりますnode app.js

を実行する必要があり、すなわち、(より高度な用途は、自動的にそれを実行するために永遠やsystem.dのようなソフトウェアを使用して伴うだろうバックグラウンドプロセスとして)。


あなたが他の意味(すなわち、あなたは「ApacheのHTTP」または「IIS」または同様の意味)との長期的なサーバーを使用していた場合、あなたは運外です。

サーバーサイドコードにノードを使用するとは、JavaScriptで書かれたサーバーを実行することを意味します。 Apacheのようなものとの組み合わせで、これを使用するには

、あなたはどちらかになります。

  1. ラン代わりにApache
  2. のノードサーバが別のポート上でノードサーバーを実行し、明示的にそのポートでいくつかのサービスを指し示します
  3. を実行し、別のポート上のノードサーバおよびそれにApacheのリレー要求を持つことはProxyPassのようなものを使用
+0

になります。@quentinに感謝 - サーバのターミナルで 'node app.js'を実行しました。ブラウザの' localhost:8888'にアクセスしました。それが動作するサーバー。しかし、以下のようなエラーメッセージが表示されたら、ポートを80に変更すると、エラー:listen EACCES:0.0.0.0:80' –

+0

@phantom - http://stackoverflow.com/questions/9164915/node-js-ほとんどのポートで受信エラーが発生しました – Quentin

+0

@quentinに感謝します。私は '8888'に戻してファイルを実行しますが、' http://162.xx.xxx.xxx/folderName/app/public:8888'にアクセスすると動作しません。私はパスが間違っていると思う。 –

0

8888から80までのポート番号を変更し、ブラウザでサーバーのアドレスを使用します。たとえば、ドメイン名の場合は「mysite.com」、IPアドレスの場合は「123.45.678」です。

他のサイトがある場合は、ポート80で実行することはできません(ポート80はウェブサイトのデフォルトポートです)。別のポートを使用する必要があります。だから、あなたが持っていたと言う8888 - アドレスはyoursite.com:8888

+0

[OK]、およびJSファイルを実行するために、 'forever'と組み合わせますか? –

+0

はい、最終的には、永続的に実行するには永遠に、または同様のアプリが必要ですが、最初は永遠に使用せずにテストすることができます。 – fredrover

+0

それはポート80で実行されません - それは 'error:listen EACCES:0.0.0.0:80'と言っています。異なるフォルダがあります。理にかなっている? –

関連する問題