68
Help us understand the problem. What are the problem?

More than 1 year has passed since last update.

posted at

updated at

UbuntuとNginxでウェブサーバを立てる

筆者の環境

  • Ubuntu16.04(KAGOYA VPS KVM)

Nginxって何

  • Apacheの代替となり得るWebサーバ

Apacheとの違い

  • C10Kをクリアしていて静的コンテンツを返すレスポンスが早い
    • C10Kとは・・・クライアント一万人接続問題の事
  • イベント駆動
    • 一応Apacheでもイベント駆動には出来るがNginxの方が早い

「え?今時 ApacheはC10Kクリアしてないの?」と思いましたが、Apacheの武器はそこではない様です
下記ページでわかりやすく書かれていました。

Nginxとは?Apacheとの違いについてエンジニアに聞いてみた
https://academy.gmocloud.com/qa/20160616/2761

phpやCGIを使用した動的な処理をしたい場合はApache
速度や可能アクセス数を求められる場合にはNginx
といった使い方になりそうです。
どっちも使って、お互いのデメリットを埋める事も出来るそうです。

初期ページを表示するまでの手順

1. ポート解放とNginxのインストール、起動

$ apt update

ufw(ファイアウォール)をインストール
$ apt install ufw
インストール直後はufwはファイアウォールとして指定されないためufwを有効化
$ ufw enable
「このコマンドを実行するとssh接続が切れるかも知れませんがいいですか?」と聞かれるので y を入力してEnter

sshのポートを開く
これを行わないとssh切断したあと接続出来なくなってしまいます!
$ ufw allow 22

Nginxが使用するポートを開く
$ ufw allow 80

Nginxをインストールする
$ apt install nginx

Nginxが稼働している事を確認する
$ curl localhost
curlでウェブページにアクセスすると、そのページのhtmlの内容が帰って来ます

自分のIPアドレスを確認する
$ ifconfig | grep "inet addr:"
192.168.1.xや127.0.0.1といったIPアドレスが表示されると思います
これらはローカルIPや、グローバルIPと呼ばれます。
127.0.0.1は、ループバックアドレスと呼ばれ、自分自身を表すIPアドレスとなります。

2. 実際にページを表示してみる

同じネットワーク内の他のPCからウェブサーバを利用してみます。
ブラウザを起動し、先ほど確認したローカルIP、又はグローバルIPをアドレスバーに入力します。

このような画面が表示されると思います。
スクリーンショット 2018-07-01 23.47.42.png

Nginxではこれが初期ページとして設定されています。

ページを追加、変更する

1. ドキュメントルートを確認する

$ grep "root" -r /etc/nginx/ | grep "html"
/etc/nginx/sites-available/default:     root /var/www/html;

私の場合はこう表示されました。
Nginxのバージョンなどによってパスが違う様なので、このように調べるのが確実です。
どうやらページとなるhtmlファイルが保存されているのは /var/www/html ディレクトリの様です。
ここを ドキュメントルート と呼びます。

2. ページを追加する

ドキュメントルートに移動する
$ cd /var/www/html/
新しいページのファイルを作成する、アクセスする際のページ名は「test.html」とします
$ echo "Hello World!" > ./test.html

3. 実際にページを表示してみる

他のPCからページを
同じネットワーク内の他のPCからウェブサーバを利用してみます。
ブラウザを起動し、下記のようにアドレスバーに入力します。
IPアドレス/test.html

この様な画面が表示されます。
スクリーンショット 2018-07-02 0.07.53.png
以上となります。

Apacheが気になる方はこちら

UbuntuとApacheでウェブサーバを立てる - Qiita


今回の記事ではこちらにお世話になりました。

仮想マシン(Ubuntu)にWebサーバーNginxをインストールしブラウザからWEBページを表示確認する方法
https://hajipro.com/vagrant/vagrant-ubuntu-nginx

Why not register and get more from Qiita?
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away
Sign upLogin
68
Help us understand the problem. What are the problem?