在前面我學習過了php中的mod_php模式和mode_fastcgi和php-fpm模式:地址,中大致的講述了幾種模式的區別,也明白了php-fpm是fastcgi模式的管理器。今天就來看下php如何安裝php-fpm,以及運行。 安裝 php-fpm
我的機器是centos 6.2 之前就已經安裝過了php 5.4.11,PHP在 5.3.3 之後已經講php-fpm寫入php源碼核心了。所以已經不需要另外下載了。我這裡是5.4.11所以就可以直接用。
由於我php已經安裝好了,而且之前編譯的時候沒有帶上fpm模式,所以我必須找到源碼重新編譯一下:
要想使php支援php-fpm,只需要在編譯的時候帶上 --enable-fpm 就可以了。
所以,我需要找到之前的編譯參數, 後面加上--enable-fpm ,重新編譯下就可以了。之前就講過,有2種方式可以找到之前的編譯參數: 在源碼 /lamp/php-5.4.11/中找到 config.nice,這個就是之前的編譯參數 在php.ini設定檔中找到Configure相關的配置 :
/usr/local/php/bin/php -i |grep 'Configure'
好,我們開始,找到之前的編譯參數:
[root@localhost /]# cd /lamp/php-5.4.11 & vi config.nice './configure' \ '--prefix=/usr/local/php' \ '--with-config-file-path=/usr/local/php/etc/' \ '--with-apxs2=/usr/local/apache/bin/apxs' \ '--with-mysql=/usr/local/mysql/' \ '--with-libxml-dir=/usr/local/libxml2/' \ '--with-png-dir=/usr/local/libpng/' \ '--with-jpeg-dir=/usr/local/jpeg8/' \ '--with-freetype-dir=/usr/local/freetype/' \ '--with-gd=/usr/local/gd/' \ '--with-zlib-dir=/usr/local/zlib/' \ '--with-mcrypt=/usr/local/libmcrypt/' \ '--with-mysqli=/usr/local/mysql/bin/mysql_config' \ '--enable-soap' \ '--enable-mbstring=all' \ '--enable-sockets' \
加上--enable-fpm後,重新編譯:
[root@localhost /]# cd /lamp/php-5.4.11 [root@localhost php-5.4.11]# './configure' \ '--prefix=/usr/local/php' \ '--with-config-file-path=/usr/local/php/etc/' \ '--with-apxs2=/usr/local/apache/bin/apxs' \ '--with-mysql=/usr/local/mysql/' \ '--with-libxml-dir=/usr/local/libxml2/' \ '--with-png-dir=/usr/local/libpng/' \ '--with-jpeg-dir=/usr/local/jpeg8/' \ '--with-freetype-dir=/usr/local/freetype/' \ '--with-gd=/usr/local/gd/' \ '--with-zlib-dir=/usr/local/zlib/' \ '--with-mcrypt=/usr/local/libmcrypt/' \ '--with-mysqli=/usr/local/mysql/bin/mysql_config' \ '--enable-soap' \ '--enable-mbstring=all' \ '--enable-sockets' \ '--enable-fpm' [root@localhost php-5.4.11] make && make install
啟動 php-fpm
安裝完成之後,我們嘗試著啟動:
啟動命令是:
/usr/local/php/sbin/php-fpm
報錯了:
[26-Feb-2015 15:39:55] ERROR: failed to open configuration file '/usr/local/php/etc/php-fpm.conf': No such file or directory (2) [26-Feb-2015 15:39:55] ERROR: failed to load configuration file '/usr/local/php/etc/php-fpm.conf' [26-Feb-2015 15:39:55] ERROR: FPM initialization failed
錯誤資訊說找不到 php-fpm.conf
哦,原來是php-fpm.conf還沒有,我們到 /usr/local/php/etc目錄下將php-fpm.conf.default拷貝也一份成php-fpm.conf
cd /usr/local/php/etc/ cp php-fpm.conf.default php-fpm.conf
編輯一下這個設定檔:
vim php-fpm.conf