ミッション 最初の配信
この章でできるようになったこと
ここまでで、Webサーバーが何をしているか、nginx をどう入れてどう動かすか、返すファイルがどこから取られるかを見てきました。材料は揃っています。この回で、自分のサイトを本当に公開します。
手元の ~/mysite には、前のコースで作ったプロフィールサイト一式が入っています。
ls -R /root/mysite
# index.html style.css works/index.htmlこれをドキュメントルートに移せば、http://localhost/ で自分のサイトが出ます。
ディレクトリごと写す
中身をまとめて写すには cp -r を使います。コピー元の指定でよく間違えるのが、末尾のスラッシュとドットです。
cp -r /root/mysite/. /var/www/html//root/mysite/. と書くと「mysite の中身」を指します。/root/mysite と書くと「mysite というディレクトリそのもの」なので、/var/www/html/mysite/ ができてしまい、URLが1段深くなります。狙った場所に出ないときは、まずここを疑ってください。
確かめるのは1つではない
トップページが出たからといって、サイト全体が出るとは限りません。CSSが読めていなければ見た目が崩れますし、サブディレクトリのページは別の設定が要ることもあります。だから確認は、種類の違うものを1つずつ叩きます。
curl -sI http://localhost/ # トップページ
curl -sI http://localhost/style.css # スタイルシート
curl -sI http://localhost/works/ # サブディレクトリ3つとも 200 が返れば、サイトとして成立しています。/works/ が 403 や 404 になるときは、その中に index.html があるかを確かめてください。
記録を残す
公開できた状態を1つのファイルにまとめて残しておきます。あとで壊れたとき、正常だったときの記録と見比べられます。
for p in / /style.css /works/; do
echo "$p $(curl -s -o /dev/null -w '%{http_code}' http://localhost$p)"
done > /root/ch1-report.txt-w '%{http_code}' は、ステータスコードだけを取り出す書き方です。監視のスクリプトでよく使う形なので、6章でもう一度出てきます。
手を動かす
サイト一式をドキュメントルートに配置し、3つのURLがすべて 200 で返る状態にします。そのうえで、確認結果を /root/ch1-report.txt に残してください。