今回は、apache + FastCGI(mod_fastcgi) + PHP-FPM でphpを動かしてみます。
以前の以下の記事が基本になります。
- apache で phpのモジュール版とcgi版の切り替えを行ってみる
- apache の FastCGI(mod_fcgid) で phpを動かしてみる
- Nginx でPHPを動かす(php-fpmをバイナリパッケージ(rpm)を作成し、インストールする) [PHP5.2系の場合]
- Nginx + php-fpm でWordPressを動かしてみる
nginx + PHP-FPM でphpを動かしてみるのは、先の記事でもやりました。
今回は、apacheでPHP-FPMを使いたいと考えました。
それは、apache の FastCGI(mod_fcgid) で phpを動かしてみるの記事で、mod_fcgid を使ってFastCGIを使うもPHPのキャッシュ機能で人気のAPCがあまり機能しないのは、先の記事でも指摘しました。
その問題を解消するには、mod_fcgidでphp-cgiのプロセスを管理するのではなく、PHP-FPMにやらせることでAPCを有効活用できると考えてみたわけです。
そこで、
mod_fcgid + PHP-FPM という組み合わせを考えてみると、いずれもphp-cgiのプロセスを管理しようとするわけですから、うまくいきません。
そんなときは、mod_fcgidのかわりにmod_fastcgiを使うとうまくいきます。
ここでは、apache + FastCGI(mod_fastcgi) + PHP-FPM でphpを動かしてみます。
- 目次
- 履歴
2011年10月28日 初版
apacheのmod_fastcgiをインストールしましょう
apacheのFastCGIのためのモジュール mod_fastcgi をインストールします。
mod_fastcgiは、mod_fcgidと異なり、サードパーティのモジュールになります。
CentOS、Scientific LinuxなどのRedHat系のLinuxでは、正式なリポジトリからrpmは提供されていませんが、Repoforge(RPMforge)から提供されています。
そのため、ここでは、
の2つについて簡単に解説します。
Repoforge(RPMforge)からyumにてインストール方法
- Repoforge(RPMforge)のリポジトリを追加します。
$ rpm -ivh http://pkgs.repoforge.org/rpmforge-release/rpmforge-release-0.5.3-1.el6.rf.i686.rpm http://pkgs.repoforge.org/rpmforge-release/rpmforge-release-0.5.3-1.el6.rf.i686.rpm を取得中 警告: /var/tmp/rpm-tmp.TIaWS9: ヘッダ V3 DSA/SHA1 Signature, key ID 6b8d79e6: NOKEY 準備中... ########################################### [100%] 1:rpmforge-release ########################################### [100%] # yum更新作業を行っておきます。 $ yum update --enablerepo=rpmforge ...
ここでは、CentOS6 の 32bit版の例です。
詳細は、Repoforge のリポジトリを追加する を参照してください。
また、既にRepoforge(RPMforge)のリポジトリは追加・登録済の方は、次へ進んでください。
- yumを使ってmod_fastcgiをインストールします。
$ yum install mod_fastcgi --enablerepo=rpmforge Loaded plugins: fastestmirror Loading mirror speeds from cached hostfile epel/metalink | 3.0 kB 00:00 * base: ftp.iij.ad.jp * epel: ftp.iij.ad.jp * extras: ftp.iij.ad.jp * ius: ftp.neowiz.com * rpmforge: ftp.kddilabs.jp * updates: ftp.iij.ad.jp base | 3.7 kB 00:00 extras | 3.5 kB 00:00 ius | 2.2 kB 00:00 ius/primary_db | 100 kB 00:00 rpmforge | 1.9 kB 00:00 updates | 3.5 kB 00:00 Setting up Install Process Resolving Dependencies --> Running transaction check ---> Package mod_fastcgi.i686 0:2.4.6-2.el6.rf will be installed --> Finished Dependency Resolution Dependencies Resolved ================================================================================ Package Arch Version Repository Size ================================================================================ Installing: mod_fastcgi i686 2.4.6-2.el6.rf rpmforge 112 k Transaction Summary ================================================================================ Install 1 Package(s) Total download size: 112 k Installed size: 326 k Is this ok [y/N]: y Downloading Packages: mod_fastcgi-2.4.6-2.el6.rf.i686.rpm | 112 kB 00:00 Running rpm_check_debug Running Transaction Test Transaction Test Succeeded Running Transaction Installing : mod_fastcgi-2.4.6-2.el6.rf.i686 1/1 Verifying : mod_fastcgi-2.4.6-2.el6.rf.i686 1/1 Installed: mod_fastcgi.i686 0:2.4.6-2.el6.rf Complete!
これだけです。
ソースコードからmakeにてインストール方法
- 必要なパッケージがインストールされているか確認します。
$ rpm -qa|grep httpd httpd-devel-2.2.15-9.sl6.3.i686 httpd-2.2.15-9.sl6.3.i686 $ rpm -qa|grep gcc gcc-4.4.5-6.el6.i686 gcc-c++-4.4.5-6.el6.i686 libgcc-4.4.5-6.el6.i686 $
上記のようにmakeにて必要なパッケージがインストールされているか確認してください。
httpd(apache)関連であれば、
・httpd
・httpd-devel
が必要です。
gcc関連であれば、
・gcc
・gcc-c++
・libgcc
が必要です。
- mod_fastcgi のソースコードをダウンロードします。
$ wget http://www.fastcgi.com/dist/mod_fastcgi-current.tar.gz ...
上記のURLからダウンロードします。
mod_fastcgi-current.tar.gzの名前が、最新のカレントバージョンのようです。
- mod_fastcgi のソースコードを展開します。
1 2 3 4 5 6 7 8
$ cp mod_fastcgi-current.tar.gz /usr/local/src/. $ cd /usr/local/src [src]$ tar xvzf mod_fastcgi-current.tar.gz ... [src]$ cd mod_fastcgi-2.4.6/ [mod_fastcgi-2.4.6]$ cp Makefile.AP2 Makefile
- 1 行目: ダウンロードしたtarファイルをコピーします。ここでは、/usr/local/src 一般的に個別のソースファイルの置き場なので、そちらにおいています。
- 3 行目: ソースファイルを /usr/local/src の直下に展開します。
- 6 行目: mod_fastcgi-2.4.6/ というディレクトリ名は、mod_fastcgiのバージョンによって異なります。
- 7 行目: makeファイルのサンプル(Makefile.AP2)をMakefileとして使います。
- mod_fastcgi をmakeインストールします。
[ 64bit OSの場合 ]
[mod_fastcgi-2.4.6]$ make top_dir=/usr/lib64/httpd
[ 32bit OSの場合 ]
[mod_fastcgi-2.4.6]$ make top_dir=/usr/lib/httpd
展開するディレクトリのtop位置を指定し、make実行します。
続けて、インストールします。
[ 64bit OSの場合 ]
[mod_fastcgi-2.4.6]$ make install top_dir=/usr/lib64/httpd
[ 32bit OSの場合 ]
[mod_fastcgi-2.4.6]$ make install top_dir=/usr/lib/httpd
同じように展開するディレクトリのtop位置を指定し、make実行します。
ここまで、特にエラーが表示されなければモジュール mod_fastcgi は作成されているはずです。
以下のようにmod_fastcgi.soが存在することを確認しておきます。
[ 64bit OSの場合 ]
$ ls -l /usr/lib64/httpd/modules/mod_fastcgi.so -rwxr-xr-x 1 root root 206103 10月 27 15:26 2011 /usr/lib64/httpd/modules/mod_fastcgi.so $
[ 32bit OSの場合 ]
$ ls -l /usr/lib/httpd/modules/mod_fastcgi.so -rwxr-xr-x 1 root root 206103 10月 27 15:26 2011 /usr/lib/httpd/modules/mod_fastcgi.so $
apacheのmod_fastcgiの設定を行いましょう
先の手順で、モジュール mod_fastcgiは作成されましたので、ここでは、その設定を行います。
ここでは、mod_fastcgiの設定ファイルは、mod_fcgidの設定時にあわせて /etc/httpd/conf.d/fastcgi.conf で作成します。
(Repoforge(RPMforge)からインストールした際は、デフォルトのファイルが同じ名前で既に存在します。)
/etc/httpd/conf.d/fastcgi.confの編集イメージ
|
|
- 1 行目 : モジュールの読み込みを行っています。
- 3 行目 : ディレクトリの別名定義です。/var/www/fcgi-bin/ → /fcgi-bin/ として割り当てています。
- 4 行目 : FastCGI のサーバー設定を行っています。
IPアドレス : 127.0.0.1 の tcp ポート番号 : 9000 へ /var/www/fcgi-bin/php-cgi を使って処理するように依頼します。 - 5 – 6 行目 : phpファイルの動作をCGIで実行するように設定を行っています。
( 参照 : apache で phpのモジュール版とcgi版の切り替えを行ってみる )
/var/www/fcgi-bin/php-fpm というファイル自体は、存在する必要はありません。 ただし、パス(ディレクトリ)は存在しないと動作しません。さらに、Actionで定義しているCGIパスと同じディレクトリ、同じファイル名を指すように設定します。
ここでは、PHP-FPM でPHPプロセスを一括管理しますので、ここでは不要になります。削除するか、別のディレクトリへ移動しておきます。
apacheの設定を行いましょう
apacheの設定は、cgiの設定と同じです。
( 参照 : apache で phpのモジュール版とcgi版の切り替えを行ってみる )
/etc/httpd/conf/httpd.confの編集イメージ
以下は、例としてwww.example.comのサイト定義です。
|
ここで重要なのは、
Options FollowSymLinks Includes ExecCGI
を定義している点です。
もちろん、ALL指定でもOKですけど、最低限の設定を行いたい場合は、+ExecCGIなどの指定がよく使われるパターンです。
PHP-FPMをインストールしましょう
PHP-FPMをインストールしていない場合は、まずは、インストールしましょう。ここでは、PHP5.3 系のPHP-FPM をインストールしてみます。
- PHP5.2系のPHP-FPM をインストールする場合は、→ Nginx でPHPを動かす(php-fpmをバイナリパッケージ(rpm)を作成し、インストールする) [PHP5.2系の場合]
- PHP5.4系のPHP-FPM をインストールする場合は、→ php5.4系の最新版をインストールする
- PHP5.3系のあるリポジトリをインストールします。
以前の記事で
・あえてphp5.2系をインストールする(CentOS 5,CentOS 6,Scientific Linux 6)
・あえてmysql5.1系をインストールする
でも同じ作業を行いました。既に同じリポジトリをインストールされている場合は、以下の作業は一切不要です!!
$ wget http://dl.iuscommunity.org/pub/ius/stable/Redhat/5/i386/ius-release-1.0-8.ius.el5.noarch.rpm $ wget http://dl.iuscommunity.org/pub/ius/stable/Redhat/5/i386/epel-release-5-4.noarch.rpm $ rpm -Uvh *-release*rpm Preparing... ########################################### [100%] 1:epel-release ########################################### [ 50%] 2:ius-release ########################################### [100%]
64bit版は、上記のwgetで指定しているURLのi386をx86_64として同じ操作を行います。
バージョン6 系は、上記のwgetで指定しているURLの5を6として同じ操作を行います。
また、ファイル名は、
- ius-release-x-x.noarch.rpm
- epel-release-x-x.noarch.rpm
※32bit版と64bit版では、ファイル名が異なることがあります。
(以下のサイトでファイルの一覧表示が確認できます。)
[Version 5 ]
32bit版:http://dl.iuscommunity.org/pub/ius/stable/Redhat/5/i386/
64bit版:http://dl.iuscommunity.org/pub/ius/stable/Redhat/5/x86_64/
[Version 6 ]
32bit版:http://dl.iuscommunity.org/pub/ius/stable/Redhat/6/i386/
64bit版:http://dl.iuscommunity.org/pub/ius/stable/Redhat/6/x86_64/
一つ一つ確実にインストールしたいなら、以下の順番で行います。
CentOSのバージョンによっては、以下のような警告がでることがあります。
特にこの警告は、致命的な問題ではないので、先へ進みましょう。
$ rpm -Uvh epel-release-5-4.noarch.rpm 警告: epel-release-5-4.noarch.rpm: ヘッダ V3 DSA signature: NOKEY, key ID 9cd4953f 準備中... ########################################### [100%] 1:epel-release ########################################### [100%] $ rpm -Uvh ius-release-1.0-8.ius.el5.noarch.rpm 警告: ius-release-1.0-8.ius.el5.noarch.rpm: ヘッダ V3 DSA signature: NOKEY, key ID 9cd4953f 準備中... ########################################### [100%] 1:ius-release ########################################### [100%]
- 現在、インストール済のphpをアンインストールします。
- 現在のインストール済phpパッケージを確認する。
$ rpm -qa | grep php php-5.1.6-27.el5 php-common-5.1.6-27.el5 php-ldap-5.1.6-27.el5 php-cli-5.1.6-27.el5
- インストール済phpパッケージをすべて削除する。
$ yum erase php-cli php-common php php-ldap php yum remove php-cli php-common php php-ldap php Loaded plugins: fastestmirror Setting up Remove Process Resolving Dependencies --> Running transaction check ---> Package php.x86_64 0:5.1.6-27.el5 set to be erased ---> Package php-cli.x86_64 0:5.1.6-27.el5 set to be erased ---> Package php-common.x86_64 0:5.1.6-27.el5 set to be erased ---> Package php-ldap.x86_64 0:5.1.6-27.el5 set to be erased --> Finished Dependency Resolution Dependencies Resolved ========================================================================================== Package Arch Version Repository Size ========================================================================================== Removing: php x86_64 5.1.6-27.el5 installed 6.2 M php-cli x86_64 5.1.6-27.el5 installed 5.3 M php-common x86_64 5.1.6-27.el5 installed 397 k php-ldap x86_64 5.1.6-27.el5 installed 49 k Transaction Summary ========================================================================================== Remove 4 Package(s) Reinstall 0 Package(s) Downgrade 0 Package(s) Is this ok [y/N]: y Downloading Packages: Running rpm_check_debug Running Transaction Test Finished Transaction Test Transaction Test Succeeded Running Transaction Erasing : php-cli 1/4 Erasing : php-common 2/4 Erasing : php 3/4 Erasing : php-ldap 4/4 Removed: php.x86_64 0:5.1.6-27.el5 php-cli.x86_64 0:5.1.6-27.el5 php-common.x86_64 0:5.1.6-27.el5 php-ldap.x86_64 0:5.1.6-27.el5 Complete!
- 現在のインストール済phpパッケージを確認する。
- php5.3系をインストールする。
$ yum -y install php53u-cli php53u-pdo php53u-mysql php53u-common php53u php53u-cgi php53u-fpm php53u-devel php53u-gd php53u-mbstring php53u-odbc php53u-pear php53u-snmp php53u-bcmath php53u-xmlrpc php53u-tidy php53u-xml php53u-mssql php53u-soap php53u-pgsql epel/metalink | 6.3 kB 00:00 epel | 4.3 kB 00:00 epel/primary_db | 3.4 MB 00:01 ius | 2.2 kB 00:00 ius/primary_db | 43 kB 00:00 Setting up Install Process Resolving Dependencies --> Running transaction check ---> Package php53u.i686 0:5.3.8-2.ius.el6 will be installed ---> Package php53u-bcmath.i686 0:5.3.8-2.ius.el6 will be installed ---> Package php53u-cli.i686 0:5.3.8-2.ius.el6 will be installed ---> Package php53u-common.i686 0:5.3.8-2.ius.el6 will be installed ---> Package php53u-devel.i686 0:5.3.8-2.ius.el6 will be installed ---> Package php53u-fpm.i686 0:5.3.8-2.ius.el6 will be installed ---> Package php53u-gd.i686 0:5.3.8-2.ius.el6 will be installed ---> Package php53u-mbstring.i686 0:5.3.8-2.ius.el6 will be installed ---> Package php53u-mssql.i686 0:5.3.8-2.ius.el6 will be installed --> Processing Dependency: freetds >= 0.64 for package: php53u-mssql-5.3.8-2.ius.el6.i686 --> Processing Dependency: libsybdb.so.5 for package: php53u-mssql-5.3.8-2.ius.el6.i686 ---> Package php53u-mysql.i686 0:5.3.8-2.ius.el6 will be installed ---> Package php53u-odbc.i686 0:5.3.8-2.ius.el6 will be installed ---> Package php53u-pdo.i686 0:5.3.8-2.ius.el6 will be installed ---> Package php53u-pear.noarch 1:1.9.4-3.ius.el6 will be installed ---> Package php53u-pgsql.i686 0:5.3.8-2.ius.el6 will be installed ---> Package php53u-snmp.i686 0:5.3.8-2.ius.el6 will be installed ---> Package php53u-soap.i686 0:5.3.8-2.ius.el6 will be installed ---> Package php53u-tidy.i686 0:5.3.8-2.ius.el6 will be installed ---> Package php53u-xml.i686 0:5.3.8-2.ius.el6 will be installed ---> Package php53u-xmlrpc.i686 0:5.3.8-2.ius.el6 will be installed --> Running transaction check ---> Package freetds.i686 0:0.82-6.el6 will be installed --> Finished Dependency Resolution Dependencies Resolved ========================================================================================== Package Arch Version Repository Size ========================================================================================== Installing: php53u i686 5.3.8-2.ius.el6 ius 1.5 M php53u-bcmath i686 5.3.8-2.ius.el6 ius 32 k php53u-cli i686 5.3.8-2.ius.el6 ius 2.9 M php53u-common i686 5.3.8-2.ius.el6 ius 520 k php53u-devel i686 5.3.8-2.ius.el6 ius 612 k php53u-fpm i686 5.3.8-2.ius.el6 ius 1.5 M php53u-gd i686 5.3.8-2.ius.el6 ius 106 k php53u-mbstring i686 5.3.8-2.ius.el6 ius 455 k php53u-mssql i686 5.3.8-2.ius.el6 ius 39 k php53u-mysql i686 5.3.8-2.ius.el6 ius 77 k php53u-odbc i686 5.3.8-2.ius.el6 ius 48 k php53u-pdo i686 5.3.8-2.ius.el6 ius 61 k php53u-pear noarch 1:1.9.4-3.ius.el6 ius 384 k php53u-pgsql i686 5.3.8-2.ius.el6 ius 67 k php53u-snmp i686 5.3.8-2.ius.el6 ius 28 k php53u-soap i686 5.3.8-2.ius.el6 ius 139 k php53u-tidy i686 5.3.8-2.ius.el6 ius 33 k php53u-xml i686 5.3.8-2.ius.el6 ius 98 k php53u-xmlrpc i686 5.3.8-2.ius.el6 ius 51 k Installing for dependencies: freetds i686 0.82-6.el6 epel 546 k Transaction Summary ========================================================================================== Install 20 Package(s) Total download size: 9.1 M Installed size: 31 M Downloading Packages: (1/20): freetds-0.82-6.el6.i686.rpm | 546 kB 00:00 (2/20): php53u-5.3.8-2.ius.el6.i686.rpm | 1.5 MB 00:10 (3/20): php53u-bcmath-5.3.8-2.ius.el6.i686.rpm | 32 kB 00:00 (4/20): php53u-cli-5.3.8-2.ius.el6.i686.rpm | 2.9 MB 00:10 (5/20): php53u-common-5.3.8-2.ius.el6.i686.rpm | 520 kB 00:05 (6/20): php53u-devel-5.3.8-2.ius.el6.i686.rpm | 612 kB 00:04 (7/20): php53u-fpm-5.3.8-2.ius.el6.i686.rpm | 1.5 MB 00:09 (8/20): php53u-gd-5.3.8-2.ius.el6.i686.rpm | 106 kB 00:01 (9/20): php53u-mbstring-5.3.8-2.ius.el6.i686.rpm | 455 kB 00:04 (10/20): php53u-mssql-5.3.8-2.ius.el6.i686.rpm | 39 kB 00:00 (11/20): php53u-mysql-5.3.8-2.ius.el6.i686.rpm | 77 kB 00:00 (12/20): php53u-odbc-5.3.8-2.ius.el6.i686.rpm | 48 kB 00:00 (13/20): php53u-pdo-5.3.8-2.ius.el6.i686.rpm | 61 kB 00:00 (14/20): php53u-pear-1.9.4-3.ius.el6.noarch.rpm | 384 kB 00:03 (15/20): php53u-pgsql-5.3.8-2.ius.el6.i686.rpm | 67 kB 00:01 (16/20): php53u-snmp-5.3.8-2.ius.el6.i686.rpm | 28 kB 00:00 (17/20): php53u-soap-5.3.8-2.ius.el6.i686.rpm | 139 kB 00:02 (18/20): php53u-tidy-5.3.8-2.ius.el6.i686.rpm | 33 kB 00:00 (19/20): php53u-xml-5.3.8-2.ius.el6.i686.rpm | 98 kB 00:01 (20/20): php53u-xmlrpc-5.3.8-2.ius.el6.i686.rpm | 51 kB 00:00 ------------------------------------------------------------------------------------------ Total 121 kB/s | 9.1 MB 01:17 警告: rpmts_HdrFromFdno: ヘッダ V4 DSA/SHA1 Signature, key ID 9cd4953f: NOKEY Retrieving key from file:///etc/pki/rpm-gpg/IUS-COMMUNITY-GPG-KEY Importing GPG key 0x9CD4953F: Userid : IUS Community Project
Package: ius-release-1.0-8.ius.el6.noarch (installed) From : /etc/pki/rpm-gpg/IUS-COMMUNITY-GPG-KEY warning: rpmts_HdrFromFdno: Header V3 RSA/SHA256 Signature, key ID 0608b895: NOKEY Retrieving key from file:///etc/pki/rpm-gpg/RPM-GPG-KEY-EPEL-6 Importing GPG key 0x0608B895: Userid : EPEL (6) Package: epel-release-6-5.noarch (installed) From : /etc/pki/rpm-gpg/RPM-GPG-KEY-EPEL-6 Running rpm_check_debug Running Transaction Test Transaction Test Succeeded Running Transaction Warning: RPMDB altered outside of yum. Installing : php53u-common-5.3.8-2.ius.el6.i686 1/20 Installing : php53u-pdo-5.3.8-2.ius.el6.i686 2/20 Installing : php53u-cli-5.3.8-2.ius.el6.i686 3/20 Installing : php53u-5.3.8-2.ius.el6.i686 4/20 Installing : freetds-0.82-6.el6.i686 5/20 Installing : php53u-devel-5.3.8-2.ius.el6.i686 6/20 Installing : 1:php53u-pear-1.9.4-3.ius.el6.noarch 7/20 Installing : php53u-mssql-5.3.8-2.ius.el6.i686 8/20 Installing : php53u-fpm-5.3.8-2.ius.el6.i686 9/20 Installing : php53u-mysql-5.3.8-2.ius.el6.i686 10/20 Installing : php53u-odbc-5.3.8-2.ius.el6.i686 11/20 Installing : php53u-pgsql-5.3.8-2.ius.el6.i686 12/20 Installing : php53u-soap-5.3.8-2.ius.el6.i686 13/20 Installing : php53u-xml-5.3.8-2.ius.el6.i686 14/20 Installing : php53u-gd-5.3.8-2.ius.el6.i686 15/20 Installing : php53u-xmlrpc-5.3.8-2.ius.el6.i686 16/20 Installing : php53u-tidy-5.3.8-2.ius.el6.i686 17/20 Installing : php53u-bcmath-5.3.8-2.ius.el6.i686 18/20 Installing : php53u-snmp-5.3.8-2.ius.el6.i686 19/20 Installing : php53u-mbstring-5.3.8-2.ius.el6.i686 20/20 Installed: php53u.i686 0:5.3.8-2.ius.el6 php53u-bcmath.i686 0:5.3.8-2.ius.el6 php53u-cli.i686 0:5.3.8-2.ius.el6 php53u-common.i686 0:5.3.8-2.ius.el6 php53u-devel.i686 0:5.3.8-2.ius.el6 php53u-fpm.i686 0:5.3.8-2.ius.el6 php53u-gd.i686 0:5.3.8-2.ius.el6 php53u-mbstring.i686 0:5.3.8-2.ius.el6 php53u-mssql.i686 0:5.3.8-2.ius.el6 php53u-mysql.i686 0:5.3.8-2.ius.el6 php53u-odbc.i686 0:5.3.8-2.ius.el6 php53u-pdo.i686 0:5.3.8-2.ius.el6 php53u-pear.noarch 1:1.9.4-3.ius.el6 php53u-pgsql.i686 0:5.3.8-2.ius.el6 php53u-snmp.i686 0:5.3.8-2.ius.el6 php53u-soap.i686 0:5.3.8-2.ius.el6 php53u-tidy.i686 0:5.3.8-2.ius.el6 php53u-xml.i686 0:5.3.8-2.ius.el6 php53u-xmlrpc.i686 0:5.3.8-2.ius.el6 Dependency Installed: freetds.i686 0:0.82-6.el6 Complete! ここでは、必要そうなパッケージを全てインストールしています。
不必要なパッケージがあれば、削除しましょう。
- 最後にバージョンチェック
$ php -v PHP 5.3.8 (cli) (built: Oct 21 2011 12:21:29) Copyright (c) 1997-2011 The PHP Group Zend Engine v2.3.0, Copyright (c) 1998-2011 Zend Technologies
PHP 5.3.xx と出力されれば、OKですね。
PHP-FPMの設定を行いましょう
先の手順でインストールしたPHP-FPMの設定を行います。
PHP5.3 系のPHP-FPM をインストールした場合、設定ファイルは、ini形式になります。
デフォルトのファイルは、インストールした時に同時にインストールされます。
編集が必要な設定ファイルは、/etc/php-fpm.d/www.conf になります。
/etc/php-fpm.d/www.conf の編集イメージ
|
|
確認・編集すべき項目は、赤文字の箇所になります。
group = apache
PHP-FPM, apacheを起動して確認しましょう
いよいよ起動、確認です。
|
必ず、<?php echo phpinfo(); ?> でphpの環境を表示して、PHP-FPMが動作していることを確認しましょう。
PHP-FPM/CGI版
Server API : FPM/FastCGI
こんな感じで有効になっていればOKです。
|
この問題の原因は、SELinuxが影響していることがほとんどです。
|
この場合、以下のようにSELinuxを停止します。
|
[/etc/sysconfig/selinux]
|
ちょっと面倒といえば面倒ですが、実際の作業からすれば、それほど難しいものでもありませんから、すんなりやれることと思います。
ここではAPCの設定まで説明していませんが、APCの設定は、php および APC の設定を行うを参照してください。
PHP-FPM + APC でメモリの節約、高速化を図ることができます。ただ、nginxのリバースプロキシによるキャッシュには、さすがに負けますが、さくらのVPSなどメモリが限られたサーバーでapacheを使いたい場合には、1つの手段だと思います。お試しあれ。
このサイトでは、コンテンツの一部が非表示、あるいは、コメント、お問い合わせの投稿ができない、検索ができないことがあります。
2014年6月2日, 10:31 AM
apacheを高速化させようmod_fcdidとapcで失敗。ならばmod_fastcgiとapcをとみましたら、
>nginxのリバースプロキシによるキャッシュには、さすがに負けます
この一文を発見!!
自分のVPSはnginx+php-fpmでwordpressを動かしています。
さっそくリバースプロキシーの構築と検証。
土日夜遅くまでやりました。
アパッチベンチマークを試すと
単純な比較はできませんが、年間何十万も払ってるサーバーより、
月2000円の方がはやい・・・。
2014年10月18日, 9:02 PM
php5.3系のパッケージが無い場合は用意しないとだめなようだ アンインストールしてから気づいた…
2014年10月18日, 11:29 PM
リポジトリもちゃんと手順にしたがって…
うわああもうだめだあ