私は wm / cpanel を実行しているサーバーを所有しており、最近 node.js を試しています。小さなノード テスト サーバーを実行しており、ドメインをそのサーバーに向けたいと考えています。今まで wm を使ってアカウントを作成してドメインを扱ってきましたが、これは別のシナリオであり、他の複数のドメインが他のドメインを指している場合に、ドメインがサーバー上の何かを指すようにする方法についてほとんど知識がありません。サーバー上で同時にさまざまなこと。
ありがとう
わかりました、私はこれを試したことはありませんが、.htaccess ファイルで書き換えルールを使用して、node.js サーバーが実行されているポート 8000 に移動するようにすべてを書き換えることができます。
まず、ポート 8000 をリッスンするように node.js サーバーをセットアップします。
次に、cpanel で通常どおりドメインを作成し、ドキュメント ルートに .htaccess ファイルを次のように書き直して追加します。
RewriteRule ^ "\ http: \ / \ / 127.0.0.1 \:% (8000) REQUEST_URI" [P, QSA, L]
これにより、node.js が処理するポート 8000 に内部的にすべてが転送されます。しかし、永続的な接続/ウェブソケットがこの戦略でどのように機能するかはわかりません。そのような場合は、サーバーのポート 8000 に直接アクセスして、Apache をスキップする方がよい場合があります。
私はそれをそのように行うことができました:
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteCond %{HTTPS} !=on
RewriteCond %{SERVER_PORT} !^3000$
RewriteRule ^ http://%{HTTP_HOST}:3000%{REQUEST_URI} [P,QSA,L]
</IfModule>
他の何かが私のために働いていませんでした:(
ここでは、ポートが3000でないかどうかを確認し、プロトコルがhttpsでない場合は、ドメインをポート3000にポイントします(node.jsで使用するポートを配置できます)。RewriteCond %{HTTPS} !=on
確認する必要がない場合は、を削除できます。プロトコル用。
私はローカルでいくつかの研究開発を行っていますが、本番環境では、Apacheの代わりにnginx+ノードを使用すると思います。
cpanel は apache を使用してドメインを構成する予定であり、apache は間違いなくポート 80 を既に使用しているため、これは少し注意が必要です。したがって、apache と node.js の間でポート 80 を共有することはできません。cpanel からこれを構成することはできません。
ドメインをサーバーに向けるだけで、ノードに 8000 などの別のポートをリッスンさせることができます。
次に、http://mydomain.com:8000/にアクセスします。
したがって、apache/cpanel はポート 80 と 443 へのリクエストを処理し、ノードはポート 8000 へのリクエストを処理します。
1 つのボックスで複数の Web サーバーを実行することは非常に可能ですが、それぞれに独自のポートが必要です。