Nginxでサンプルページをとりあえず表示する
まずはnginxをインストールします。
sudo apt install nginx
続いてHTTPポート番号(80)を開きます。
sudo ufw allow 80
sudo ufw reload
早速Nginxの起動確認です。http://(サーバーIPアドレス)/ をブラウザから開きます。
以下のようなページが見られれば成功です。
表示された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
上のようなページが表示されればOKです。
参考: