php-fpm + nginx

fpm socket or tcp

http://lowendtalk.com/discussion/7289/nginx-php-fpm-unix-socket-or-tcp-ip-for-fastcgi-pass

https://github.com/perusio/php-fpm-example-config

5.3.8まではtcpのほうが良い?

http://wiki.nginx.org/PHPFcgiExample

/etc/php-fpm.d/www.conf

php 5.4.19なので
tcpをsocketにしてみる。
; listen = 127.0.0.1:9000
listen = /var/run/php-fpm/www.socket

apacheをnginxに変更
user = nginx
; RPM: Keep a group allowed to write in log dir.
group = nginx

# /etc/init.d/php-fpm start
Starting php-fpm: [ OK ]
でエラーが出なければOK
* phpのいろいろ更新したのでエラーが出た、ライブラリを再構築しました。

/etc/nginx/fastcgi_params

fastcgi_param  SCRIPT_FILENAME    $document_root$fastcgi_script_name;
fastcgi_param  PATH_INFO          $fastcgi_path_info;

を追加。

適当にnginxのconfigを書いて試す。

server {
 listen       82;
 root /home/www/web_api;

 access_log   /var/log/nginx/www.access.log  main;
 error_log   /var/log/nginx/www.error.log;
 location / {
#    rewrite .* index.php last
   fastcgi_pass unix:/var/run/php-fpm/www.socket;
   fastcgi_index index.php;
   include fastcgi_params;
 }
}

とりあえず test.phpを置いてアクセスしてみる
wet http://127.0.0.1:82/test.php

array (
 ‘USER’ => ‘nginx’,
 ‘HOME’ => ‘/var/cache/nginx’,
 ‘FCGI_ROLE’ => ‘RESPONDER’,
 ‘QUERY_STRING’ => ”,
 ‘REQUEST_METHOD’ => ‘GET’,
 ‘CONTENT_TYPE’ => ”,
 ‘CONTENT_LENGTH’ => ”,
 ‘SCRIPT_FILENAME’ => ‘/home/www/web_api/test.php’,
 ‘PATH_INFO’ => ”,
 ‘SCRIPT_NAME’ => ‘/test.php’,
 ‘REQUEST_URI’ => ‘/test.php’,
 ‘DOCUMENT_URI’ => ‘/test.php’,
 ‘DOCUMENT_ROOT’ => ‘/home/www/web_api’,
 ‘SERVER_PROTOCOL’ => ‘HTTP/1.0′,
 ‘GATEWAY_INTERFACE’ => ‘CGI/1.1′,
 ‘SERVER_SOFTWARE’ => ‘nginx/1.2.7′,
 ‘REMOTE_ADDR’ => ‘127.0.0.1’,
 ‘REMOTE_PORT’ => ‘43512’,
 ‘SERVER_ADDR’ => ‘127.0.0.1’,
 ‘SERVER_PORT’ => ’82’,
 ‘SERVER_NAME’ => ”,
 ‘REDIRECT_STATUS’ => ‘200’,
 ‘HTTP_USER_AGENT’ => ‘Wget/1.12 (linux-gnu)’,
 ‘HTTP_ACCEPT’ => ‘*/*’,
 ‘HTTP_HOST’ => ‘127.0.0.1:82′,
 ‘HTTP_CONNECTION’ => ‘Keep-Alive’,
 ‘PHP_SELF’ => ‘/test.php’,
 ‘REQUEST_TIME_FLOAT’ => 1377949542.8223,
 ‘REQUEST_TIME’ => 1377949542,
)

といちお動いたようです。

ソケットの名前を間違えていたときに
HTTP request sent, awaiting response… 502 Bad Gateway
2013-08-31 20:48:41 ERROR 502: Bad Gateway.
とエラー。 nginxのerror.logに出ているので見たらわかります。

あとrerwiteルールを確認して試験運用してみます。

This entry was posted on 土曜日, 8月 31st, 2013 at 1:50 PM and is filed under nginx, php. You can follow any responses to this entry through the RSS 2.0 feed. Both comments and pings are currently closed.

Unityによるゲームを公開しております iOS/Android
https://itunes.apple.com/jp/app/lost-knight-3d-action/id900917032
https://play.google.com/store/apps/details?id=com.groundroad.runknight

各種開発支援・機能開発等小さいお仕事などもお請けしております。
unity開発支援, PHPシステム開発, javascript/html5 フロント開発, titanium mobileアプリ開発
お気軽にお問い合わせください
大崎・五反田近郊での対面でのお打ち合わせはいつでも可能です。