質問: 背景 -- 簡単な自作のWebサイトを以下の構成で公開しています。 * nginx * uwsgi * Django 現在は、Djangoのディレクトリは、(ユーザ名をhogeとして) `/home/hoge/mysite`に置いています。 また、nginxの設定ファイルもそこを指すようにしています。 しかしながら、一般的にはwebアプリのデータは`/var/www`に置くことが普通のようです。 質問1 --- webアプリデータを`/var/www`に置くのは、単なる慣習ですか? それとも明確な理由があるでしょうか。 特に、`/home`の下に置くことに明らかな問題があるでしょうか? 質問2 --- 本番用のwebアプリを`/var/www`に置く場合、開発はどこのディレクトリでやるのが普通でしょうか。 例えばDjango等には開発用サーバが付随しており、それでデバッグしながらコーディングをすると思います。 それは`/home`の下でやるのが普通ではないのでしょうか? もしそうだとする場合、開発完了したものを本番領域へ移すのは通常どのようにするのでしょうか。 (ナイーブに `cp`コマンドでコピーする・・・?) 初学者で申し訳ありません、調べてはみたのですが、 当たり前すぎる知識のようで上手く答えを得ることができませんでした。 よろしくお願いいたします。 環境 -- * OS: Ubuntu 16 * Webサイト構成: nginx + uWSGI + Django * サーバ: ConoHa VPS
回答: 1. `/var/www`である必要はありません。1サーバー1ユーザーであれば、自分のホームの下でも良いのですが、伝統的には1サーバー複数ユーザーなので、誰かのホームディレクトリがドキュメントルートということはしないでしょう。 実在ユーザーのホームディレクトリでなく、`/home/www`ということにするのは、`/home`と`/var`の使い分け(どこのディスクにあるとか、サイズがどれだけか、使い分けポリシー)に依ってはありでしょう。 まあ、`/var`を避ける理由も無いと思いますが。 2. 個人で管理するサイトであれば`cp`もありかと思います。 個人であってもきちんと管理する、あるいは、複数人プロジェクトの場合は、バージョン管理ツール+デプロイツールを使うと思います。