あなたが開発中のウェブサイトをテストするためにMacだけを使用する必要がありますか?別のサーバーや仮想マシンを構築する必要はありません。MacにNGINXをインストールすると、すぐにコンピュータ上でウェブサーバーを実行できます。
この記事を読んで、MacにNGINXをインストールして設定する方法を学びましょう。いくつかの異なるインストール方法を学び、自分に合った方法を選択できます。また、テストを開始するのに役立つ基本的な設定項目も学びます。
前提条件
このチュートリアルは実践的なデモンストレーションです。一緒に進める場合は、以下のものを用意してください:
- macOSの最新バージョン。この記事の執筆時点では、サポートされているmacOSバージョンはCatalina、Big Sur、Montereyの3つです。このチュートリアルではmacOS Big Surを使用しています。
- MacにNGINXをインストールするには、コンピュータにはXcode Command Line Toolsが必要です。これはソースからのインストールまたはHomebrewを使用してパッケージ(formula)からインストールするためです。
MacでNGINXをインストールする
MacでNGINXをインストールするには、ソースからコンパイルする方法とパッケージマネージャを使用する方法の2つがあります。ただし、どちらの方法が優れているわけではありません。選択する方法は、要件に応じて異なります。
次のセクションでは、両方のNGINXのインストール方法を学びます。
方法1:ソースからのコンパイルとインストール
ソースからNGINXをコンパイルしてインストールすると、NGINXのインストールにモジュールやセキュリティパッチを含める柔軟性があります。たとえば、ストリーミングサーバを設定する場合、リアルタイムメッセージングプロトコル(RTMP)モジュールを含めてNGINXをコンパイルすることができます。
カスタマイズ性を利用するには、より多くの手順が必要で、手動で依存関係をインストールする必要があります。 MacからソースからNGINXをインストールするためには、次の手順に従ってください。
1. Macでターミナルを開きます。
2. 次のコマンドを実行して、ホームフォルダの下に作業ディレクトリを作成します。このディレクトリには、NGINXのインストールに必要なすべてのソースファイルが含まれます。
3. 次に、以下のコマンドを実行して、最新のPerl Compatible Regular Expressions (PCRE)をダウンロード(curl
)し、展開(tar
)します。NGINXのCoreモジュールとRewriteモジュールには、PCREが必要です。この記事作成時点での最新のPCREバージョンは8.45
です。
4. 各コマンドを実行して、SSLサポートを追加するためにOpenSSLのソースをダウンロード(curl
)します。この追加は、NGINXのビルドをカスタマイズする例です。この記事作成時点での最新のOpenSSLバージョンは1.1.1m
です。
5. 要件をダウンロードした後、以下のコマンドを実行してNGINXのソースをダウンロード(curl
)および展開(tar
)します。現在の執筆時点での最新の安定版は1.20.2
です。
この時点で、以下に示すように合計で3つの新しいディレクトリが作成されます。

6. 次に、以下のコマンドを実行してNGINXをコンパイル(make
)およびinstall
します。
7. 次に、以下のコマンドを実行してNGINXのパスをシステムの$PATH
に追加し、完全なパス/usr/local/nginx
を/etc/paths
に追記します。この手順の後、完全なパスを指定せずにnginx
コマンドを実行できます。
8. CMD+Q
を押してターミナルを終了し、新しいターミナルセッションを開いて新しい $PATHS
を適用します。
9. 以下の nginx
コマンドを実行して NGINX を起動します。NGINX サーバーはインストール後に自動的に起動しないためです。
10. 最後に、NGINX が実行されていることを確認します。Web ブラウザウィンドウを開き、HTTP://localhost と入力します。以下のようなデフォルトの NGINX ウェルカムメッセージページが表示されるはずです。
ソースから NGINX をインストールすると、デフォルトのリスニングポートは 80 に設定されます。

Mac でソースから NGINX を root ユーザーとしてインストールした場合、今後発行するすべての
nginx
コマンドの前にsudo
を付ける必要があります。
方法 2: Homebrew を使用して NGINX をインストールする
Homebrew を使用して NGINX をインストールすると、より便利でミスの可能性が低くなります。この方法では依存関係が自動的にインストールされます。NGINX のインストールをカスタマイズする必要がない場合、この方法は最も迅速なオプションで、1つのコマンドのみでインストールできます!
Mac で Homebrew を使用して NGINX をインストールするには、以下の手順を実行します。
1. 新しいターミナルセッションを開きます。
2. 以下の brew
コマンドを実行して NGINX をインストールします。
Homebrew を使用して root ユーザーとして NGINX をインストールすることはできますか? – いいえ(公式にはサポートされていません)。sudo 接頭辞を付けて brew install コマンドを実行しようとすると、以下のエラーメッセージが表示されます。
「Er」または:Homebrewをルートとして実行することは非常に危険であり、もはやサポートされていません。Homebrewはインストール時に特権を降ろさないため、ビルドスクリプトにシステムへの完全なアクセス権限が与えられます。」
3. インストール後、以下のコマンドを実行してNGINXを起動します。このコマンドはNGINXをバックグラウンドデーモンとして実行します。
デフォルトでは、HomebrewはNGINXを/usr/local/Cellar/nginx/<version>にインストールし、/usr/local/opt/にシンボリックリンクを作成します。nginxバイナリは/usr/local/binにシンボリックリンクがあり、このフォルダはすでに$PATHに含まれています。
バックグラウンドサービスなしでNGINXを実行するには、代わりに以下のコマンドを実行します。このコマンドはNGINXをデーモンとして実行しないようにするグローバルディレクティブを発行します。
nginx -g “da” mon off;”
このモードでは、ターミナルでCTRL+Cを押すことでNGINXを停止できます。
4. 最後に、以下のcurl
コマンドを実行して、NGINXが正常に動作していることを確認します。
Homebrewを使用してNGINXをインストールすると、デフォルトのリスニングポートが8080に設定されます。このデフォルトのポート割り当てにより、sudoなしでnginxを実行できます。
以下のように、curlコマンドでデフォルトのNGINXウェブページがダウンロードされ、サーバーが動作していることが示されています。

テスト用のNGINXのセットアップ
これまでにNGINXをインストールしましたが、まだデフォルトの設定で動作しています。ウェブサイトのテストを開始する前に、いくつかの基本的な変更を検討する必要があります。
コンピュータの起動時にNGINXを自動的に起動させますか?テスト中のウェブサイトのファイルをどこに保存しますか?デフォルトのリスニングポートの割り当てを保持する必要がありますか?
これらは、NGINXのインストール後に設定する必要がある項目の一部です。次のセクションで設定方法を学びます。
次のセクションでは、HomebrewでインストールしたNGINXの設定ファイルの手順を示します(明示的に指示されていない場合は)。
サーバのリスニングポートのカスタマイズ
インストール方法によっては、デフォルトのリスニングポートは80または8080になります。ポート8080は、テストや開発には通常受け入れられます。ただし、他のサービスとの競合がある場合や、単に気分が変わった場合など、ポート番号を変更したい場合もあります。
どんな理由があっても、以下の手順に従ってNGINXのデフォルトのリスニングポートを変更してください。
1. 最初に、以下のコマンドを実行してNGINXが実行されていないことを確認するために、停止シグナル(-s stop
)を送信します。nginx -s stop
2. 次に、以下のnginx
コマンドを実行してNGINXの設定ファイルのパスを確認します。
以下の結果は、設定ファイルが/usr/local/etc/nginx/nginx.confにあることを示しています。

3. 好みのテキストエディタ(例:nano
)で設定ファイルを開きます。
4. 今、server {}
のブロックの中にあるlisten
行を見つけてください。以下に示すように、リスニングポートの値は8080
です。

5. この例では、listen
のポート番号を他のユニークなポート番号に変更してください。例えば、9000
に変更します。変更を保存してファイルを終了します。

6. そして、以下のnginx
コマンドを再実行して、NGINXを再起動してください。
7. 最後に、新しいブラウザウィンドウを開き、HTTP://localhost:9000に移動してください。NGINXは今、ポート9000でウェブサイトを提供するはずです。

開発ウェブディレクトリを指定する
MacでNGINXをデフォルトでインストールすると、ウェブディレクトリは/usr/share/nginx/html(ソースインストール)または/usr/local/Cellar/nginx/<version>/html(Hombrewインストール)から提供されます。
しかし、もしウェブサイトのファイルが別の場所にある場合はどうすればいいでしょうか?心配しないでください。以下の手順に従って、NGINXを開発用ウェブディレクトリに向けることができます。
1. まず、以下のコマンドを実行してNGINXを停止し、設定ファイルをテキストエディタで開きます。これは、「サーバーリスニングポートのカスタマイズ」セクション(1〜3の手順)と同じように行います。
2. テキストエディタで、server {}
ブロック内にあるroot html;
と書かれた行を検索します。

3. root
の値を編集し、カスタムフォルダに変更します。この例では、ウェブディレクトリは/Volume/DevData/testweb
にあります。変更を保存し、エディタを終了します。
この例では、テストウェブサイトはDimensionsと呼ばれる静的なウェブサイトで、HTML5 Upからダウンロードされました。このサンプルウェブサイトは、Creative Commons Attribution 3.0 ライセンスの下で無料でダウンロードして使用することができます。

4. 今度は、NGINXサーバーを再起動します。
5. 最後に、ウェブブラウザを使用してHTTP://localhost:9000のアドレスにアクセスしてください。NGINXは、スクリーンショットのように、カスタムウェブディレクトリからテストウェブサイトを提供しています。

ソースベースのインストールに対するNGINXの自動起動の有効化
選択したインストール方法に関係なく、NGINXはデフォルトでは自動的に起動しません。開発やテストでは、NGINXの自動起動は必要ないかもしれません。しかし、必要な場合は、launchd
プロセスを使用して、NGINXを起動時に実行するように設定することができます。
NGINXを自動起動するには、ソースベースまたはHomebrewベースのインストールのいずれかを有効にすることができます。ただし、このデモでは、ソースベースのインストールから始めます。
ソースベースのインストールでNGINXを自動起動するには、以下の手順に従ってください。
1. 下記のtouch
コマンドを実行して、NGINXのための新しいプロパティリスト(PLIST)ファイルを作成します。
/Library/LaunchDaemonsの場所には、ルートまたは指定したユーザーの代わりに実行されるグローバルデーモンが保存されます。ファイル名は任意のものにすることができますが、作成するデーモンの名前を含むファイル名が便利です。
2. その後、PLISTファイルを編集するために開きます。
3. 以下のコードをコピーしてテキストエディタに貼り付けます。ファイルを保存してエディタを終了します。
要するに、以下のコードは、ata.nginxという名前のデーモンを定義しています。実行するプログラムは/usr/local/nginx/sbin/nginxであり、RunAtLoadの値はコンピュータの起動時にプログラムが実行されることを意味します。
4. 最後に、以下のlaunchctl
コマンドを実行してデーモンをload
します。このコマンドはNGINXをすぐに起動します。そして、この時点からは、NGINXはコンピュータの再起動後に自動的に起動します。
NGINXの自動起動を無効にしたい場合は、以下のコマンドを実行してください。このコマンドにより、NGINXデーモンの自動起動が停止され、無効化されます。
HomebrewベースのインストールでNGINXの自動起動を有効にする方法
ソースベースのインストールとは異なり、HomebrewベースのNGINXインストールでは、NGINXの自動起動の有効化または無効化のために1つのコマンドを実行するだけで済みます。便利ですね。
以下のコマンドを実行してNGINXの自動起動を有効にしてください。 start
コマンドはNGINXを即座に起動し、起動時に登録します。
コマンドを実行すると、以下の画像と同様の出力が表示されます。

NGINXの自動起動を無効にするには、以下のコマンドを実行してください。コマンドの変更点は、start
をstop
に変更することです。このコマンドはNGINXサーバーを即座に正常に終了させます。
まとめ
以上で完了です!Mac上でNGINXをセットアップすることで、すぐにウェブサーバーをテスト用に稼働させることができます。セットアップの要件に基づいてインストールオプションを選択し、設定をプレーンテキストの設定ファイルで簡単にカスタマイズすることができます。特別なツールは必要ありません。
NGINXは単一のウェブサイトにテストおよび実行を制限しません。複数の開発ドメインとウェブサイトを同時に実行することができ、互いに干渉することはありません。また、冒険心がある場合は、MacでDocker内でNGINXを実行することもできます。