Now の簡単な使い方

Now の簡単な使い方を紹介しています。

▲ ZEIT https://zeit.co/
∆ Now https://zeit.co/now


ダウンロード

Now Desktop は複数人での作業だとメンバーの経歴などを見れます。
アイコンへのドラッグ&ドロップへアップロード公開もできますが、
個人用途・コマンドライン操作前提であれば、常駐を減らすため
Now CLI をインストールするのが良いでしょう。
Now Desktop に Now CLI も含まれています。

Now CLI
Now Desktop

Node.js を使用している場合、インストールは npm で簡単に行えます。

npm install -g now

アカウントの登録・ログイン

Now でのログインは ZEIT アカウントとして扱われます。
(ZEIT=▲。Now の提供チーム)

Web で登録できます。GitHub 連携かメール認証です。パスワード入力は発生しません。

Sign Up for ZEIT

ログインすると、Now の状況をブラウザから確認できます。
メールアドレスなどの設定変更もこちらから可能です。

Dashboard

Now もメールアドレスを割り当てておきます。

now login

メールアドレスを入力するとメールが届くので認証して下さい。


使い方

index.html などがあるところで

now

とするだけです。(デプロイ)
https://●●●.now.sh/ で参照できるようになります。
https://●●●.now.sh/ は毎回変わります。


固定アドレスを割り当てる

割り当てられたアドレスに対し任意の固定アドレスを割り当てられます。
now で割り当てられた ●●●.now.sh に対し、○○○.now.sh を割り当てるのは次のコマンドです。

now alias https://●●●.now.sh ○○○

これで https://○○○.now.sh/ で参照できます。
従って、固定アドレスで公開する場合は now と now alias を毎回実行する必要があります。

毎回固定アドレスを now alias コマンドで指定するのは面倒なので、
次を入れたファイル now.json を now を実行するフォルダ(ディレクトリ)に入れます。
2018年11月より Version 2 が公開されていますので、
“version”: 2, も入れておくのがおすすめです。

{
  "version": 2,
  "name": "●●●"
  "alias": "●●●.now.sh"
}

alias の ●●●.now.sh は .now.sh をなくして ●●● のみでも .now.sh のサブドメインになります。

{
  "version": 2,
  "name": "●●●"
  "alias": "●●●"
}

これで次のコマンドで実行できるようになります。

now
now alias

公開時の注意

index.html がない場合、ファイル名なしでの参照はファイル一覧表示になります。


GitHub リボジトリと連携する

GitHub と連携する事で、now コマンドを実行する代わりに
GitHub へ push する事でデプロイされるようになりました。

Now + GitHub

例えば、GitHub でのプロジェクト関連はディレクトリが付いて
●●●.github.io/○○○/ となりますが、
Now 連携により、プロジェクト名でも ○○○.now.sh で公開できます。
GitHub Pages と同じようにプロジェクト内のファイルがまるごと公開されます。

Account Settings へ入り、まだ連携していない場合、
GitHub Integration にある INSTALL NOW FOR GITHUB をクリックします。
この時リポジトリは数が少なければ全てでも構いません。
Now が動作するのは now.json があるリポジトリに限られます。

あとは now.json を含めてリポジトリへファイルを push するだけです。
now.sh サブドメイン(または独自ドメイン)の設定は now.json ファイルで設定するので、
GitHub のプロジェクト名は別の名称でも構いません。

通常は GitHub への push により now→now alias 相当が行われる状況となり、
now.json の設定により固定アドレスで公開された状態にできます。
実行状況は Now[bot] からメールで通知が入り、
commits に Now からコメントが入ってデプロイ・公開状況を把握できます。

サンプル - fu-sen/bal.now.sh | GitHub


独自ドメインの設定

独自ドメインを完全に Now で公開する Web を参照するようにする場合は
ネームサーバで設定します。世界中に DNS があります。日本にもあります。
基本的には全て設定しますが、項目数が制限されている場合はいずれかで大丈夫です。

Get Started | ZEIT World DNS

now alias ではドメイン名を完全に入れます。

now alias https://●●●.now.sh ■■■.com

now.json に設定する場合も alias はドメイン名を設定します。
こちらでも alias は独自ドメインを完全表記して下さい。

{
  "version": 2,
  "name": "■■■"
  "alias": "■■■.com"
}

この場合、now で DNS 管理も可能です。

DNS Management

ドメインどのものは別管理で、サブドメインを Now で割り当てる場合は CNAME で alias.zeit.co を指定して下さい。


公開状態の確認と無駄なアドレスの削除

古いアドレスはしばらく残しておき、
更新した後の意図しない動作を戻して改善する事ができます。
(経過と共に古いアドレスはフリーズされます)
古いアドレスが完全に不要な場合は手動で削除する事も可能です。

ブラウザよりログインしたページの Deployments で確認できます。

Dashboard/Deployments

CLI でも確認可能です。(○○○=○○○.now.sh)

now list ○○○

now ls ○○○ も使用可能です。
これで割り当てされているアドレスが一覧できます。
古い割り当て不要なアドレスは削除して下さい。

now remove https://●●●.now.sh

now rm ●●●.now.sh でも削除できます。

Web ブラウザより Dashboard/Deployments からも確認・削除可能です。


Q&A

無料ではどこまで使用できますか?

2018年11月に価格体系が変わりました。

Pricing

項目 無料の上限
帯域幅 月 100GB
Now の実行・デプロイ 月 1000 回
動的ファイルの実行・変換 日 1000 回
ログ 日 1000 回
ストレージ容量 100GB
1ファイルの最大サイズ 100MB

静的ファイルでの利用だと無料で使用できる範囲が広いですが、
動的に生成を行う場合は回数に気をつけないと使い切ってしまうでしょう。

2018年11月以前から使用している場合は
Version 1 のプランが維持されています。上限が異なります。

Pricing/V1

項目 無料の上限
帯域幅 1GB
最大同時インスタンス数 3
ログ 100MB
ストレージ容量 1GB
1ファイルの最大サイズ 5MB

他のところで「デプロイ回数が月 20 回まで」といった記載がありますが、これは古い情報です。

Not Found で任意の HTML を表示できますか?

公式 Web 上での記載がありませんが、
404.html で表示できるように対応されています。

Send custom 404 page if it exists #34 | GitHub zeit/serve Pull requests

動的ファイルを実行できますか?

2018年11月よりビルド機能が追加され、
Node.js・PHP・Go・React (Next.js) などが使用できるようになりました。
now.json に builds プロパティの追記が必要です。

Bulders/Overview

上の項目にもあるように、無料で使用できる回数制限にご注意下さい。

アカウントを削除したいのですが……

Accouns Seetings に Delete Account がありますが、
一度削除するとそのメールアドレスで再度登録する事ができなくなります。
英語で問い合わせてアカウントを復旧してもらう必要があります。(運営者はこれを経験しています)
なので、Now を使う用途がなくなっている場合でもアカウントは残しておいた方が良いでしょう。

Surge との違いは?

Surge は公開コマンド surge の段階で固定アドレスを指定できます。

Now コマンドの場合、通常 now→now alias と 2 回実行する事になりますが、
古いデプロイが残されていれば戻す事も可能なのが特徴です。

また、次の点は Now が有利な点です。

Surge をつかう。