Your SlideShare is downloading. ×
Webサーバ勉強会4 nginx で php-fpm を動かしてみた
Upcoming SlideShare
Loading in...5
×

Thanks for flagging this SlideShare!

Oops! An error has occurred.

×
Saving this for later? Get the SlideShare app to save on your phone or tablet. Read anywhere, anytime – even offline.
Text the download link to your phone
Standard text messaging rates apply

Webサーバ勉強会4 nginx で php-fpm を動かしてみた

5,728
views

Published on

Published in: Technology

0 Comments
6 Likes
Statistics
Notes
  • Be the first to comment

No Downloads
Views
Total Views
5,728
On Slideshare
0
From Embeds
0
Number of Embeds
3
Actions
Shares
0
Downloads
15
Comments
0
Likes
6
Embeds 0
No embeds

Report content
Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
No notes for slide

Transcript

  • 1. nginx で php-fpm を 動かしてみた Webサーバ勉強会 #4 2011/11/11 do_aki
  • 2. do_aki (どぅーあき)• |所属| > 株式会社もしも (ドロップシッピング・アフィリエイトASP)• |仕事| > インフラ構築・運用 兼 Webアプリケーション開発・運用• |出現| > 渋谷・山手線沿線• |特性| > PHPer http://do-aki.net/
  • 3. 経緯とか• Web サーバ勉強会のお題が埋まってた• せっかくだし nginx 使って何かしたい• チューニンガソン2(10/1)で、 Mediawiki が php-fpm (5.4) でうまく動かないとか言って た
  • 4. 自分の nginx の認識• 今まで動かしたこと無かった• 軽快・設定がシンプル• シングルスレッド• イベント駆動的な? 程度の知識しか持ってない
  • 5. 結果問題ない (たぶん) ※mediawiki を動かすのは
  • 6. 環境• Scientific Linux 6.0• nginx version 1.0.9 (latest stable)• PHP version 5.4.0 beta2 (昨日 RC1でちゃったケド)
  • 7. 最初に configure./configure --prefix=/usr --sbin-path=/usr/sbin/nginx --conf-path=/etc/nginx/nginx.conf --error-log-path=/var/log/nginx/error.log --pid-path=/var/run/nginx/nginx.pid --lock-path=/var/lock/nginx.lock --user=nginx --group=nginx --with-http_ssl_module --with-http_flv_module --with-http_gzip_static_module --http-log-path=/var/log/nginx/access.log --http-client-body-temp-path=/var/run/nginx/client/ --http-proxy-temp-path=/var/run/nginx/proxy/ --http-fastcgi-temp-path=/var/run/nginx/fcgi/ --http-uwsgi-temp-path=/var/run/nginx/uwsgi/ --http-scgi-temp-path=/var/run/nginx/scgi/あらかじめ pcre-devel パッケージをインストール (たぶん openssl-devel zlib-devel)
  • 8. とりあえず試す• make & make install• $ sudo /usr/sbin/nginx• t オプションで設定ファイルチェック• SIGHUP 送ると設定再読み込み ドキュメント結構しっかりしてるね!
  • 9. ドキュメントルートが分からず 基準パスはどこ?location / { root html; index index.html index.htm;}
  • 10. ドキュメントルートが分からず 絶対パスなら確実location / { root /var/www/html; index index.html index.htm;}
  • 11. server { listen 8888; nginx.conf 80から変更 server_name localhost; location / { root /var/www/html; fastcgi_pass 127.0.0.1:9000; fastcgi_index index.php; fastcgi 用設定 include /etc/nginx/fastcgi.conf; } error_page 500 502 503 504 /50x.html; location = /50x.html { root html; }}
  • 12. 一方 php-fpm./configure --cache-file=./config.cache --with-layout=GNU --disable-debug --disable-rpath --enable-zip --enable-mbstring=ja --enable-mbregex --with-openssl --with-zlib --enable-ftp --enable-sockets --enable-sysvsem --enable-sysvshm --enable-sysvmsg --with-apxs2=/usr/sbin/apxs --enable-fpm
  • 13. php-fpm を実行• make & make install• sudo /usr/local/sbin/php-fpm• default port は 9000• make install しなくても、設定ファイルさえ正 しい場所に置いておけば動く• php-5.4.0beta2/sapi/fpm/php-fpm を実行でも 可能 (設定ファイルの場所はエラーで表示)
  • 14. mediawiki 表示• 何故か表示されない• phpinfo() を実行するだけのスクリプトは 動く• Response Header みると – Location: http://localhost:8888/...
  • 15. phpinfo を比較$_SERVER["SERVER_NAME"]apache => 192.168.29.128nginx => localhost
  • 16. Fastcgi.conf (あるいはfastcgi_params)fastcgi_param SERVER_NAME $server_name; server_name localhost;
  • 17. server { listen 8888; nginx.conf server_name 192.168.29.128; location / { root /var/www/html; fastcgi_pass 127.0.0.1:9000; fastcgi_index index.php; include /etc/nginx/fastcgi.conf; } error_page 500 502 503 504 /50x.html; location = /50x.html { root html; }}
  • 18. まとめ• nginx × php-fpm あっさり動いちゃった• むしろ、チューニンガソン2で動かなかった 理由は何だったんだ……?• 当時は aplha3 だったから?• モジュールによって?• php-fpm は EXPERIMENTAL なので、プロダク ションでは使わないようにね!
  • 19. • ありがとうございました