Indigo VPSは圧倒的に激安
Indigo VPSのメモリ容量別の月額費用です。
プラン | [1GB] | [2GB] | [4GB] | [8GB] |
価格(月額) | 349円 0.55円/時間 |
699円 1.1円/時間 |
1399円 2.2円/時間 |
2798円 4.4円/時間 |
メモリ | 1GB | 2GB | 4GB | 8GB |
CPU | 1コア | 2コア | 4コア | 6コア |
SSD | 20GB | 40GB | 80GB | 160GB |
初期費用 | 無し | 無し | 無し | 無し |
最低利用期間 | 無し | 無し | 無し | 無し |
メモリ1GBなら月額たったの349円で運用できます。
日本に存在するVPSの中で圧倒的に激安です。
「ConoHa VPS」 や「さくらVPS」と比較した表ものせておきます。3社が最もスペックが近いメモリ4GBのプランでで比較してみます。
Indigo | ConoHa | さくら | |
価格(月額) | 1399円 2.2円/時間 |
3762円 5.28円/時間 |
3520円 |
メモリ | 4GB | 4GB | 4GB |
CPU | 4コア | 4コア | 4コア |
SSD | 80GB | 50GB | 200GB |
初期費用 | 無し | 無し | 無し |
最低利用期間 | 無し | 無し | 無し |
Indigo VPSの月額費用は、ConoHa VPS の37%、さくらのVPS の39%です。
WebARENA Indigo VPS は激安です!
Indigo VPSでWordPressサイトを高速運用したい
WordPressサイトをVPSで運用したい場合、KUSANAGI(くさなぎ)がオススメです。
KUSANAGIは高速チューニングがパキパキにされたWordPress実行環境です。
KUSANAGIを使ってWordPressサイトを作成すれば、細かいチューニング・設定を行う必要がないにもかかわらず、プロ並みの高速レスポンスを実現します。
高速レスポンスとは、Webサイトにアクセスした時のスピードが速いという意味です。
アクセスしているのに、なかなかページが表示されないということがなくなります。
Webページの表示速度はかなり重要で、遅いとユーザーが離脱して、他のサイトに行ってしまいます。
自分の行動を振り返ってみても表示の遅いサイトはやめて違うサイトに行くことってよくありますよね。
というわけで、WordPressサイトを立ち上げるならKUSANAGIをオススメしたいのですが、一つだけ問題があります。
KUSANAGIが使えないVPSではどうする?
どのVPSでもKUSANAGIが使えるというわけではありません。
KUSANAGIがインストールされたイメージが使えるConoHa VPS やさくらのVPS であればすぐにKUSANAGIを使用することができます。
しかし、 Indigo VPSなどのVPSではKUSANAGIが初期インストールされたOSを使用することができません。
KUSANAGIを開発しているプライムストラテジー社とVPS側での契約がいるのだと思いますが、残念ながら、 Indigo VPSはプライムストラテジー社と提携していません。
というわけで、Indigo VPSでは超簡単にはKUSANAGIを使うことはできません。
超簡単にKUSANAGIを利用したい人にはConoHa VPS やさくらのVPS をオススメします。
Indigo VPS でKUSANAGIを使用できる方法が一つだけあります。
Docker(ドッカー)を使用することです。
KUSANAGIのDockerイメージ(仮想実行環境みたいな物)が配布されています。
ですので、Dockerを使って、 Indigo VPS上にKUSANAGIを立ち上げて、使用するということができます。
ここでは Indigo VPS上でDockerを使ってKUSANAGIを立ち上げる方法を紹介します。
ssh でIndigoインスタンスにログインする
自分のPCのターミナルからログインします。
.sshという隠しフォルダをホーム(ターミナルを立ち上げた直後にいるフォルダ)フォルダ内に作成します。(フォルダ名の最初に.
をつけると隠しフォルダになる。隠しフォルダとはls
では見れないフォルダのこと。)
その中に
config
というファイルindigo
というフォルダ内にindigo VPSへ接続するための秘密鍵ファイルprivate_key.txt
を作成します(known_hostsはSSH接続すると勝手に作成されます)。
.ssh ├── config ⇦ SSH接続用の設定ファイル ├── indigo │ └── private_key.txt ⇦ ダウンロードされたindigoの秘密鍵 └── known_hosts
configファイルには以下のように書きます。
Host indigo HostName [Indigo VPS インスタンスのIPアドレス] Port 22 User centos IdentityFile ~/.ssh/indigo/private_key.txt
ここまで設定できれば、コマンドラインで、
ssh indigo
とするとindigo VPSのインスタンスに接続することができます。
config
ファイル内でHost indigo
としているのでssh indigo
としてログインできます。Host [好きな名前]
とするとssh [好きな名前]
でログインできます。
接続するとターミナルに[centos@i-10100000019172 ~]$
のように表示されます。
これでロングインできました。
ルートのパスワードを設定します。
$ sudo passwd root ユーザー root のパスワードを変更。 新しいパスワード: $ su *設定したパスワードでroot(スーパーユーザーとしてログイン)としてログインする
root(スーパーユーザー)として操作していきます。
VPSのOSをアップデートする
まず、環境をアップデートします。インスタンスを立ち上げた時点では、OSのアップデートがされていません。最新の状態にアップデートします。
yum update
OSのアップデートなので、多少時間がかかります。
スワップ領域を設定して、メモリ不足に対応する!
VPSで最も問題になってくるのが、メモリ不足です。
メモリ容量を1GBから2GB、4GBと増量すると、VPSのレンタル料も高くなってしまいます。
できるなら1GBでしのぎたいわけですが、1GBではメモリ容量が足りない状況が起こり得ます。そんな時にスワップ領域を設定しておけば、、、、しのげます。
スワップ領域というのはメモリで処理できない量をハードディスクやSSDなどのストレージで処理してしまいましょうということです。
『メモリもストレージもまぁ、記憶するところなので、同じように使えますよね。』
ということです。
昔はハードディスクしかなかったので、ハードディスクはかなり遅かったのですが、最近ではストレージにSSDが使われることが多くなったので、かなりスピードは改善しています。
それでもCPU直結のメモリ(RAM)の方が速いことに変わりませんが。
Indigo VPSはストレージがSSDなので、この点でも申し分ないです。結構速いですよ。
というわけで1Gバイトのスワップ領域を確保しておきます。
swapfileという空のファイルを1GB分作成します。
メインメモリで処理しきれなかった分はここで処理することになります。
dd if=/dev/zero of=/swapfile bs=1M count=1024
万一ユーザーがスワップ領域に書き込んじゃうとまずいので、swapfileはユーザーが書き込めないように権限を設定します。
chmod 600 /swapfile
mkswapでswapfileファイルをスワップ領域に設定します。
mkswap /swapfile
swaponでスワップ領域として使い始めます。
swapon /swapfile
再起動した時に自動的にswaponされるようにfstabに設定(マウント)しておきます。
これで再起動した時にすぐにスワップ領域が利用できている状態になります。
sed -i '$ a /swapfile swap swap defaults 0 0' /etc/fstab
実際にfreeコマンドでメモリの状況を確認してみます。
[centos@i-10100000029172 ~]$ free -h total used free shared buff/cache available Mem: 991M 371M 100M 46M 519M 422M Swap: 1.0G 34M 989M
freeコマンドでメモリの使用状況をみたときに、こんな感じでSwapなる項目が追加されていればOKです。
Dockerをインストールして設定する
docker.comからdockerをインストールするためのスクリプトをダウンロードして実行します。
curl -fsSL https://get.docker.com/ | sh
curl のオプション
-f: 失敗した時に出力を出さない。
-s: 進捗の表示をしない。別名 --silent
-sS: 進捗は表示しないが、エラーは表示する。
-L: リダイレクトされている場合、リダイレクト先にもリクエストする。
systemctlでdockerを起動します。
systemctl start docker
再起動した時に自動的にdockerが起動するようにenableに設定しておきます。
systemctl enable docker
dockerと一緒に使うdocker-composeをインストールします。
curl -L https://github.com/docker/compose/releases/download/1.25.0/docker-compose-`uname -s`-`uname -m` -o /usr/local/bin/docker-compose
uname -s
: カーネルの名前を表示する。例えば、"Linux"など。
uname -m
: コンピュータのマシンタイプを表示する。例えば、"x86_64"など
docker-composeに実行権限を加える(+x
)。
chmod +x /usr/local/bin/docker-compose
あらかじめdockerで使用するネットワークを作成しておきます。
docker network create --driver bridge common_link
NGINXのdockerコンテナを起動する
/home/wp
というディレクトリを作成しここにKUSANAGIをインストール&起動していく
mkdir /home/wp
cd /home/wp
/home/wp/nginx-proxy
にNGINXサーバーの設定ファイルを置く
mkdir nginx-proxy
cd nginx-proxy
wget
とvim
をyum
でインストールしておく
yum install wget
yum install vim
wget
でnginxプロキシサーバー用のdocker-compose設定ファイル(docker-compose.yml)をダウンロードする
wget https://support.kagoya.jp/cloud/docker/nginx-proxy/docker-compose.yml
vim nginx.conf
nginx.confを作成しNGINXサーバー用の設定を書き込みます。
client_max_body_size 64m;
docker-composeを使用して、nginxのコンテナを起動します。
/usr/local/bin/docker-compose -f /home/wp/nginx-proxy/docker-compose.yml up -d
KUSANAGIのdockerコンテナを起動する
cd /home/wp mkdir applingo cd applingo wget https://support.kagoya.jp/cloud/docker/kusanagi/docker-compose.yml vim docker-compose.yml
/home/wp/applingo
というディレクトリ(任意の名前)を作成してその中にkagoya VPSが作成してメンテナンスしてくれているdocker-compose.yml
をダウンロードしてきます。
vim
でdocker-compose.yml
を編集します。
VIRTUAL_HOST: applingo.tokyo ⇦ドメイン名
VIRTUAL_PROTO: https
LETSENCRYPT_HOST: applingo.tokyo ⇦ドメイン名
LETSENCRYPT_EMAIL: applingo@gmail.com ⇦自分のEメールアドレス
LETSENCRYPT_TEST: “false”
PROFILE: applingo ⇦ WordPressの各種ファイルが入るディレクトリ名になる
FQDN: applingo.tokyo ⇦ドメイン名
というように中身を変更します。
MySQLデータベース(MariaDB)の設定を行います。
MYSQL_ROOT_PASSWORD: BDiio21
MYSQL_USER: applingo
MYSQL_PASSWORD: EDGE312d
MYSQL_DATABASE: applingodb
vim uploads.ini
file_uploads = On memory_limit = 256M upload_max_filesize = 64M post_max_size = 64M max_execution_time = 600
KUSANAGIのDockerコンテナを起動します。
/usr/local/bin/docker-compose -f /home/wp/blog1/docker-compose.yml up -d
このdocker-compose.ymlファイルの設定ではmysqlがコンテナに存在しているため永続化ができません。
永続化とはコンテナを削除しても残り続けるというぐらいの意味ですが、
つまり、docker-compose down
を行うたびにデータベースが初期状態から始まるため、phpのバージョンを上げたいとかいった場合に大変困ります。
その辺については別の記事にまとめました。
ドメインにアクセスしてみる
これで利用できるはずです。
ブラウザからドメインにアクセスしてみましょう。
あとは通常のWordPressの設定と同様です。
dockerコンテナがどれくらいメモリを消費しているか確認しよう
各コンテナのリソース消費量を調べてみます。
docker container stats
mariadbが106MBと結構メモリを喰っています。
NGINX(エンジンエックス)が12MB
KUSANAGIが136MB
メモリを消費しています。
新しいサイトをもう一つ追加するとKUSANAGI分が136MB分さらに必要になるので、メモリ消費量を考えながら借りるVPSプランを検討する必要があります。
また、負荷がかかるとメモリ消費量はさらに増えるので注意が必要です。
WebArena Indigo の1GBプランはとりあえず、KUSANAGIでWordPressが運用できて、かつ激安でかなりオススメです。
スワップ領域を確保しておくことの重要性はここにあります。
スワップ領域があればとりあえず動作します。
DNSレコードを設定する
ドメインを取得しているサービスで設定を行います。
DNSレコードというのは簡単にいうと、
ドメイン(例えばapplingo.tokyo)のURLが指定されると、そのドメインを登録されているIPアドレスに変更するための設定ということですね。
自分のPCのブラウザでapplingo.tokyoというURLを入力した時、どうやって、VPSサーバーにあるVPSインスタンスからコンテンツを取得できるのかという話です。
DNSサーバーがドメインとIPアドレスのペアを配信しているので、その情報をブラウザーは取得することによってコンテンツを配信しているサーバーのIPアドレスを知ることができるわけです。
その後、そのIPアドレスを持ったサーバーと通信を開始します。
DNSレコードの設定はこの設定を行うことです。
私の場合は、お名前.comでドメインを取得しているので、そこでの設定を簡単に紹介しておきます。
DNSレコード設定を利用するから設定するをクリックします。
TYPEはAレコード
TTLは3600
VALUEの欄にIPアドレスを入力します。
最初は難しく感じますが、慣れるとなんてことはありませんね。
コメント