
目次
レンタルサーバーを借りてDjangoで作ったWebアプリを世界中に公開しよう!
最近プログラミングを学習する人が増えてきています。
初心者におすすめのプログラミング言語として、RubyとPythonが人気ですよね。
純粋にプログラミング言語の機能だけを使って、ウェブサイトやウェブアプリケーションを作ることもできますが、ウェブアプリケーションフレームワークと言うものを使えば、もっと簡単に素早くウェブアプリケーションを作ることができると言うことで、フレームワークを使う人が増えています。
たくさんあるウェブアプリケーションフレームワークの中でも特に人気のあるものは、Rubyの場合はRuby on RailsでPythonの場合はDjangoです。
今回はPythonのウェブアプリケーションフレームワークであるDjangoを動かせるレンタルサーバーについて書きます。
独学やスクールなどでプログラミングの勉強を始めた人、特にPythonの勉強を始めた人の中には、Djangoの勉強をしている人も多いと思います。
自分のパソコンの中、すなわちローカル環境で動かすことができたとしても、実際にWebサーバーにデプロイして一般に公開しなければ意味がありません。
出来る限り早い段階でレンタルサーバーを1台借りて、練習としていろいろ触ってみるのがおすすめです。
Djangoが動かせるレンタルサーバーはいくつかあるのですが、おすすめはVPSです。
VPSはVirtual Private Serverの略称で、一言で言うと仮想の専用サーバーです。
1台のサーバーを複数人で共用するのですが、仮想的に複数のサーバーを構築し、それぞれにroot権限が与えられ自由に利用することができます。
おすすめできないのは共用サーバーです。
例えば、安くて高性能のサーバーを提供しているエックスサーバーという人気のレンタルサーバーがあります。
簡単なホームページを作ってアップロードして公開する場合や、WordPressなどをインストールして使う場合などにはエックスサーバーで充分なのですが、Djangoを動かすことを考えるとエックスサーバーのような共用サーバーはおすすめすることができません。
実はエックスサーバーでもDjangoを動かすことができるのですが、やはり共用サーバーと言う性質上様々な制約があるため、Djangoを開発するのには非常にやりにくいというのが正直なところです。
共用サーバーでWebアプリを開発するというのは、わかりやすく言えば両手両足を紐で縛られた状態で、プラグラミングをするようなイメージです。
Djangoを動かすためにはやはりルート権限と言うものが付与されるVPSもしくはクラウドサーバーを利用するのがおすすめです。
エックスサーバーを使ってDjangoを動かす方法を紹介しているブログやサイトはいくつかありますが、 少し特殊なやり方をしなければDjangoを動かすことができませんので、初心者にとっては少しハードルが高いです。特に理由がなければここで紹介する他のVPSを使うことをお勧めします。
エックスサーバーよりも安いVPSもありますので、エックスサーバーにそれほどこだわる必要はないでしょう。
やはり最初はシンプルなLinuxサーバーでしっかりと基本的なDjangoのデプロイ方法を学ぶことが大事だと思います。
ここではDjangoを開発するために最適なお勧めのレンタルサーバーを紹介します。
ここで紹介する以外にもDjangoが動かせるサーバーはいくつかあるのですが、本当にオススメできるものに厳選して紹介します。
基本的に私のオススメの順番に説明していきますが、すべての人にとって最適なレンタルサーバーと言うのはありません。
個人の好みもあると思いますので、ここで紹介するレンタルサーバーやクラウドサービスの中から自分の好みに合うものを選んでください。
ここで紹介するVPSとクラウドサーバは以下の通りです。
- さくらのVPS
- Google App Engine
- ConoHa VPS
- KAGOYA CLOUD VPS
- Heroku
- LOLIPOP! マネージドクラウド
- AWS
まずは、サーバーの基本的なことや、おすすめのVPSやクラウドサービスについて、これから1つずつ詳しく紹介していきます。
共用サーバーとは?
共用サーバーとは、1台のサーバーを複数のユーザでシェアして使うサーバーのことをいいます。
共用サーバーには、メリットとデメリットの両面があるため、まずはその点について簡単に説明します。
共用サーバーのメリット
共用サーバーには、大きく2つのメリットがあります。
圧倒的にコストが安い
共用サーバーは先ほども述べたように、いくつかあるレンタルサーバーの中で、最もコストが安く利用することができるサーバーです。
容量や機能によって価格が変わってきますが、安いものであれば月額200〜300円から利用することができるものもあり、大きなコストをかけることなくサーバーを利用したい場合にはおすすめです。
管理が楽にできる
共用サーバーの場合、メンテナンスや運用はサーバー会社が行います。
したがって、ユーザが自分でサーバーの運用をする必要がないため、サーバーの専門知識が無い場合でも簡単に運用することができるのもメリットです。
共用サーバーのデメリット
メリットの裏返しとして、共用サーバーには大きく2つのデメリットがあります。
自由度が低い
共用サーバーは1台のサーバーを複数のユーザーでシェアして使うため、専用サーバーほど自由度がありません。
サーバーのメンテナンスや運用をサーバー会社が行うために、自分でOSの設定やApacheなどのWebサーバーソフトの設定やカスタマイズなどをすることができません。
したがって、サーバーを運用するために自由度が低く、様々な点で制限されている状態で利用することになりますので、自分の好きなプログラミング言語やWebアプリケーションフレームワークを自由に使いたい場合などにはおすすめできません。
他のユーザーの影響を受ける
共用サーバーは1台のサーバーを、複数のユーザでシェアして利用する仕組みになっているため、 他のユーザの利用状況が影響することがあります。
例えば、他のユーザが運用しているウェブサイトが多くのアクセスがあり、大きなトラフィックが発生している場合、サーバーのリソースが、そのユーザーにたくさん使われてしまって、自分のサーバーの性能が落ちて、ウェブサイトの表示速度が遅くなったりする場合があります。
専用サーバーとは?
専用サーバーとは1人のユーザが、物理的に1台のサーバーを丸ごと独占して使用することができるサービスです。
専用サーバーにもメリットとデメリットがあ理ますので、それを簡単に説明します。
専用サーバーのメリット
専用サーバーには大きく2つのメリットがあります。
自由に自分の使いたいように使える
専用サーバーは物理的に1台のサーバーを1人で独占的に利用するため、サーバーを自由に利用するための、管理者権限であるroot権限をもらうことができます。
このroot権限があれば、サーバーのOSの設定やカスタマイズ、ウェブサーバーソフトの設定やカスタマイズなどを自由に行うことができるため、サーバーの専門知識さえあればほとんど何でもできるということです。
したがって、自分の使いたいプログラミング言語をインストールしたり、自分の使いたいウェブアプリケーションフレームワークなどをインストールしたり、何の制限も無く、自分のやりたいことを自由にできるというメリットがあります。
例えば、Pythonをインストールすることもできますし、Djangoをインストールすることもできますし、DjangoのWebサーバーソフトとしてよく使われるNGINX(エンジンエックス)をインストールすることができます。
他のユーザーの影響を受けない
専用サーバーは、共用サーバーと違って、物理的に1台のサーバーを1人で独占的に利用するために、他のユーザが存在しません。
そのため、他のユーザーの影響を受けるということがありません。
専用サーバーのデメリット
専用サーバーには大きく2つのデメリットがあります。
コストが高い
専用サーバーは1台のサーバーを1人で独占的に利用するため、その運用にかかるコストを1人で全て負担しなければななりません。
そのため、必然的にレンタルサーバーを借りるための費用が高くなります。
運用するのに専門知識が必要
専用サーバーの場合、最初にレンタルサーバー会社が最低限の設定だけをして、それをユーザに引き渡すので、運用するためにはOSのインストールやWebサーバーソフトのインストールなど、様々なことを全て自分でやる必要があります。
そして、セキュリティーに関しても、全て自分で責任を負って管理しなければならないので、 レンタルサーバーを運用するには高度な専門的な知識が必要になります。
VPS(Virtual Private Server)とは?
VPSとは、Virtual Private Serverの頭文字を取った略称です。
VPSは専用サーバーと共用サーバーのいいとこ取りをしたようなサービスです。
1台のサーバーを複数のユーザでシェアして使う点は共用サーバーと同じなのですが、VPSではサーバー上にユーザーごとに専用サーバーのような領域が確保されていて、専用サーバーのようり利用することができます。
VPSのメリット
VPSのメリットは大きく2つあります。
自由度が高い
VPSでは、割り当てられる部分に関しては、専用サーバーと同じように利用することができるので、Pythonのインストール、Djangoのインストールも自由にできます。
専用サーバーのように自由度が高い運用をすることが可能になっているので、Djangoをデプロイして運用するサーバーとしておすすめです。
料金が安い
VPSは、1台のサーバーを丸ごと独占して使うのではなく、複数のユーザーでシェアして利用するので、専用サーバーに比べて価格は安くなります。
安いところであれば、月額1000円くらいから利用することができますので、Djangoを使いたいけれど、最初は低いコストで小さく始めたいという場合におすすめのサービスです。
VPSのデメリット
VPSには大きく2つのデメリットがあります。
サーバーの専門知識が必要となる
VPSは、共用サーバーに似ているのですが、それぞれに割り当てられる領域については、専用サーバーと同じようなものなので、運用するためにはWebサーバーの知識やLinuxコマンドなどの専門的な知識が必要となります。
VPSを使ってDjangoを動かすには、PythonやDjangoの知識だけではなく、LinuxやWebサーバーなどの幅広い知識まで求められます。
専用サーバーに比べると自由度はやや低い
VPSは共用サーバーより自由度は高いものの、サーバー1台を丸ごと自分のものとして自由に利用できる専用サーバーではないので、ある程度の制約はあります。
OSの深い部分のカスタマイズなどをやろうとするとできない場合などもあるので、自分がやりたいことがVPSで実現できるのかというのを事前に調べることが必要です。
ただし、PythonとDjangoをインストールして、Webアプリを動かすという事に関して言えば、VPSで特に問題はありませんので、やはりVPSはDjangoを運用するレンタルサーバーとしておすすめです。
おすすめのVPSとクラウドサービス
インターネットは世界中で繋がっているため、海外のサーバーやクラウドサービスを使うということも可能です。
物理的にサーバーが置かれている場所は正確には分かりかねますので、ここではサーバーの運用会社が国内のあるのか海外にあるのかで区別します。
さくらのVPS(国内)
さくらのVPSは、私が個人的にもっともおすすめするレンタルサーバーです。
さくらのVPSは、月額643円から利用することができます。もし、その後にWebサイトが成長し、ストレージが足りなくなったり、アクセスが増えるなどした場合には、 ストレージの容量を増加するなどアップグレードすることができます。
さくらのVPSではroot権限が付与されるので、 Djangoのインストールはもちろんのこと様々なライブラリも自分で自由にインストールすることができます。
さくらのVPSでは、Linuxの中で最もベーシックで信頼性の高いCent OSやUbuntuを使うことができます。
さくらのVPSを使ってDjangoの勉強をすると、Webプログラマにとっては必須のスキルであるLinuxのコマンドや設定の方法も勉強することができます。
料金も月額643円から利用することができ、Djangoが動かせるレンタルサーバーの中では非常に低価格なものでありますし、月額固定の価格設定になっているので、いくらアクセスが来たとしてもそれ以上請求される事はありませんので安心して利用することができます。
クラウドサービスの場合、サーバーを使ったら使った分だけ料金が上乗せされていく従量課金制のことが多いのですが、さくらのVPSでは定額制が採用されています。
初心者があまりよく分からずにクラウドサーバーを使うと、設定をミスしたり下手なコードを書くことによって、無駄にリソースを使ってしまい高額の料金が請求されることも多々あります。
下手にクラウドサービスを使うと、いわゆるクラウド破産と言われる事態になる可能性もありますので、最初のうちは定額制のレンタルサーバーを借りることがおすすめです。
私もさくらのVPSを使って、Djangoで実際に運用しています。ちなみにそのサイトはこちらのサイト(レクサスLSオーナーがレクサスを斬る)です。
見ていただければわかると思うのですが、安いからといって動作が遅いとかそういう不具合は一切ありません。
なんの不自由なく1番安いプランで利用することができているので、まずは1番安いプランもしくはそれより少し上のプランからスタートして、サイトの成長に合わせてアップグレードしていくのが良いでしょう。
と言うことで、Djangoを使えるレンタルサーバーとして1番のオススメはさくらのVPSです。
ちなみに、さくらのVPSは、14日間のお試し期間がありますので、まずはそのお試し期間の間にいろいろ触ってみて、どうしても使い勝手が悪かったり不都合があれば解約すればいいでしょう。
↓↓↓さくらのVPSの公式サイトはこちら↓↓↓
Google App Engine(海外)
Google App Engine(GAE)は、Googleが提供しているクラウドサービスであるGoogle Cloud Plarformの1つのサービスです。
Google App Engineは、Googleのサーバーを利用することができるため非常に高速ですし、セキュリティーも高いです。
Google App Engineにはスタンダード環境とフレキシブル環境の2種類があるのですが、スタンダード環境の最も優れたところは無料で利用できる枠があることです。
しかも、その無料枠がかなり余裕を持って設定されているので、最初のうちは十分に無料枠の中で運用することができます。
自分が作っているWebサイトが成長するかどうかわからない段階で、お金を払うのはリスクがあります。
この点、Google App Engineは、最初のうちは無料で運用することができるので、リスク無しでスタートすることができます。
もちろん、アクセス数が増えるなどWebアプリが成長してきたら、簡単にスケールアップして対応することができます。
無料枠を超えた場合には、そこから従量課金され料金が上乗せされていくシステムになっています。
ただしGoogle App Engineにはエッジキャッシュやmemcacheと言われる非常に強力なキャッシュシステムがあるため、キャッシュを最大限に活用することで利用料金をかなり安く抑えることができます。
私も、Google App Engineを使っていますので、とてもおすすめのクラウドサービスなのですが、Linuxサーバーで運用するのとは異なる特殊な設定が必要であったり、デプロイするのにターミナル等を立ち上げてコマンド操作をする必要があるので、初心者には少しハードルが高いかと思います。
従って、初心者におすすめすることができないのですが、プログラミング技術があり、ターミナルでのコマンド入力に慣れているのであれば一番おすすめできるクラウドサービスになります。
ちなみに、GAEとDjangoで運用しているサイトは、こちらの資格キングというサイトになります。実際に見て参考にして下さい。
ConoHa VPS(国内)
ConoHaのVPSは、GMOグループが提供するVPSサービスです。
ConoHaのVPSは、月額530円から利用することができるのですが、この価格は3年契約をした場合の価格ですので、もっと短い3ヶ月 契約の場合、月額671円と少し割高になってしまいます。
初期費用は無料なのですが、無料のお試し期間がないため、とりあえず試しに使ってみるということができないのが大きなデメリットです。
ConoHaのVPSも、従量課金制ではなく月額固定制なので、初心者でも安心して利用することができます。
ConoHaのVPSも初心者にとって使いやすいのですが、無料お試し期間が無いのと、月額料金が短期契約の場合さくらのVPSより少し高いので、2位ということにさせていただきました。
↓↓↓ConoHaのVPSの公式サイトはこちら↓↓↓
KAGOYA CLOUD VPS(国内)
KAGOYA CLOUD VPSは、カゴヤジャパン株式会社が運営しているVPSサービスです。
電話サポートが付いているた急なトラブルも安心して対応することができます。そのため、ビジネス用のサーバーとしても選ばれることが多いです。
初期費用は無料ですが、利用料が基本的には従量課金制なので、下手な使い方をすると思いがけない高額料金が請求される可能性があるので、初心者にはあまりおすすめできません。
OSは、CentOS、Ubuntu、そしてWindows Serverも選択することができます。
またウェブサイトの成長に合わせて柔軟にスケールアップすることができるのは便利です。
↓↓↓KAGOYA CLOUD VPSの公式サイトはこちら↓↓↓
Heroku(海外)
Herokuは、Salesforceが運営しているクラウドサービスです。
いろいろなプログラミングスクールでも、おすすめされているクラウドサービスで、ローカル環境で作ったWebアプリをデプロイするのが非常に簡単なのがメリットです。
クラウドサービスなので、Webサイトのアクセスが増えてきた場合にも、簡単にスケールアップするなど柔軟に対応することができます。
Herokuは、無料で利用することができる枠があるため、とりあえず試しに使ってみるというのにおすすめのクラウドサービスです。
ただHerokuは、独自の設定をする必要があったりして、Linuxサーバーで運用するのとは少し異なる面もありますので、初心者には少し難しいかもしれないので最初の1台としてはあまりおすすめできません。
LOLIPOP! マネージドクラウド(国内)
ロリポップマネージドクラウドは、GMOグループが提供しているクラウドサービスです。
月額利用料金が1,078円というのが基本となっており、そこから利用するごとに追加されていく従量課金制となっています。
月額基本料金もやや高く、さらに追加で従量課金も発生するために、初心者にはあまりオススメすることができません。
なお、ロリポップマネージドクラウドは、10日間の無料のお試し期間がありますので、一度、お試しで使ってみるというのはアリかと思います。
↓↓↓LOLIPOP! マネージドクラウドの公式サイトはこちら↓↓↓
AWS(海外)
AWSは、Google App Engineと似ているクラウドサービスで、Amazonが運営しています。
クラウドサービスの中では、1位のシェアを誇っており、とても人気のあるサービスです。
AWSもDjangoを動かすことができ、スケールアップもすぐにできるのですが、利用料金が従量課金制になっており、また無料枠もないため初心者にはあまりおすすめすることができません。
また従量課金生の利用料金も、Google App Engineに比べて高いです。
したがって、高い信頼性とセキュリティが要求され、それなりに大きなウェブサイトを開発する場合や、高いプログラミング技術を持っている場合にはおすすめできるクラウドサービスになるのですが、初心者には少しハードルが高いため最初は避けた方が良いかと思います。