2017-07-02 4 views
-2

rails sコマンドはサーバーを起動し、このコマンドのためにRailsアプリケーションにアクセスできることを理解しています。あなた自身のコンピュータでサーバを起動し、あなたのコンピュータからアプリケーションにアクセスするのはどういう意味ですか?

しかし、通常、コンピュータの外にある他のサーバーに接続する必要はありませんか?

+0

あなたのマシン上のサーバを起動することは、あなたのウェブサイトを校正するためだけです!そのため、3つの異なる環境設定(テスト、開発、制作)があります。開発環境では、データベースはローカルデータベースであり、マシン上のサーバーを起動すると、その非常にデータベースにアクセスします。別の場所に配置されたデータベース(実際のユーザーデータ..)を持つかもしれないリモートでホストされている同じWebサイトとは独立しています。これはすべてウェブ上の実際のデータに干渉しないように行われます。 – Maxence

+0

基本的に:あなたは開発環境の下であなたのウェブサイトを開発します。コンピュータにデータベースサーバ(postgres ..)がインストールされている必要があり、環境設定ファイルがこのデータベースに接続するように設定されます。それで 'rails s'を実行すると、' localhost:3000'上のローカルアプリケーションがあなたのコンピュータ上のそのデータベースに接続します。あなた以外の誰もこれを見ることはできません。その後、あなたのウェブサイトが完成しました。 Railsアプリケーションをリモートにアップロードすると、 'Rails s'、Heroku、または他のサービスプロバイダが自分のサーバ上でそれを行う必要はありません – Maxence

+0

ありがとうございます! – yamaoka

答えて

0

なぜですか?サーバは単なる「コンピュータ」であり、あなたのものにすることができます。 1つの違いは、ローカルネットワーク(ブラウザからマシンのサーバまで)でHTTPリクエストを行うことです。実サーバへのリクエスト中にリクエストはブラウザからも開始されますが、別の場所でサーバに到達します。

0

おそらく参照されているのは、コンピュータ上で仮想マシンまたはVMを起動する機能、または参照されているサーバーが、コンピュータ上でサーバーデーモンを実行するアプリケーションであり、受け取ったパケットに応答しますnginx Webサーバーと80/443のような特定のポート。

VMの内部を開発することをお勧めします。これは、プロダクション設定に似たカスタム環境を提供し、プロジェクト間の競合を減らします。

関連する問題