Google App Engineでホームページを作る1(2017年版:環境構築とhello world)

by sixl

目的

ホームページ作りが趣味のひとつです。昔はWebレンタルスペースを借り、FFFTPでhtmlをアップロードして・・・といった形でホームページを作っていましたが、最近は無料のレンタルスペース(PaaS)を活用しています。FFFTPがGitになり、htmlがphpになったくらいで、あまりやっていることは変わりません。
さて、前から目をつけていたGoogle App Engineにようやく移行したので、そのメモを残しておこうと思います。移行の目的・理由は以下です。

  1. Google好き
  2. 無料
  3. 管理コンソールがカッコイイ

とまあ、大した理由ではないですが、他にもSSL(https)が簡単に使えたり、東京リージョンがありレイテンシが良いなど様々なメリットがあります。また、無料と書きましたが結構なアクセス数や処理をさせたりすると、無料分に収まらなくなります。しかし300$の初期クーポンがありますし、課金しない設定にしておけば問題ありません。

環境構築

環境構築は以下の手順となります。私の環境Mac OS Sierraでの手順ですが、他でも大体の流れは一緒です。

  1. Cloud Platform Console プロジェクトの作成
  2. gcloudツールをインストール

Cloud Platform Console プロジェクトはひとつのホームページのプロジェクトみたいなもので、URLなどが決まります。gcloudツールはローカルにあるhtmlなどをテストしたり、アップロードするためにのツールです。それぞれ上記のリンクから実施しましょう。(このリンクを探すのも一手間なんですよね・・)

hello world

Google App Engineのドキュメントに、hello worldまでの道のりが書いてありますので、詳細はそちらを。ここではざっくり説明します。

  1. yamlファイルの作成
  2. テスト
  3. アップロード
  4. 確認

yamlファイルとは、アップロードするファイルと、urlを紐づけるようなテキストファイルです。まずはプロジェクト用のフォルダを作成し、その中に以下のようにapp.ymlというテキストファイルを作成します。

runtime: php55   # 何らかの言語を指定する必要あり

handlers:
- url: /
static_files: index.html # 半角スペースの数などで判断しているので厳密に
upload: index.html

テストは下記コマンドを打ったあと、http://localhost:8080にアクセス。エラーが出た場合は、エラー内容を読んで対処しましょう。ymlの構文が違ったり、環境構築できてない場合にエラーになりやすいです。
dev_appserver.py .

アップロードは下記のコマンド。
gcloud app deploy --project [projectname] app.yml

アップロードがうまく行ったらhttps://[projectname].appspot.com/にアクセスしてみましょう。