lighttpdとphp5-fpm

どうも、「fast-cgi」との相性なのかプロセスは生きているけど、
ブログにアクセス出来なくなることがありました。
なので、「fast-cgi」の代わりに「php5-fpm」を使うことにしました。


1)php5-fpmのインストール

リポジトリには無いので、ここからパッケージを頂くことにしましたw

# cd /tmp
# wget http://ppa.launchpad.net/brianmercer/php/ubuntu/pool/main/p/php5/php5-fpm_5.3.2-1ubuntu4.7ppa5~lucid1_amd64.deb

# dpkg -i php5-fpm_5.3.2-1ubuntu4.7ppa5~lucid1_amd64.deb

名前を変えましょ

# cd /etc/php5/fpm/
# cp php5-fpm.conf.dpkg-new php5-fpm.conf
# mv /etc/init.d/php5-fpm.dpkg-new /etc/init.d/php5-fpm

依存関係を解消しましょ

# apt-get install  libevent-1.4-2

2)php5-fpmとLighttpdの設定

ポートを使う方法」と「ソケットを使う方法」があります。
(ソケットの方が、速いです。。。)

a)ポートを使う場合
php5-fpmの設定

# vi /etc/php5/fpm/php5-fpm.conf

;listen = /var/run/php5-fpm.sock
listen = 127.0.0.1:9000
 

lighttpdの設定ファイルを書きます。

# vi /etc/lighttpd/conf-available/php5-fpm.conf

server.modules += ("mod_fastcgi")
fastcgi.server = ( ".php" =>
  ( "localhost" =>
    (
      "host" => "127.0.0.1",
      "port" => "9000"
    )
  )
)

設定ファイルを「conf-available」から「conf-enabled」にリンクを貼ります。

# ln -s /etc/lighttpd/conf-available/php5-fpm.conf /etc/lighttpd/conf-enabled/php5-fpm.conf

b)ソケットを使う場合
php5-fpmの設定

# vi /etc/php5/fpm/php5-fpm.conf

listen = /var/run/php5-fpm.sock
;listen = 127.0.0.1:9000
 

lighttpdの設定ファイルを書きます。

# vi /etc/lighttpd/conf-available/php5-fpm.conf
server.modules += ("mod_fastcgi")
fastcgi.server = ( ".php" =>
  ( "localhost" =>
    (
      "socket" => "/var/run/php5-fpm.sock"
    )
  )
)

設定ファイルを「conf-available」から「conf-enabled」にリンクを貼ります。

# ln -s /etc/lighttpd/conf-available/php5-fpm.conf /etc/lighttpd/conf-enabled/php5-fpm.conf

3)最終設定と起動

必要ないモジュールを使わないようにしないと、エラーを出してしまいます。
あとは、「php5-fpm」、「lighttpd」を起動します。

# lighty-disable-mod fastcgi
# /etc/init.d/php5-fpm start
# /etc/init.d/lighttpd start

4)確認

php5-fpm」がきちんと動いているかを確認します。

ポートを使った場合は、

# netstat -an |grep 9000
tcp        0      0 127.0.0.1:9000          0.0.0.0:*               LISTEN  

ソケットを使った場合は、

# ls  /var/run/php5-fpm.sock
/var/run/php5-fpm.sock

まだ、移行したばかりなので結果はわかりません。
落ちなくなれば良いけど。。。

[tegaki]チューニングはボチボチ[/tegaki]

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です

Enter code * Time limit is exhausted. Please reload CAPTCHA.

This site uses Akismet to reduce spam. Learn how your comment data is processed.