22
25

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 5 years have passed since last update.

Mac初心者がEl Capitanにnginx + php 環境を構築してハマったメモ その2

Last updated at Posted at 2015-10-13

※この記事は「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を編集します。

/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系を入れいてアップデートしたいという場合は、下記の記事が参考になります。

参考:PHP5系からPHP7に移行した。(Homebrew

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の設定を編集します。

/usr/local/etc/nginx/nginx.conf
〜中略〜
        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;
        }
〜中略〜

初期設定では下記のようになっていて、そこでつまづきました。

/usr/local/etc/nginx/nginx.conf
fastcgi_param  SCRIPT_FILENAME  /scripts$fastcgi_script_name;

ひとまずここまでの設定でPHPの表示が出来ると思います。

22
25
2

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
22
25

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?