どぼじょのIT学習ブログ

高専卒土木女子がIT業界を目指してお勉強。

【FJORD】Nginxを使ってみる

本日はNginxを使っていきます💪

目次

1.ドメインを取得

1-1. 無料ドメイン取得

無料のドメインが取れるということで、Freenomというサイトで.tkドメインを取得してみました😊
www.dot.tk mistyrinth.tkというドメインを取得しました。

1-2. ドメインIPアドレスを紐付け

取得したドメインを、DNS(Domain Name System)で自分のIPアドレスと紐付けました💡
.tkドメインなら、ドメインを取得するときに紐付けたいIPアドレスを入力する欄があるので、そこにIPアドレスを入力するだけでした!
つまり私の場合、さくらVPSdebianIPアドレスですね👀

2.VirtualHost用ディレクトリを作成

VirtualHostというのは、ひとつのサーバで仮想的に複数のドメインを運用する技術です。
まず、設定用のディレクトリを作成します。
mkdirコマンドで/home/demo/public_htmlというディレクトリを作成します。
続いて、作成したディレクトリの中にサブフォルダを作成します。
mkdir -p /home/demo/public_html/[ドメイン名]/{public,private,log,backup}
わたしの場合、/home/demo/public_html/mistyrinth.tkというディレクトリの中に、指定した4つのサブディレクトリが作成されました😊
f:id:mistyrinth:20181030120449p:plain

3.HTMLの作成

vimを使って/home/demo/public_html/mistyrinth.tk/publicindex.htmlというHTMLを作成します!
とりあえず適当にHTMLを書いてみます。
f:id:mistyrinth:20181030132901p:plain

4.VirtualHostの設定ファイルの作成

4-1. 設定ファイルの作成準備

次にやることは、VirtualHostの設定ファイルの作成です。今までは何かインストールすると設定ファイルが付いてきたのですが、VirtualHostは自分で作ります💪
まずは以下の2つのディレクトリを新規作成します。
/etc/nginx/sites-available
/etc/nginx/site-enabled

4-2. 設定ファイルの作成・編集

vim/etc/nginx/sites-available/[ドメイン名]を新規作成・編集します。
わたしの場合sudo vim /etc/nginx/sites-available/mistyrinth.tkになります🙂
そこに設定を書き込みます。画像でちょっと見づらいのですが、こんな内容です。
f:id:mistyrinth:20181030174537p:plain
server{ (中略) }の似たようなブロックが2つありますが、異なる点は1箇所だけです。
中身の2行目server_nameのあとのドメイン名にwww.がついているかついていないかだけですね🔍
この設定の中身は、以下のような感じです。

項目 内容 備考
listen ポート番号 httpはポート80
server_name バーチャルサーバの名前
access_log アクセスログの保存場所
erro_log エラーログの保存場所
location rootファイル、indexファイルの保存場所

4-3. 設定ファイルのリンク作成

ここまで書けたら、いよいよNginxが設定ファイルを読み込めるようにします!✨
4-1で作ったsite-enabledディレクトリに、設定ファイルのリンクを作成します。
コマンドはsudo ln -s /etc/nginx/sites-available/[ドメイン名] /etc/nginx/sites-enabled/[ドメイン名]になります。
これで、Nginxは起動時にsites-enabledディレクトリから設定ファイル(のシンボリックリンク)を読み込んでくれるそうです!
なぜ直接sites-enabledに書かないのかと思いますが、sites-availableに設定ファイルを作成して、sites-enabledにリンクを作成するというのは倣わしのようです😎
直接設定ファイルを読み込むようにしちゃうと、何か間違えた時など、不都合なことが起こりやすいんでしょうかね。

4-4. 設定ファイルの反映

作成した設定ファイルを反映させるために、もう一手間かかります。
vim/etc/nginx/nginx.confを編集し、一行追加します。
http{ (中略) }というところがあるので、その中にinclude /etc/nginx/sites-enabled/*;という一行を書き足します🖊
f:id:mistyrinth:20181030184351p:plain
書いた設定がおかしくないかチェックをします。
sudo /etc/init.d/nginx configtestを実行し、successfulが出てきたら成功です!
f:id:mistyrinth:20181030195104p:plain
成功したみたいですね!✨✨

4-4. Nginxの再起動

最後に、Nginxの再起動をします。
restartを使うとうまく再起動できないことがあるようなので、stopstartの2つを使います。
sudo /etc/init.d/nginx stop
sudo /etc/init.d/nginx start
f:id:mistyrinth:20181030182347p:plain

5.Webページを見てみる

ここまででVirtualHostの設定ができているはずなので、macchromeでページにアクセスしてみます。
f:id:mistyrinth:20181030195557p:plain
http://www.mistyrinth.tkhttp://mistyrinth.tkの両方とも、作ったHTMLが表示されました😆😆大成功です〜!

6.VirtualHostの振り返り

VirtualHostは「ひとつのサーバーで仮想的に複数のドメインを運用する技術」と言いました。
例えばわたしがmistyrinth.tkとは別にsayaka.comというドメインを取得したとします。
その場合でも今までと同様に、まずDNSIPアドレスドメインを紐付け、今までのmistyrinth.tkのところをsayaka.comに置き換えてディレクトリを作成したり、設定ファイルを書いたりすればOKということです😊

本日はここまで!