macOSにnginxをインストールし、ドキュメントルートを変更

2023/09/19 (火) - 00:00 Server

連休中部屋の掃除をしていたら、クローゼットの奥から使っていないiMacが発掘されました。処分しようと思って仕舞っておいたのを忘れていました(仕舞うなよ)。せっかくiMacが発掘されたので、試しにWebサーバのnginx(エンジンエックス)を入れて開発環境として再利用してみます。ンギックスじゃないよ。

macOSはデフォルトでApacheのWebサーバは入っていますが、nginxは入っていません。開発兼・検証がてら入れてみるのは楽しそう★

Homebrewのインストール

まだmacOS入れたばかりで、ほぼまっさらなMacだったので、macOSのパッケージ管理ツールであるHomebrewからインストールします。

$ brew --version

ターミナルで上記のコマンドをして、バージョンが返ってくればインストールは不要。もしない場合はHomebrewのサイトに掲載されているコマンドをコピーして、macOSのターミナルで実行すれば基本的にはOKです。

インストール中はたくさんのメッセージが表示されますが、終わるまでそのまま待ちます。

nginxのインストール

Homebrew経由でnginxをインストール。以下のコマンドをタイプして実行します。

$ brew install nginx

しばらくするとインストールが終わると思います。途中のメッセージの中に

〜中略〜
Docroot is: /usr/local/var/www
〜中略〜
The default port has been set in /usr/local/etc/nginx/nginx.conf to 8080 so that
nginx can run without sudo.

といった記述が有ると思うので控えておきましょう。nginxのドキュメントルートや設定ファイルの場所になります。最後に以下のコマンドをタイプしnginxが正常にインストールされているか確認します。

$ nginx -v
nginx version: nginx/1.25.2

現時点での最新版のnginxがインストールされました。それではnginxを起動します。

$ sudo service nginx start

正常に起動したら、Webブラウザで http://localhost:8080/ へアクセスします。

nginxインストールチェック

正常に画面が表示されていれば成功です。

ドキュメントルートを変更する

次に、ドキュメントルートを変更してみます。デフォルトでは /usr/local/var/www がドキュメントルートですが、わかりやすいパスに変更してみます。先程提示された設定ファイルをvi等のエディタで開き以下のように編集します。このとき予め任意のWebディレクトリと表示させるindex.htmlを用意しておきます。

$vi /usr/local/etc/nginx/nginx.conf

設定ファイル(nginx.conf)の中身です。server→locationの中のrootと記述された設定の後ろのパスを、予め作成していたWebディレクトリのパスに書き換えます。

〜中略〜
server {
listen 8080;
server_name  localhost;
location / {
#root   html; ←コメントアウトする
root /Users/nyarupi/www; #←新しいドキュメントルート
index  index.html index.htm;
}
〜中略〜

上記を保存をし、以下のコマンドで設定ファイルにエラーがないかチェックします。もしエラーが出た場合警告が出た行に記述ミスがないか確認しましょう。

$ nginx -t

問題がないようであれば、nginxを再起動させ設定ファイルを読み込み直します。以下で設定ファイルを再読込します。

$ sudo nginx -s reload

正常にドキュメントルートが切り替わりました。

nginxのドキュメントルートを変更

同じネットワーク内の別の端末からアクセスする

同じネットワーク内(Wi-Fi等)にある他のマシンやスマホから、このnginxのWebサーバにアクセスできるかチェックします。

$ ifconfig

ifconfigなどでnginxを入れたマシンのプライベートIPアドレスをチェックします(192.168.xxx.xxx等)。

同じネットワーク(Wi-Fi等)で繋がっているマシンやスマホ端末のブラウザから提示されたローカルIPアドレスを使い、Webブラウザから http://192.168.???.???:8080 と打つと、スマホなどからもnginxのWebサーバに接続できます。ただし、ネットワーク外に出たりスマホのWi-Fiをオフにすると繋がらなくなる点を注意ください。以下はiPhoneからmacOSのnginxのWebサーバにアクセスしたときの画面です。

他の端末からアクセス

最後に、nginxのWebサーバーを止める場合は

$ sudo nginx -s stop

とコマンドすると、nginxが停止してWebサーバーが停止します。少なからずリソースを消費してしまうので、検証が済んだら停止しておきましょう。

おしまい

タグ:

記事をシェアする

  • facebookでシェアする
  • twitter(X)でシェアする
  • LINEでシェアする
  • はてなブックマークでシェアする
  • Pocketでシェアする
  • Pinterestでシェアする

トラックバック & ピンバック

この記事へのトラックバックURI
https://weblog.walk-life.me/macos_nginx_network/trackback/

コメント

コメントは下記からどうぞ

ページの先頭へ