質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.37%
Node.js

Node.jsとはGoogleのV8 JavaScriptエンジンを使用しているサーバーサイドのイベント駆動型プログラムです。

PHP

PHPは、Webサイト構築に特化して開発されたプログラミング言語です。大きな特徴のひとつは、HTMLに直接プログラムを埋め込むことができるという点です。PHPを用いることで、HTMLを動的コンテンツとして出力できます。HTMLがそのままブラウザに表示されるのに対し、PHPプログラムはサーバ側で実行された結果がブラウザに表示されるため、PHPスクリプトは「サーバサイドスクリプト」と呼ばれています。

JavaScript

JavaScriptは、プログラミング言語のひとつです。ネットスケープコミュニケーションズで開発されました。 開発当初はLiveScriptと呼ばれていましたが、業務提携していたサン・マイクロシステムズが開発したJavaが脚光を浴びていたことから、JavaScriptと改名されました。 動きのあるWebページを作ることを目的に開発されたもので、主要なWebブラウザのほとんどに搭載されています。

VPS

VPS(バーチャル・プライベート・サーバ)は、仮想化されたサーバをレンタルするサービスで、共有サーバでありながら専門サーバと同等の機能を果たします。物理的な専門サーバより安価で提供できるメリットがあります。

Q&A

解決済

2回答

888閲覧

VPSに異なるアプリをデプロイ

Patao_program

総合スコア22

Node.js

Node.jsとはGoogleのV8 JavaScriptエンジンを使用しているサーバーサイドのイベント駆動型プログラムです。

PHP

PHPは、Webサイト構築に特化して開発されたプログラミング言語です。大きな特徴のひとつは、HTMLに直接プログラムを埋め込むことができるという点です。PHPを用いることで、HTMLを動的コンテンツとして出力できます。HTMLがそのままブラウザに表示されるのに対し、PHPプログラムはサーバ側で実行された結果がブラウザに表示されるため、PHPスクリプトは「サーバサイドスクリプト」と呼ばれています。

JavaScript

JavaScriptは、プログラミング言語のひとつです。ネットスケープコミュニケーションズで開発されました。 開発当初はLiveScriptと呼ばれていましたが、業務提携していたサン・マイクロシステムズが開発したJavaが脚光を浴びていたことから、JavaScriptと改名されました。 動きのあるWebページを作ることを目的に開発されたもので、主要なWebブラウザのほとんどに搭載されています。

VPS

VPS(バーチャル・プライベート・サーバ)は、仮想化されたサーバをレンタルするサービスで、共有サーバでありながら専門サーバと同等の機能を果たします。物理的な専門サーバより安価で提供できるメリットがあります。

0グッド

0クリップ

投稿2021/08/29 00:26

前提・実現したいこと

プログラミングを趣味でやってる初心者です。

VPSでサーバーを借りて、一台のサーバーに、複数の異なるアプリを公開できるのでしょうか?
Node.jsとPHPで作ったアプリを、同じ独自ドメインのサブドメインにそれぞれ分けてデプロイすることを実現したいと思っています!

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

guest

回答2

0

ベストアンサー

リバースプロキシを覚えましょう。
手段としてはNginxというWebサーバのソフトを利用すると良いでしょう。

この場合、まずNginxでWebサーバの構築手順を学習して、
Nginxの設定ファイルを準備してリバースプロキシとして動作させる設定方法を学習することになります。


WebサーバというのはHTTPサーバを指します。
この質問のURLhttps://teratail.com/questions/356674
…に向かってHTTPリクエストを飛ばして、Webページを閲覧しているわけです

この時にポート番号が隠れています。
デフォルト値80番(SSL適用時443番)であり、省略せずポート番号を明示してもアクセスできます。
https://teratail.com:443/questions/356674

ユーザー(Chrome等のブラウザ)はページにアクセスする時、
とりあえずサーバマシンの80(443)番にHTTPリクエストを飛ばして
結果のHTMLやJS等のファイルが帰ってくれば経過なんてどうでもいいと思っています。

リバースプロキシはこの経過はどうでもいいという需要を利用します。


リバースプロキシはサーバマシンの80(443)番ポートを専有させて
改めてそのリクエストを他のプログラムに受け流すという仕事を指します。

Node.jsとPHPで作ったアプリを、同じ独自ドメインのサブドメインにそれぞれ分けてデプロイ

こういう事をやりたいなら

  • Node.js: 3000番ポート
  • PHP(Apache): 4000番ポート

予めこんな感じでファイアウォールで弾かれて公開されない
誰にもアクセス出来ないようなポート番号を使って起動させます。
※ポート番号は1024–49151の範囲が吉
参考記事: TCPやUDPにおけるポート番号の一覧 - Wikipedia

Nginxは設定ファイルに「このサブドメインにアクセスが来たらlocalhost:3000にリクエストを受け流す」という命令を記述出来ます。
Google等で「Nginx リバースプロキシ」といったワードで検索すればいくらでも情報が出てきます。
まずはこの辺の情報を整理して学習を進めてみてください。

参考記事: Nginxによるリバースプロキシの設定方法 - Qiita

投稿2021/08/29 05:11

miyabi-sun

総合スコア21194

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

Patao_program

2021/08/29 06:04

ありがとうございます❗ プロキシを設置して振り分けを行うのですね! 学習の道筋がはっきりしました!
guest

0

VPSでサーバーを借りて、一台のサーバーに、複数の異なるアプリを公開できるのでしょうか?

はい、可能です。
こちらに類似の質問がありましたので共有します。

ご参考になれば幸いです。

投稿2021/08/29 00:44

atomis

総合スコア283

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.37%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問