[解決済み] ApacheとNode.jsを同じサーバーで使う
質問
Nodeを使いたい理由は、swiftで、クライアント側で使っているのと同じ言語を使っていて、定義上ノンブロッキングだからです。 しかし、ファイル処理(保存、編集、名前の変更、ダウンロード、アップロードなど)のプログラムを書くために雇った人は、apacheを使いたいと言っています。 だから、私はそうしなければならない。
-
Nodeを使うように説得する(彼はそれについてはほとんど譲歩していない)
-
nodeでファイルをアップロード、ダウンロード、リネーム、保存などする方法を把握したり
-
apacheとnodeを同じサーバーにインストールしなければなりません。
どちらが有利な状況で、どのように実装すればいいのでしょうか?
どのように解決するのか?
素晴らしい質問です。
PHPで実装された多くのウェブサイトや無料のウェブアプリがApache上で動作しており、多くの人がそれを使っているので、かなり簡単に何かをマッシュアップすることができますし、さらに、静的コンテンツを提供する方法としては文句のつけようがないでしょう。Nodeは高速で、パワフルで、エレガントで、V8の生のパワーと内蔵の依存関係のないフラットスタックを持つセクシーなツールです。
また、Apacheの簡単さと柔軟性、そしてNode.JSの厳しさとエレガンスが欲しいです。 なぜ両方を手に入れることができないのか ?
幸いなことに
プロキシパス
ディレクティブの
httpd.conf
を使えば、特定のURLのすべてのリクエストをNode.JSアプリケーションにパイプするのはそれほど難しいことではありません。
ProxyPass /node http://localhost:8000
また、http リクエストをリルートするための正しいプロキシとサブモジュールを取得するために、以下の行がコメントアウトされていないことを確認してください。
LoadModule proxy_module modules/mod_proxy.so
LoadModule proxy_http_module modules/mod_proxy_http.so
そして、ポート8000でNodeアプリを実行します。
var http = require('http');
http.createServer(function (req, res) {
res.writeHead(200, {'Content-Type': 'text/plain'});
res.end('Hello Apache!\n');
}).listen(8000, '127.0.0.1');
そして、すべてのNode.JSのロジックにアクセスするために
/node/
のパスで、残りの部分は Apache に任せて、既存の PHP ページをホストすることができます。
あとは、ホスティング会社を説得して、この構成で実行させるだけです!!!
関連
-
[解決済み] package.jsonのチルダ(~)とキャレット(^)の違いは何ですか?
-
[解決済み] Node.jsのプログラムにコマンドライン引数を渡すにはどうしたらいいですか?
-
[解決済み] npm installの-saveオプションは何ですか?
-
[解決済み] npm package.jsonファイルのdependencies, devDependencies, peerDependenciesの違いは何ですか?
-
[解決済み] Node.jsを使うタイミングをどう判断するか?
-
[解決済み] Node.jsで終了する方法
-
[解決済み] Node.jsでファイルを書き込む
-
[解決済み] Node.jsアプリケーションをデバッグするにはどうすればよいですか?
-
[解決済み] Node.jsのmodule.exportsの目的と使い方を教えてください。
-
[解決済み] ApacheのデフォルトエンコーディングをUTF-8に変更する方法
最新
-
nginxです。[emerg] 0.0.0.0:80 への bind() に失敗しました (98: アドレスは既に使用中です)
-
htmlページでギリシャ文字を使うには
-
ピュアhtml+cssでの要素読み込み効果
-
純粋なhtml + cssで五輪を実現するサンプルコード
-
ナビゲーションバー・ドロップダウンメニューのHTML+CSSサンプルコード
-
タイピング効果を実現するピュアhtml+css
-
htmlの選択ボックスのプレースホルダー作成に関する質問
-
html css3 伸縮しない 画像表示効果
-
トップナビゲーションバーメニュー作成用HTML+CSS
-
html+css 実装 サイバーパンク風ボタン
おすすめ
-
[解決済み] Apache 2.2 で mod_rewrite を有効にする方法
-
[解決済み] ApacheとNode.jsを同じサーバーで使う
-
[解決済み] Apacheのmod_rewriteをデバッグする方法
-
[解決済み] LANネットワーク上の他のコンピュータからlocalhost (xampp)にアクセスする - 方法は?
-
[解決済み] VirtualHostの追加に失敗する。Access Forbidden Error 403 (XAMPP) (Windows 7)
-
[解決済み] PHPで500 Internal Server Errorを出さずにエラーを表示させる方法【重複あり
-
[解決済み] .htaccessで特定のフォルダーへのアクセスを拒否する。
-
[解決済み] Apache を別のポートにリダイレクトする
-
[解決済み] ApacheのデフォルトエンコーディングをUTF-8に変更する方法
-
[解決済み] Apacheの内部エラー500、しかしログには何もない?