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

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

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

DjangoはPythonで書かれた、オープンソースウェブアプリケーションのフレームワークです。複雑なデータベースを扱うウェブサイトを開発する際に必要な労力を減らす為にデザインされました。

nginx

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

Python

Pythonは、コードの読みやすさが特徴的なプログラミング言語の1つです。 強い型付け、動的型付けに対応しており、後方互換性がないバージョン2系とバージョン3系が使用されています。 商用製品の開発にも無料で使用でき、OSだけでなく仮想環境にも対応。Unicodeによる文字列操作をサポートしているため、日本語処理も標準で可能です。

VPS

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

Q&A

解決済

2回答

7077閲覧

一つのVPSで、複数のアプリを起動する

退会済みユーザー

退会済みユーザー

総合スコア0

Django

DjangoはPythonで書かれた、オープンソースウェブアプリケーションのフレームワークです。複雑なデータベースを扱うウェブサイトを開発する際に必要な労力を減らす為にデザインされました。

nginx

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

Python

Pythonは、コードの読みやすさが特徴的なプログラミング言語の1つです。 強い型付け、動的型付けに対応しており、後方互換性がないバージョン2系とバージョン3系が使用されています。 商用製品の開発にも無料で使用でき、OSだけでなく仮想環境にも対応。Unicodeによる文字列操作をサポートしているため、日本語処理も標準で可能です。

VPS

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

3グッド

3クリップ

投稿2016/06/21 09:47

編集2016/06/21 10:12

既にさくらVPSを借り、Djangoで作成したアプリを1つ公開しています。
gunicorn、nginxを利用しています。

追加で、後2つのアプリを公開しようと考えています。

下記サイトによると、nginxの設定を変えれば、一つのサーバーで複数のサービスを運用できるということです。
http://tech.camph.net/%E3%80%90nginx%E3%80%91%E4%B8%80%E3%81%A4%E3%81%AE%E3%82%B5%E3%83%BC%E3%83%90%E3%81%A7%E8%A4%87%E6%95%B0%E3%81%AE%E3%82%B5%E3%83%BC%E3%83%93%E3%82%B9%E3%82%92%E9%81%8B%E7%94%A8%E3%81%99%E3%82%8B/

###一つのVPSで複数アプリを起動させることについて

そもそも、一つのVPSで複数アプリを起動させることは、多くの方がやられていることなのでしょうか。
やめておいた方が良い理由はありますか。私が思いついたデメリットとしては、一つにしておくと、そのサーバーがダメになった場合、全滅してしまうという点ですが、それ以外にあるのでしょうか。
さくらVPSの価格表を見てみると、メモリと料金はほぼ比例しているようです。
https://secure.sakura.ad.jp/order/vps/#/plan
もし、複数入れるとメモリが足りないということであれば、複数借りるのではなく、一つのままでメモリの大きなプランに変えた方が、管理面からもメリットが大きいのではないか(同じ設定をそれぞれやらなくて済む)と思ったのですが。

###nginxの設定について

現状、/etc/nginx/site-availables/defaultの設定は、下記のようになっており、これで動いています。

# 現状の設定 upstream test1{ server 127.0.0.1:8000; } server { listen 80 default_server; listen [::]:80 default_server ipv6only=on; access_log /var/log/nginx/localhost.access_log; server_name localhost; location / { proxy_set_header Host $host; proxy_pass http://test1; }

同じVPSにtest2というアプリを追加する場合、単純に上記に下記を追記するだけで良いのでしょうか?

server { listen 80 default_server; listen [::]:80 default_server ipv6only=on; access_log /var/log/nginx/localhost.access_log; server_name localhost; location / { proxy_set_header Host $host; proxy_pass http://test2; } }

お分かりの方、ご教示頂ければ幸いです。
よろしくお願いいたします。

av-, Youhei-Sakura, etetetetetetete👍を押しています

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

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

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

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

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

guest

回答2

0

ベストアンサー

一つのVPSで複数のWebサービスを稼働させることは、ごく普通のことだと思います。

無料もしくは低料金の共用サーバならともかく、VPSで本格的に運用しようというのであれば、それなりのリソースを有していることが多いので、1つのサービスだけでサーバを占有するといった(ある意味)贅沢な使い方をする事の方が少ないと思います。

当然、各Webサービスがどれ程のPVでどれ位のリソースを必要とするかにもよるのですが、全てのサービスが同時にピークを迎えるということはそれ程無いので(あるいはそういうサービスを組合せれば良いので)、複数稼働させる方向で検討を進められたら良いのではないでしょうか。

そのサーバーがダメになった場合、全滅してしまう

という点についても、各サービスがどれ位の可用性を求められるモノなのかに拠ると思います。

もしサービスダウンが問題になるなら、個々のサービスを複数の中途半端なサーバへ分散させるよりも、多少高価でもしっかりしたサーバで運用し、もう一台、少し低スペックでも良いので安価なサーバ上にバックアップ環境を構築した方が、少ないコストで信頼性の高いサービスを提供出来ると思います。

さて、nginxの設定の件ですが、色々な流儀があると思いますけれども、独立したサービスなのであれば、サイト毎に root ディレクトリを分けた方が良いと思います。
(現状ではデフォルトのパスがrootになっているため明示的に記載されていないだけ)

それと、アクセスログなども出力先を分けた方が管理し易いのでは?

その辺の細かいことは、mulberryfieldsさんご自身が参照されているページの「設定例」を参考になさると良いのではないでしょうか。

個人的な考えですが、複数サイトを運用するような場合には、省略可能な設定値も敢えて同じフォーマットで記載しておくと、diffを確認するだけ各サービス間の設定の差分を把握しやすいのでオススメです。

もっと詳しくお知りになりたい点があれば、問題を分割してより具体的にご質問されると、良い回答が得られると思います。

投稿2016/06/21 10:49

編集2016/06/21 10:52
pi-chan

総合スコア5936

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

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

退会済みユーザー

退会済みユーザー

2016/06/21 11:25

ご回答頂き、ありがとうございます。 一つのVPSで複数稼働する方針でやってみようと思います。 設定してみたのですが、エラーが出ており、改めて別途質問させていただきます。
guest

0

###nginxの設定
server_name を別の物にしないとダメだと思います。
80番ポートでリクエストを受けたときに、リクエストヘッダの Host: と server_name を照合して、どちらの server{} で扱うか決まります。

また、default_server は一方しか設定できません。

###一つのVPSで複数アプリ
管理については好みもありますので、どちらでも。
セキュリティ面で、例えば、A社用、B社用のアプリケーションをそれぞれバーチャルホストで稼働させると、同じ nginx ユーザーの nginx プロセスで両方にアクセスすることになり、好ましくない場合もあるかと。

投稿2016/06/21 10:19

TaichiYanagiya

総合スコア12173

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

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

退会済みユーザー

退会済みユーザー

2016/06/21 11:26

ご回答頂き、ありがとうございます。 1つのサーバーで複数動かす方針でやってみます。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

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

ただいまの回答率
85.37%

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

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

質問する

関連した質問