ラズベリーパイでWebサーバーを動かす(nginx編)

0
5636
WEBサーバーNGINX Fabshop

よく利用されている2つのWebサーバー

Webサーバーとしてよく利用されているのはApacheとnginx(エンジンエックス)です。最も利用されているのはApacheですが、nginxは歴史が浅いものの、現在利用者が格段に増えています。その理由には以下のようなNginxの特徴があります。

Nginx(エンジンエックス)Webサーバーの特徴

nginxの大きな特徴として、処理が軽く、大量のリクエストを処理できるという点があります。また細かい設定変更を行う事でサイトのスケールなどに合わせた柔軟な設定も可能になっています。

少量のプロセスを動かすだけで大量なリクエスト処理が出来る事から、動作が軽く、同時に多数のアクセスを受ける必要があるサイトやアクセスに応じてサーバーのスケールを広げていくような場合に適しているのがnginxと言えます。

このような理由から、クラウド時代のサーバーのように自由なスケーラビリティを持つサーバーなどではnginxが搭載されるようになり、そのシェアを爆発的にふやしています。

ラズベリーパイにインストール

Raspberry Pi OSでもnginxは動かせます。早速インストールから設定までを見ていきます。インストールの際には、恒例のupdateとupgradeをお忘れなく。

$ sudo apt update

$ sudo apt upgrade

その後nginxをインストールします。

$ sudo apt install nginx

これで、インストールは完了です。

WEBサーバー(nginx)を起動するには

ローカルホストにアクセスしてみる。

インストールが完了すると、nginxはドキュメントルートと呼ばれる、公開用のウェブディレクトリを自動で作成し、テスト用のHTMLファイルを自動的にセットしてくれていますので、そのファイルにアクセスしてみましょう。

ウェブブラウザを開いて、URL入力欄に「http://localhost/」と入力してENTERを押せば以下の様に「Welcom to nginx!」と書かれたデフォルトHTMLページが表示されます。

WEBサーバー Fabshop

他のパソコンやスマートフォンからIPでアクセスしてみる

ウェブサーバーが起動していれば、同じローカルエリア内に接続されているコンピュータからは簡単にアクセスが可能です。アクセスするためには、ラズベリーパイ本体のIPアドレスを知らないといけません。ラズベリーパイのIPアドレスを調べるにはifconfigコマンドを使います。

$ ifconfig

ifconfig

今回は有線LANを使用している環境下なので、eth0にIPアドレスが表示されていますが、WiFiを利用している場合はwlan0のところに書いてあります。このIPアドレスにMacやWindows、スマートフォンなどのブラウザからアクセスすれば、nginxのデフォルト画面が表示されるはずです。

WEBサーバー Fabshop

このように表示されていれば、外部からもアクセスが可能です。同じネットワーク上ではこのようにWEBサーバーが立ち上がれば簡単にアクセスできます。

Nginxの設定を変更するには?

nginxのドキュメントルートはデフォルトで「/var/www/html」になっています。このドキュメントルートのパスを変えたり、その他WEBサーバーの設定をカスタマイズしたい場合にはエディタなどで、/etc/nginx/sites-available/default というファイルを書き換えます。

設定を変更する際は、必ずこれら設定ファイルはバックアップを取るように癖をつけておきましょう。間違った設定をしてしまった場合、正しく動作していた時の記述を忘れてしまうと2度とWEBサーバーが正常に動作しなくなる可能性があります。

また、これらサーバーの設定を変更する場合は管理者権限が必要であるため、sudoで行います。

まずは、バックアップ用コピーを作ります。

$ cd /etc/nginx/sites-available

$ sudo cp default default_backup

$ sudo nano default

静的なウェブサイトを構築する場合であれば、デフォルトのままで特に設定ファイルを変更するなどの必要はありませんが、PHPなど、WEBサーバーに機能を追加していった際にはこのファイルの設定を書き換えたり追加したりする必要がある重要なファイルになりますので覚えておきましょう。

設定を変更したら必ずWEBサーバーを再起動

設定を変更したら以下のコマンドで必ず再起動しておきましょう。

$ sudo /etc/init.d/nginx reload

現在の稼働状態を見るには?

WEBサーバー(nginx)がきちんと動作しているか、どのような状態なのかは以下のコマンドを打ち込めば見る事が出来ます。

$ sudo /etc/init.d/nginx status

WEBサーバーNGINX Fabshop

緑色でactive(running)となっていれば正常に起動し動作していることを表しています。

これでnginxが起動できました。WEB上でサービスを展開していく場合、他にもPHPやデータベースなどをインストールしてさらに実際のウェブ利用に近づけていく必要があります。

関連リンク