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/
へアクセスします。
正常に画面が表示されていれば成功です。
ドキュメントルートを変更する
次に、ドキュメントルートを変更してみます。デフォルトでは /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
正常にドキュメントルートが切り替わりました。
同じネットワーク内の別の端末からアクセスする
同じネットワーク内(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サーバーが停止します。少なからずリソースを消費してしまうので、検証が済んだら停止しておきましょう。
おしまい♥
おすすめ記事
- WordPressでブログをAWS CloudFrontで配信する時のビヘイビア設定
- macOSでFTPソフトから踏み台経由でサーバーに接続する
- ngnixでドメインのwww有無を統一し、https(SSL)へリダイレクトをする
- macOSでローカルWebサーバを立ち上げ、ドキュメントルートを変更する
- Let’s Encrypt(無償SSL)のEメールによる有効期限通知終了(SSLUpdates on Let’s Encrypt Subscriber Agreement & Ending Expiration Notification)
トラックバック & ピンバック
- この記事へのトラックバックURI:
- https://weblog.walk-life.me/macos_nginx_network/trackback/