まずはnginxのインストール。
$ brew options nginx nginx --with-passenger Compile with support for Phusion Passenger module --with-webdav Compile with support for WebDAV module
今回はどちらもいらないので普通に brew install nginx で設定をいじる。
$ cd /usr/local/etc/nginx $ vim nginx.conf
#user nobody; worker_processes 1; #error_log logs/error.log; #error_log logs/error.log notice; #error_log logs/error.log info; #pid logs/nginx.pid; events { worker_connections 1024; } http { include mime.types; default_type application/octet-stream; #log_format main '$remote_addr - $remote_user [$time_local] "$request" ' # '$status $body_bytes_sent "$http_referer" ' # '"$http_user_agent" "$http_x_forwarded_for"'; #access_log logs/access.log main; sendfile on; #tcp_nopush on; #keepalive_timeout 0; keepalive_timeout 65; #gzip on; include /usr/local/etc/nginx/sites-enabled/*; }こうしておいた
$ mkdir sites-enable $ mkdir sites-available
このディレクトリ必要なの?って思ったけど、シンボリックリンクの作成/削除で複数ファイルの管理ができるよってことなんですね。なんかかっこいいですね。
で、availableの方に…
$ vim sites-available/localhost server { listen 8080; server_name localhost; root /Users/kozo/Web/nginx/localhost/public; access_log /Users/kozo/Web/nginx/localhost/logs/access.log; error_log /Users/kozo/Web/nginx/localhost/logs/error.log warn; location / { index index.html index.htm index.php; } location ~ \.php$ { include fastcgi_params; fastcgi_pass 127.0.0.1:9000; fastcgi_index index.php; fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name; } }
とした。
続いてphpのインストール。
$ brew options https://raw.github.com/ampt/homebrew/php/Library/Formula/php.rb php --with-mysql Include MySQL support --with-pgsql Include PostgreSQL support --with-mssql Include MSSQL-DB support --with-fpm Enable building of the fpm SAPI executable --with-apache Build shared Apache 2.0 Handler module --with-intl Include intl extension --with-readline Include readline extension
適当にオプション付けて
$ brew install https://raw.github.com/ampt/homebrew/php/Library/Formula/php.rb --with-mysql --with-pgsql --with-fpm --with-intl --with-readline
そしたらエラー!
ココでも見てなんとかしろや的なこと言われたので見てみる
https://github.com/mxcl/homebrew/wiki/checklist-before-filing-a-new-issue
brew updateか。
$ brew update
またエラー。というかgitのリポジトリでconflict的なことが起きてるのかな?
$ cd /usr/local/ $ git fetch origin/master $ git reset --hard origin/master $ brew update Already up-to-date.
OK! phpのインストール出来ました。 このままだとcliがMacにプリインストールされてる方を見ちゃうので
$ vim ~/.bash_profile $ export PATH="$(brew --prefix)/bin:$PATH"
上記を追加しました。
$ php -v PHP 5.3.10 (cli) (built: Apr 16 2012 17:15:01) Copyright (c) 1997-2012 The PHP Group Zend Engine v2.3.0, Copyright (c) 1998-2012 Zend Technologies with Xdebug v2.1.2, Copyright (c) 2002-2011, by Derick Rethans
よし。で、fpmの起動用plist作成
$ vim ~/Library/LaunchAgents/php-fpm.plist
<?xml version='1.0' encoding='UTF-8'?> <!DOCTYPE plist PUBLIC "-//Apple Computer//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd" > <plist version='1'> <dict> <key>Label</key><string>org.php.php-fpm</string> <key>ProgramArguments</key> <array> <string>/usr/local/sbin/php-fpm</string> <string>--fpm-config</string> <string>/usr/local/Cellar/php/5.3.10/etc/php-fpm.conf</string> </array> <key>Debug</key><false/> <key>RunAtLoad</key><true/> <key>KeepAlive</key><false/> <key>UserName</key><string>kozo</string> </dict> </plist>
※.plistの拡張子付けないと後のlaunchctl loadで怒られました
php-fpm起動!
$ launchctl load -w ~/Library/LaunchAgents/php-fpm.plist
最終確認
$ cd ~/Web/nginx/localhost/public/ $ vim index.php <?php echo 'Hello' ?>
と書いて http://localhost:8080/ を開いて Hello でました! 思ってたより簡単だったけどちょっと戸惑った。
参考にしたサイト
- http://aoyagikouhei.blog8.fc2.com/blog-entry-195.html
- http://d.hatena.ne.jp/YuhoYo/20110528/1306547056
- http://labs.uechoco.com/blog/2011/12/php-homebrew-how-to-compile-intl-enabled-php.html
- http://www26.atwiki.jp/nginx/pages/13.html
- http://www.1x1.jp/blog/2011/05/yum_install_nginx_php-fpm.html
※追記 2012/04/17
再起動はこうすればいいらしい:
$ sudo nginx -s stop && sudo nginx
0 コメント:
コメントを投稿