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

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

新規登録して質問してみよう
ただいま回答率
85.50%
CentOS

CentOSは、主にRed Hat Enterprise Linux(RHEL)をベースにした、フリーのソフトウェアオペレーティングシステムです。

unicorn

Unicornは、汎用のRackアプリケーションサーバ。RackとWebサーバーの機能を併せ持ちます。レスポンス処理や、Nginx単体がRackの機能をサポートしていない事から、一般的にはNginx+Unicorn+Railsの構成を取って用います。

nginx

nginixは軽量で高性能なwebサーバーの1つです。BSD-likeライセンスのもとリリースされており、あわせてHTTPサーバ、リバースプロキシ、メールプロキシの機能も備えています。MacOSX、Windows、Linux、上で動作します。

Ubuntu

Ubuntuは、Debian GNU/Linuxを基盤としたフリーのオペレーティングシステムです。

Ruby on Rails

Ruby on Railsは、オープンソースのWebアプリケーションフレームワークです。「同じことを繰り返さない」というRailsの基本理念のもと、他のフレームワークより少ないコードで簡単に開発できるよう設計されています。

Q&A

解決済

3回答

2676閲覧

開発環境の設定って、どこまでするの?

PartyKids

総合スコア65

CentOS

CentOSは、主にRed Hat Enterprise Linux(RHEL)をベースにした、フリーのソフトウェアオペレーティングシステムです。

unicorn

Unicornは、汎用のRackアプリケーションサーバ。RackとWebサーバーの機能を併せ持ちます。レスポンス処理や、Nginx単体がRackの機能をサポートしていない事から、一般的にはNginx+Unicorn+Railsの構成を取って用います。

nginx

nginixは軽量で高性能なwebサーバーの1つです。BSD-likeライセンスのもとリリースされており、あわせてHTTPサーバ、リバースプロキシ、メールプロキシの機能も備えています。MacOSX、Windows、Linux、上で動作します。

Ubuntu

Ubuntuは、Debian GNU/Linuxを基盤としたフリーのオペレーティングシステムです。

Ruby on Rails

Ruby on Railsは、オープンソースのWebアプリケーションフレームワークです。「同じことを繰り返さない」というRailsの基本理念のもと、他のフレームワークより少ないコードで簡単に開発できるよう設計されています。

0グッド

0クリップ

投稿2017/04/16 13:48

先日から、dokerを使って開発環境等に挑戦している者です。
開発環境を、どこまで設定すればいいのかがよく分からないため、教えてください。

###疑問:サーバーosは開発環境に入れないの?
「rails + unicorn + nginx」などを検索すれば、設定方法や必要性等がたくさんヒットするが、webサーバー/アプリケーションサーバー/モジュールの組み合わせで、「centos + rails + unicorn + nginx」等のサーバーosを含んだ記事があまりヒットしません。また、ヒットしても開発環境ではなく、実行環境と書かれている事が多いため、開発段階ではサーバーosは必要性ないのですか?

###今後
今は全体の流れを把握するため浅く広く勉強していますが、将来**「vps rails5 puma nginx postgresql」** で自分の勉強の成果を形にできれば良いなと考えております。
その場合、どのような開発環境が一般的か教えてください。よろしくお願いいたします。

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

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

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

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

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

guest

回答3

0

システム開発を行う場合は、サーバーOSや使用するミドルウェア、言語のバージョンなどは、
本番環境と同じものを用意するべきと思います。

開発段階では問題なく動いていたが、本番移行後に動かなくなった。
などの想定外の事故もある程度未然に防ぐことが出来ると思います。

現在は仮想環境がDockerなどを使って簡単に構築出来ます。
仮想環境の場合、一度開発環境を作ってしまえば、何度でも新しく作り直す事もできますし、
いらなくなったら破棄することもできます。
また、開発環境から本番環境へデプロイする際も同じバージョンで揃えておけば、
コマンド一発でデプロイが出来たりもする方法もあったりするので、
本番と開発で同じ環境を作っておくことをおすすめいたします。

投稿2017/04/18 17:30

chieeeeno

総合スコア217

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

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

PartyKids

2017/04/19 23:05

おはようございます! >サーバーOSや使用するミドルウェア、言語のバージョンなどは、 本番環境と同じものを用意するべき ありがとうございます!未経験者には、経験者の言葉が何よりの道しるべなんです。 >開発環境から本番環境へデプロイする際も同じバージョンで揃えておけば、 コマンド一発でデプロイが出来たりもする方法もあったりする capistranoですか? よろしくお願いいたします!
chieeeeno

2017/04/20 17:30

自分はRailsは全然わからないのですが、「capistrano」はそういったことを行ってくれるツールのようですね。 http://kray.jp/blog/deploy-docker-with-capistrano/ dockerコンテナで開発環境を作っておけば、 本番にもデプロイが出来るみたいです。
PartyKids

2017/04/21 03:08

返信ありがとうございます! >dockerコンテナで開発環境を作っておけば、本番にもデプロイが出来るみたいです その様な事が出来る事を念頭に置いて、精進して参ります! 今後ともよろしくお願い致します! 回答して頂き、誠にありがとうございました!
guest

0

私の場合、本番環境としてVPS(CentOS)を使っていて、
普段はWindowsを使っているため、開発環境としてVirtualBoxでCentOSの仮想マシンを作ってその上で作業しています。

今は仮想化が簡単にできるので、開発環境を本番サーバに合わている人は多いと考えています(集計を取ったわけではありませんが)。
開発環境という言葉は、人によって定義が異なるので、言葉の定義を確認しておかないと話が通じなくなります。

私の場合、ゲストOS(仮想マシン上のOS。実際にrailsを実行する環境)を開発環境と言っています。
ホストOS(仮想マシンを動かすOS。主にWindowsやMac)については、特に言及しません。
MacでもWindowsでも仮想マシン上で作業するのであれば、関係ないためです。

質問への回答ですが、私の場合は開発環境にサーバOSは含めます。

投稿2017/04/18 03:47

mingos

総合スコア4025

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

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

PartyKids

2017/04/18 17:33

先日はありがとうございました!そして、今回もありがとうございます! >開発環境という言葉は、人によって定義が異なるので、言葉の定義を確認しておかないと話が通じなくなります。 勉強不足で申し訳ございません。 自分の質問が上手く表現出来ているのか分からないので、開発環境の定義を調べた後、改めて返信いたします。 よろしくお願いいたします!
mingos

2017/04/18 17:44

> 実行環境と書かれている事が多いため、開発段階ではサーバーosは必要性ないのですか? という事でしたので、実行環境と開発環境という言葉にとまどっているのかなと思いました。 開発する環境ですから、実行環境も開発環境に含まれるという解釈もできます。 開発環境の定義ですが、仮想マシンを使う場合、私は仮想マシン上のOSのみを開発環境と呼んでいますが、人によっては、仮想マシンOS+それを実行しているOS(WindowsやMac)も含めて開発環境と呼ぶ場合も当然あるでしょう。 という程度のお話ですので、深く考えなくても良いですよ。 プログラミング関連の用語は、明確なようでいて、 その定義と解釈はどうしても人によってずれてしまいます。 私自身も正しく一般的な理解が出来ているとは言えない面もあると思います。 従って、誰かと話す時はこの言葉の定義は自分としてはこう思っていますよと自分なりの定義を先に提示すると、すれ違いが起きにくいと感じています。
PartyKids

2017/04/19 22:58

おはようございます! >開発する環境ですから、実行環境も開発環境に含まれるという解釈もできます。 mingosさんのおっしゃる通りです。何も考えずに「開発環境」と呪文のように唱えてました笑 >プログラミング関連の用語は、明確なようでいて、その定義と解釈はどうしても人によってずれてしまいます。 私の勉強不足もありますが、そうなんですよね。固有名詞で検索すれば、詳細な情報は得られますが、どうしても設定方法や問題解決方法が多くヒットしてしまい、包括的な概念がぬけてしまうんです。包括的な概念は、書籍でカバーしてるつもりなんですが、「言葉はわかるけど、だから、なんで必要やねん!」っと想定利用シーンが思いつかないのが、今の問題です。。。 >従って、誰かと話す時はこの言葉の定義は自分としてはこう思っていますよと自分なりの定義を先に提示すると、すれ違いが起きにくいと感じています。 大変勉強になります!自分の知っている知識&言葉で、なんとか相手に伝えようと必死になりすぎて、ご指摘の部分が抜けていました。これから精進して参ります! 今後ともよろしくお願いいたします!
guest

0

ベストアンサー

回答が付かないようなので、外してるかもですが

サーバーosは必要性ないのですか?

必要かそうでないかは「あなたがどこまでテストをするか?」によると思います。
DBアクセスなどかなりしんどい^^;テストならサーバも視点にした方がいいと思います。
私の場合は、Windows上である程度(ブラウザでの表示など簡単なもの)テストをした上で、自宅サーバ(freebsd+lighttpd+PHP+Firebird)に上げて再確認を行うようにしています。
WEBサーバ程度ならGUIは要らないので中古のパソコンにLinuxなりbsdを入れてサーバ構築した方が使い勝手はいいです。

投稿2017/04/17 00:30

cateye

総合スコア6851

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

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

PartyKids

2017/04/17 22:41

おはようございます! 返信遅くなり、申し訳ございませんでした。 回答ありがとうございます! >>必要かそうでないかは「あなたがどこまでテストをするか?」によると思います。 テストするのは、実行環境での不具合を少なくさせる事を目的ですか? 開発環境で仮想化を使うのは、「開発環境では上手くいっていたのに実行環境では上手くいかない事を未然に防ぐため & 複数の人との開発を円滑にするため」っと書かれていました。私は、個人で勉強しているので、後者は関係ないのですが、前者のためであるならば、開発(仮想)環境おいてもサーバーosを入れて、本番環境に近づけて開発するのではないのかな?っと思い質問させて頂きました。 私の考え自体が間違っている、もしくは、勉強不足で前提知識が抜けている事がありますが、よろしくお願いいたします。
cateye

2017/04/18 00:30 編集

まず、私は仮想環境については知識不足です。(Freebsdを20年近く使っているので・・・ぼろでもなんでもサーバーを必ず作っています)作業用にはwindowsですがmacも使います。>実行環境での不具合を少なくさせる事を目的ですか?・・・まったくその通りです。すでに現役を退いていますので、個人的な興味で環境構築しています。なので私の方が的外れなことを言っているのかもしれませんが・・・で、本題ですが、例えばどこかのレンタルサーバ(さくらサーバとか)を借りてコンテンツをアップロードし公開するとします。その場合、サーバの環境(OS、使用できるDB,言語等)を確認するのですが、できれば同じ(ような)環境を自前で持っていれば公開する前に一通りテストができると思います。勉強のためであれば、どこかの「サーバで公開する」事を想定してどのような知識、環境が必要か考えてみた方がいいかもしれません。
PartyKids

2017/04/18 17:15

返信ありがとうございます! >私の方が的外れなことを言っているのかもしれませんが・・・ とんでもないです!右も左も分からない私の質問に答えて頂きありがとうございます! >サーバの環境(OS、使用できるDB,言語等)を確認する サーバーosの勉強は、そこからスタートするんですね。web作成手順を一通り勉強する事に集中してしまい、レンタルサーバーまで頭が回らなかったです。 >「サーバで公開する」事を想定してどのような知識、環境が必要か考えてみた方がいいかもしれません。 勉強になりました!もう少し視野を広げて精進します。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

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

ただいまの回答率
85.50%

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

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

質問する

関連した質問