CentOS7+nginxでPHPを利用する方法(PHP-FPM)
2017/01/31
こんにちは、okutani(@okutani_t)です。前回の「CentOS7にnginxを導入&初期設定まとめ | vdeep」という記事で、CentOS7にnginxを導入して動かす、までをおこないました。
今回は、PHP-FPMを導入して「CentOS7+nginxでPHPを利用する」までを紹介します。
cakePHPやLaravelなどのフレームワークをnginxで動作させたいときは、このPHP-FPMの導入はほぼ必須です。本記事を参考にしてぜひ導入してみてください。
では、さっそくPHP-FPMを導入していきましょう。
スポンサーリンク
PHP-FPMの導入
nginx上でPHPを動かすために、PHP-FPMを導入していきましょう。
すでにPHPが導入されている場合は「$ sudo yum install php-fpm」などで導入できるかと思いますが、今回は「CentOS7にPHP5.6を導入する方法 | vdeep」の手順に従って、PHP5.6とremiリポジトリを使って導入しました。
以下コマンドでPHP5.6を導入。
$ sudo yum -y install epel-release
$ sudo rpm -ivh http://rpms.famillecollet.com/enterprise/remi-release-7.rpm
$ sudo yum -y install --enablerepo=remi,remi-php56 php
PHP-FPMを導入。PHP-FPM以外のPHP Extensionも導入しています。いる・いらないの判断は各自でおこなってみてください。
$ sudo yum -y install --enablerepo=remi,remi-php56 php-fpm php-opcache php-devel php-mbstring php-mcrypt php-mysqlnd php-phpunit-PHPUnit php-gd php-pecl-xdebug php-pecl-xhprof
導入確認。
$ which php-fpm
/usr/sbin/php-fpm
これでCentOS7にPHP-FPMが導入できました。
PHP-FPMの初期設定
PHP-fmpはデフォルトではApachが使われるようになっているので、「/etc/php-fpm.d/www.conf」を次のように修正します。
$ sudo vi /etc/php-fpm.d/www.conf
user = apache #23行目あたり
↓
user = nginx
group = apache #25行目あたり
↓
group = nginx
default.confの設定
nginxの設定ファイル「/etc/nginx/conf.d/default.conf」を次のように書き換えます(もしくは「/etc/nginx/sites-avarable/」などに.confファイルを各自作成してもよい)。
server {
listen 80;
server_name localhost;
root /usr/share/nginx/html;
index index.php index.html index.htm;
location ~ \.php$ {
root /usr/share/nginx/html;
fastcgi_pass 127.0.0.1:9000;
fastcgi_index index.php;
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
include fastcgi_params;
}
}
上記設定では、ファイル名が.phpかどうかで分岐しています。
PHP-FPMを起動&自動起動設定。
$ sudo systemctl start php-fpm
$ sudo systemctl enable php-fpm
確認用のphpファイルを作成しておきましょう。下記のようにターミナルから作成していますが、viで作成してもOKです。
$ echo '<?php phpinfo();' | sudo tee /usr/share/nginx/html/index.php」
nginxを再起動して設定を反映。
$ sudo systemctl restart nginx
「http://localhost/index.php」にアクセスして、次のような画面が表示されれば、nginxからPHPが利用できていることが確認できます。
無事にCentOS7+nginxでPHPを動かすことができました。
CentOS7+nginxでPHPを利用したい方の参考になれば幸いです。
Web開発のお仕事を募集しています
フリーランスのエンジニアとして、Webシステム開発のお仕事依頼を随時募集しています(現在の業務量によってお受けできない場合もあります)。
「Ruby on Rails」「JavaScript(jQuery, Reactなど)」「HTML + CSS」を用いたシステム開発、「Heroku」等を用いたサーバー構築・運用、「Git」や「GitHub」を利用したソーシャルコーディングなどに対応しています。
ご依頼を検討している方は、下記リンク本ブログからのお問い合わせ、もしくはokutaniのポートフォリオからご連絡ください。
LINKお問い合わせ
スポンサーリンク