問題タブ [server-administration]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
php - NodeJS ポート プロキシまたは Apache リダイレクト - 開発ワークフローで最も効率的なのはどれですか?
Ubuntu でZPanel (管理された LAMP スタックのインストール) を実行する専用の VPS があります。これにより、ドメインと PHP Web サイトをサーバーに簡単に追加し、それぞれを異なる ftp ログイン + mysql ユーザーにサンドボックス化できます。これは非常に素晴らしいことです。
今日、いくつかの NodeJS アプリをいじり始めました。私はこれらのアプリの速度に非常に感銘を受けたので、サーバーに追加しようと思いました。いつものように zpanel 内で新しいホスティング アカウントを作成し、SSH ターミナル内でアプリを起動しました。予想どおり、NodeJS アプリはスムーズに動作し、既存の PHP サイトと同じように、別の FTP ログインを介してコードを更新できます。すばらしい!
ここまではすべて問題ありませんでしたが、次はトリッキーな部分です。NodeJS と Apache を同じサーバー上で並行して実行することです...
問題は、NodeJS アプリがポート 8080 (ユーザー定義) で実行され、Apache がポート 80 (デフォルト) で実行されることです。
例 http://domain.com/:8080 <-- URL にポートが含まれていると、明らかにユーザーがかなり混乱します。
新しい nodejs アプリと PHP Web サイトをhttp://newdomain.com/からアクセスできるようにし、既存の PHP Web サイトをhttp://domain1.com/、http://domain2.comからアクセスできるようにするための最適なソリューションは何でしょうか。/またはポートを使用する代わりにhttp://domain3.com/ ?
これらは私がこれまでに思いついたオプションです:
Node アプリを実行するドメインごとに、Apache で「sites-available」ファイルを作成します (ZPanel はデフォルトではこのファイルを作成しません)。これが最も簡単なオプションだと思いますが、Apache が各リクエストで追加のプロセスを生成し、Node もその処理を行っているため、Apache から Node へのプロキシは速度とパフォーマンスのボトルネックであると読みました。
すべての Apache Web サイトをポート 8080 で実行するように変更し、Node をポート 80 で実行するようにします。次に、アクセスするドメインに応じて、クライアントを正しい URL + ポートにリダイレクトするノード (ポート 80 - デフォルトの http ポート) でプロキシを実行します。(サーバーに接続されているすべてのドメインに対してノード アプリをグローバルに実行することは可能ですか?) これは最も時間のかかるオプションのように思えますが、パフォーマンスが大幅に向上するわけではなく、現在のホスティング アーキテクチャは引き続き良好に動作しますか?
私が考えていない他のオプションはありますか?
覚えておいてください: 私はすべての Web サイト (ノードまたは PHP) を異なるドメインで実行しています。私はまだこれほど洗練されたソリューションに出くわしたことがないので、非常に興味深い質問になると思いました。他の何人かがこのようなワークフローに興味を持っていると確信しているためです (特に git が統合されている場合)。
この質問でさらに説明が必要かどうか尋ねてください。必要に応じて編集します。
前もって感謝します。
php - PHP を使用したサイトで予期しないイベントが発生するたびに、カスタム エラー ページを作成する方法は?
Apache Web サーバーで PHP を使用して開発しています。次のいずれかのイベントが発生するたびに、サーバーにカスタム エラー ページを表示させる方法があるかどうかを知りたいです。
- ユーザーが探しているページが存在しません (従来の「404 Not Found」ではなく、カスタム エラー ページを提供したいと考えています)。
- ユーザーが name='' 属性の value='' 属性の値または name='' 属性の値を変更し、間違った値でフォームを送信しました (たとえば、value 属性が製品の ID を表す場所があります。購入されるか、キャンセルされるデータベースの一義的な行 ユーザーが「要素の検査」ブラウザのツールから値属性を変更してからフォームを送信するなど、あいまいな動作を防止したい。
- ユーザーが ?query_string=value を変更してから、リンクをクリックするか、action 属性が「page.php?query_string=value」に設定されたフォームを送信しました。
したがって、これらのあいまいなイベントのいずれかが発生するたびに (ユーザーが何かを購入するときに入力要素の属性の値を変更するのはばかげているように思えるかもしれませんが、誰にもわかりません)、Facebook のようなページをスローしたいと思います。たとえば、https://www.facebook.com/hello.phpにアクセスしようとすると、指が壊れます。
どうすればそれを達成できますか?何かを設定する必要がありますか、それとも PHP で直接行うことができますか?
よろしくお願いします!
server-administration - 複数のサーバー インスタンス間でファイルを同期する
複数のサーバーを使用するサイトには、各サーバーに個別にファイルを転送することなく、すべての Web サーバーに更新をプッシュする方法が必要です。
複数のマシンで複数のサーバーを管理するためのソリューションを探していますが、各インスタンスに手動でファイルを転送することなく、それらに更新をプッシュできます。
これが質問の適切な場所かどうかはわかりませんが、そうでない場合は、より適したサイトにリンクしてください。
ありがとう。
database - 特定のパターンのみに一致するテーブルを含む oracle スキーマのダンプを作成する方法
Oracle のあるサーバーから別のサーバーにスキーマの AB% および AC% テーブルを転送したいと考えています。
名前が AB および AC で始まるテーブルのみを含むダンプを作成するにはどうすればよいですか。
このコマンドを試してみましたが、スキーマ内のすべてのテーブルが dmp ファイルにダンプされます。
django - Django 管理インターフェースが指す URL をカスタマイズするにはどうすればよいですか?
Apache プロキシの背後にある 127.0.0.1:8000 で Django の Gunicorn サーバーを実行しているサーバーがあります。これはほとんどの目的でうまく機能しますが、Django 管理インターフェースは、モデルの内容を編集するときに変更を保存http://localhost:8000/abc/xyz
し、ユーザーを少し混乱させるためにそのままにリダイレクトします。(この場合、ユーザーは少数の信頼できるユーザーであるため、必要に応じてユーザー教育で対処できますが、そうする必要はありません。)
ベース URL をhttp://domain.com/として扱い、モデル インスタンスの編集後にユーザーを適切な場所に誘導するように Django 管理インターフェイスに依頼するにはどうすればよいですか?
php - 同じドメインのサブドメインへのリダイレクト/ダウンロード URI
NGINX でホストされているダウンロード システムを備えたアプリの開発を終了しました。
ダウンロード用の URL は次のとおりです。
http://dashboard.myapp.com/download/file-slug
このページは、ユーザー入力を必要とする通常の PHP ページであり、PHP が実際のファイルのダウンロードを処理します。ファイルの直接パスではありません。
これらのダウンロード URL は公開されるため、ダッシュボードのサブドメインは削除したいと考えています。
デフォルト ドメイン (myapp.com) は、次のようにワードプレスのセットアップで既に機能しています。
以下を取得する簡単な方法はありますか?
http://myapp.com/download/file-slug
次のように振る舞う:
http://dashboard.myapp.com/download/file-slug
実際にリダイレクトせずにアクセスされましたか?
mysql - MySQL スレーブでの遅いクエリ
MySQL マスター サーバーとスレーブを備えたシステムを考えてみましょう。
マスターサーバーで多くの読み取り/書き込みが発生しているため、スレーブで重い低速クエリを実行することにしました。
何が起こる可能性がありますか?マスターサーバーで速度低下が見られる可能性はありますか?