[nginx入門1]nginxでhtmlを公開するまでの手順と前提知識
実行環境
今回私が使用する実行環境は以下の通りです
os : ubuntu 20.04
nginxで公開するまでの流れ
nginxで公開するまでの流れは以下の通りです。
- aptの更新
- nginxをダウンロード
- nginxの設定ファイルを弄る
- nginxを起動
- サイトにアクセスできるか確認
- ポート開放
次はそれぞれの項目について解説していきます。
aptの更新
まずはubuntuのaptを更新しましょう。
nginxに限った話ではないですが、特に理由がない限り、aptのバージョンは最新にしておきましょう。
aptを最新にするコマンドは以下の通りです。
sudo apt update
sudo apt upgrade
nginxをダウンロード
nginxのダウンロードは以下のコマンドを実行するだけです。
sudo apt install nginx
nginxの設定ファイルを弄る
nginxをダウンロードしたら、「/etc/nginx」のフォルダが自動生成されます。
設定ファイルは「/etc/nginx」内にあります。
設定ファイルは用途に応じてファイル分割されています。
ただ公開するだけなら設定ファイルを弄らなくて大丈夫ですが、今回はドメイン使用したいので少し弄ります。
ドメインを使用するには、「/etc/nginx/sites-available/default」を弄ります。
まずはvimやnanoなどの適当なエディタでファイルを開いてみましょう。
色々ごちゃごちゃと書いてありますが、ドメインを使用するには「#server_name _;」と書かれた行の「#server_name ドメイン名;」という形に置き換えるだけです。
設定ファイルの書き方が正しいか不安な方は、以下のコマンドで構文チェックできるので試してみましょう。
nginx -t
nginxは設定を変更したら、反映するためにnginx自体を起動させるか再起動させるのが基本です。
今回はnginxをまだ起動してないので起動しましょう。
nginxを起動するコマンドは次の項目でお話します。
ちなみに、再起動するコマンドは以下の通りです。
sudo nginx -s reload
nginxの起動
nginxの起動コマンドは何通りかありますが、今回私が使用したコマンドは以下です。
sudo service nginx start
このコマンド実行すればnginxが起動すると思います。
サイトにアクセスできるか確認
nginxが動いているか確認するには、以下のコマンドを実行してみましょう。
curl http://localhost
curlは指定されたURLのhtml表示する便利コマンドです。
形式は「curl URL」です。
もしcurlがデフォルトでインストールされていない場合は、以下のコマンドでインストールしましょう。
sudo apt install curl
そしてcurlで「http://localhost/」をURLとして指定しましたが、この書き方が見慣れない方が多いと思うので、説明します。。
まずURLは「プロトコル://ホスト名/ファイル名またはパス」という形式で成り立っています。
よく見るhttpsというのはデフォルト設定で使えないので、httpというプロトコルを指定しています。
ホスト名というのは、IPアドレスのことです。
また、ホスト名にドメインを使うこともできます。
なぜならドメインとIPアドレスは紐づいているので、ドメインからIPアドレスを特定できるからです。
そしてホスト名に「localhost」が使えるのは、ドメインが使えるのと同じ理由です。
ちなみに「localhost」とは自身のIPアドレスのことです。
つまりIPアドレスでいうと「127.0.0.1」です。
IPアドレスにはいくつか特殊なものがあり、「127.0.0.1」というのもその一つです。
このIPアドレスは他サイトでもこのIPを見かけると思いますが、見かけたら「このIPは自身を表すもの」と思いましょう。
公開
レンタルサーバーの種類やデフォルト設定によっては何もしなくても、設定ファイルで指定したドメイン名でアクセスできると思います。
しかしそうじゃない場合もあります。
その場合、ポート開放という作業をすれば大体の場合は解決できると思います。
それでもだめならレンタルサーバーのアカウント設定を弄るとインターネットからアクセスできたりします。
ポート開放のやり方
ubuntuでは、ufwコマンドでポートに関する操作ができます。
もしプリインストールされてなかったら以下のコマンドでインストールできます。
sudo apt install ufw
よく使うコマンドは以下の通りです。
- ポート開放の状況確認 : sudo ufw status
- ポート開放を有効化 : sudo ufw enable
- ポート開放を無効化 : sudo ufw disable
- 指定したポート番号をインターネットに開放 : sudo ufw allow ポート番号
ポート開放するにはまず以下のコマンドでポート開放を有効化してあげる必要があります。
sudo ufw enable
そしたら以下のコマンドを実行しましょう。
sudo ufw allow 80
これでポートがインターネットに解放され、インターネットからドメインでアクセスできると思います。
ポート80はhttpのポート番号です。
よく見かけるhttpsのポート番号は443ですが、こちらは少し手順を踏まなきゃ使えないので、別記事にて解説できればと思います。
さくらサーバーでポート開放する例
私もここで躓いたのですが、さくらサーバーだとufwでポート開放してもインターネットからアクセスできないと思います。
どうやらレンタルサーバーによっては、そのサーバー特有のやり方でポート開放しなくてはいけないみたいです。
以下はさくらサーバーの場合の手順です。
- さくらサーバー管理画面を開く
- ログインする
- ポート開放したいサーバーをクリック
- 「パケットフィルター設定」の項目をクリック
- 「パケットフィルターを設定」というボタンをクリック
- 「パケットフィルター設定を追加する」というボタンをクリック
- 追加されたフィルター設定の「フィルターの種類」で「Web」を選ぶ
これでポート開放されたと思います。
まとめ
いかがだったでしょうか?。
皆さんのコンテンツを世の中に公開出来たら嬉しいです。
ではまた!