chisataki’s blog

リコリス・リコイルじゃありません

Nginxでサンプルページをとりあえず表示する

まずはnginxをインストールします。

 

sudo apt install nginx

 

続いてHTTPポート番号(80)を開きます。

 

sudo ufw allow 80

sudo ufw reload

 

早速Nginxの起動確認です。http://(サーバーIPアドレス)/ をブラウザから開きます。

以下のようなページが見られれば成功です。

 

nginx表示成功の場合

 

表示されたHTMLファイルの場所はNginx設定ファイルの /etc/nginx/sites-available/default 内に記載されており、

 

# Default server configuration
#
server {
        listen 80 default_server;
        listen [::]:80 default_server;

        ...

        root /var/www/html;

        ...

}

 

上記のrootに記載のディレクトリが、Nginxがデフォルトでhtmlファイルを探しに行く場所になります。 /var/www/html ディレクトリを ls コマンドで確認すると、

 

x.nginx-debian.html 

 

というファイルがあり、これが先ほど表示されたHTMLファイルになります。したがって、このファイルを変更すると表示される内容も変わります。

 

 

以下では実際に公開するwebサーバーの設定をしていきます。

 

設定ファイルは /etc/nginx/sites-available ディレクトリに公開するサーバー(今回はsample.net)ごとに作成します。

 

cd /etc/nginx/sites-available

touch sample.net

 

設定ファイル名はsample.netとしていますが、ご自身でわかりやすい名前を付けていただいて構いません。

続いてデフォルトのサーバー(想定外のアクセス用)の設定ファイルも作成しておきます。

 

touch server_default

 

ファイルの所有者を変更します。

 

chown (ユーザー名) sample.net

chown (ユーザー名) server_default

 

sample.net, server_defaultそれぞれの中身を書いていきます。

 

(sample.netファイル)

server {
        listen 80; 

        server_name sample.net; # ①   

        root /usr/share/nginx/html; # ②


        location /static { # ③
                alias /usr/share/nginx/html/static;
        }

}

 

(server_default中身)

server {
        listen 80 default_server;
        server_name _;
        return 444;
}

 

上記①には公開するサーバーのドメイン名を記載します。

IPアドレスドメインの対応付けがまだされていない場合、①のドメイン名の箇所にはIPアドレスを以下のように指定します。

server_name xxx.xxx.xxx.xxx; # サーバーのIPアドレス

 

上記③はhttp://(ドメイン名)/static/でアクセスがあった場合にhtmlファイルを探す場所を指定します。

 

上記②ですが、先ほどNginxのデフォルトの設定ファイル /etc/nginx/sites-available/default 内には

root /var/www/html;

と記載がありましたが、一般にNginxではこのディレクトリを/usr/share/nginx/html に変更する場合が多いので、sample.netファイルでもそのように記載しています(デフォルトの設定ファイルは後ほどsites-enabledから無効にしますので変更する必要はありません)。

 

/usr/share/nginx/htmlディレクトリを作成し、所有者を変更します。

 

sudo mkdir -p /usr/share/nginx/html/static

sudo chown /usr/share/nginx/html/static

 

作成した設定ファイル sample.net と server_defaultを有効にするため、sites-enabledディレクトリ直下に作成したファイルへのシンボリックリンクを作成します。

 

sudo ln -s ./server_default ../sites-enabled/server_default

sudo ln -s ./sample.net ../sites-enabled/sample.net

 

デフォルトの設定ファイルは無効にします。

sudo unlink ../sites-enabled/default

 

 

これで(最低限の)設定が終わりです。sample.netのrootで指定した/usr/share/nginx/html/static ディレクトリに移動し、公開するhtmlファイルを作成します。

 

cd /usr/share/nginx/html/static

touch mypage.html

vim mypage.html

 

(中身サンプル)

<!DOCTYPE html>
<html lang="ja">
  <head>
    <meta charset="UTF-8">
    <title>タイトルサンプル</title>
  </head>
  <body>
    <h1>サンプルページだよ!</h1>
  </body>
</html>

 

htmlファイルを作成したら、Nginxサービスを再起動して http://sample.net/static/mypage.html にアクセスしてみましょう。

 

sudo nginx -s reload

 

html表示サンプル



上のようなページが表示されればOKです。

 

参考:

Nginx公式サイト