柴ブログ

プログラミング奮闘記

初めてのNginx

はじめに

僕は現在「フィヨルドブートキャンプ」というプログラミングスクールでプログラミングを勉強中です。

bootcamp.fjord.jp

今回はそのプラクティスの中でNginxに初めて触れたので、復習もかねてまとめておきます。

Nginxとは?

Webサーバ兼リバースプロキシのソフトウェア。静的なコンテンツを提供する。

実行環境

  • さくらVPS上のサーバー
  • OS...Debian10.4

やりたいこと

  • Nginxのインストール。
  • Nginxを使ってHTMLをweb上に配信。

手順

Nginxのインストール

(1)Nginxをインストール

$ sudo apt-get install nginx

(2)最新版をインストールできるようにするため、 Nginxのサイトをリポジトリに登録する。 まずパッケージの公開鍵をダウンロードしてapt-keyで追加する。

$ wget "http://nginx.org/keys/nginx_signing.key"
$ sudo apt-key add nginx_signing.key

この時、「gnupgがないよ」みたいなエラーが出たらgnupgをインストール。

$ sudo apt install gnupg

(3)設定ファイルを開く。

$ sudo vi /etc/apt/sources.list

下記を設定ファイル内に追加。

deb http://nginx.org/packages/debian/ buster nginx
deb-src http://nginx.org/packages/debian/ buster nginx

busterの部分はDebianのバージョンにより異なるので注意。Debian10系ならコードネームはbuster。9系ならstretch。8系ならjessie。 バージョン確認は以下のコマンドを実行。

$ cat /etc/debian_version

(4)登録を反映して最新版をインストールする。

$ sudo apt-get update
$ sudo apt-get install nginx

(5)Nginxのスタート

$ sudo /etc/init.d/nginx start

ブラウザのアドレスバーにサーバーのIPアドレスを入力してアクセスしてみる。以下のような画面が表示されればOK f:id:shibaaa647:20200606153811p:plain

HTMLを配信する

HTMLファイルの置き場所を探す。 nginxの設定ファイルである/etc/nginx/nginx.confを見てみると、include /etc/nginx/sites-enabled/*;となっており、lsコマンドで確認してみる。

$ ls /etc/nginx/sites-enabled
default

と出てきたため、/etc/nginx/sites-enabled/default を開いてみるとroot /var/www/html;の記載が見つかった。 つまり、ブラウザに自身のHTMLを表示させるには、/var/www/htmlにHTMLファイルを置けば良さそう。 適当なファイルを作成し、/var/www/htmlに置く。

$ vim /var/www/html/index.sample.html

再度、ブラウザからサーバーのIPアドレスへアクセスしてみる...

自作のHTMLファイルが表示された!! これでweb上に静的コンテンツを配信できるようになった。

参考