※この記事は「Mac初心者がEl Capitanにnginx + php 環境を構築してハマったメモ その1」の続きです。
その1で各種アプリのインストールの土台が出来上がりました。
ここから様々なツールをインストールしていきます。
gitのインストール
GitHubなどで知られるバージョン管理ツールです。
$ brew install git
〜インストールに関するメッセージがずらずら出る〜
インストール後にwhich git
と入力して、実行ファイルの場所を確認しましょう。
/usr/local/bin
なら正しいパスになっています。
違っていたら「その1」のパス設定を確認してください。
$ which git
/usr/local/bin/git
nginxのインストールと起動
これもHomebrew使うので超簡単です。
$ brew install nginx
nginx自動起動
OSXではログオン時の自動起動にLaunchAgentsというものを使います。
GUIだとシステム環境設定>ユーザーとグループ>ログイン項目
がありますが、あれのCLI版だと思ってください。
LaunchAgentsは~/Library/LaunchAgents
内にある設定ファイルから起動します。
下記のコマンドで設定ファイルのエイリアスを作り、LaunchAgentsのコントローラーに読み込ませます。
$ ln -sfv /usr/local/opt/nginx/*.plist ~/Library/LaunchAgents
$ launchctl load ~/Library/LaunchAgents/homebrew.mxcl.nginx.plist
ブラウザで http://localhost:8080/ を開いてみましょう。
nginxの表示が出たらインストールは成功です。
自動起動をやめるには下記のコマンドを実行します。
$ launchctl load ~/Library/LaunchAgents/homebrew.mxcl.nginx.plist
単純にnginxを停止、再起動させたいなら下記のコマンドです。
$ sudo nginx -s stop
$ sudo nginx -s reload
ちなみに「~
」というのはユーザー毎のホームディレクトリを意味します。
ユーザー名「hoge」なら/Users/hoge
を意味します。
nginx設定
初期設定ではポート8080番、ドキュメントルートは/usr/local/var/www
になっています。
80番はOSX標準のApacheがすでに使っているので、変更可能ですが面倒なので省略します。
ドキュメントルートを/Users/hoge/www
に変更してみましょう。
設定ファイル/usr/local/etc/nginx/nginx.conf
を編集します。
〜中略〜
server {
listen 8080;
server_name localhost;
〜中略〜
location / {
root /Users/hoge/www/;
index index.html index.htm;
}
〜中略〜
保存したらnginxを再起動させます。
$ sudo nginx -s reload
上記ディレクトリに適当なファイルを置いて、ブラウザから表示できたら成功です。
PHPのインストール
Homebrewが参照するリポジトリを増やします。
$ brew tap homebrew/dupes
$ brew tap homebrew/versions
$ brew tap homebrew/homebrew-php
PHPをインストールします。
$ brew install php70
色々なサイトを見ていると brew install php56 -with-fpm
という記述がありますが、何故か上手くいかなかったのでオプション無しでやりました。
追記:PHP7について(2016.8.21)
記事掲載時ではPHP5.6系でしたが、現在はPHP7のほうが良いので書き換えました。
なお、すでにPHP5.6系を入れいてアップデートしたいという場合は、下記の記事が参考になります。
PHP自動起動
nginxと同様にログイン時に自動起動するように設定します。
$ ln -sfv /usr/local/opt/php56/homebrew.mxcl.php56.plist ~/Library/LaunchAgents/
$ launchctl load -w ~/Library/LaunchAgents/homebrew.mxcl.php56.plist
自動起動を止めるときは下記のコマンドを実行します。
$ launchctl unload ~/Library/LaunchAgents/homebrew.mxcl.php56.plist
nginxの設定
PHPをインストールしましたが、このままではブラウザから表示できません。
再びnginxの設定を編集します。
〜中略〜
location ~ \.php$ {
root /Users/hoge/www/;
fastcgi_pass 127.0.0.1:9000;
fastcgi_index index.php;
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
include fastcgi_params;
}
〜中略〜
初期設定では下記のようになっていて、そこでつまづきました。
fastcgi_param SCRIPT_FILENAME /scripts$fastcgi_script_name;
ひとまずここまでの設定でPHPの表示が出来ると思います。