LoginSignup
44
53

More than 5 years have passed since last update.

Cento7にphp-fpmをインストールし、nginxと連携する

Last updated at Posted at 2016-05-29

今回やろうとしていることが、
CentOS7 + PHP7 + nginx + MariaDB + Drupal8
の環境構築です。

CentOS7はいつものVirtualBox + Vagrantでスムーズに成功。
PHP7もネットからの情報はどの情報でもほぼ一緒だったのでスムーズに成功。
ところが、nginxのインストールとPHPとの連携でパパッとは行かなかったのでここでおまとめします。

※yumのリポジトリはepelとremiを追加してある状態です。
http://qiita.com/inakadegaebal/items/b57cf10339978d638305

nginxのインストール

ネットの他の情報ではepelリポジトリを明示的に指定するのが多数でしたが、普通に以下でも行けました。

# yum install nginx

nginx.confの場所

vi /etc/nginx/nginx.conf

PHPとnginxとの連携

いよいよPHPとnginxとの連携になります。
Apacheとそんな変わらないだろうと思い、いざやろうとしたら、php-fpmのインストールが必要でした。
PHPとWebServerの連携を
Apacheの場合、モジュール版かCGI版どちらかの連携方法ができ
nginxの場合、CGI版でしか方法がなかった(あるいはメジャー)のです。
違いについては以下の記事がわかりやすいと思います。
http://qiita.com/kotarella1110/items/634f6fafeb33ae0f51dc

php-fpmのインストール

# yum install --enablerepo=remi,remi-php70 php-fpm

www.confの場所

vi /etc/php-fpm.d/www.conf

PHPとnginxとの連携。その2

正確にはnginxとphp-fpmとの通信になります。その通信方法でメジャーな方法TCPかUNIXドメインソケットのどちらかですが、
ここではもっと早いと言われているUNIXドメインソケットのやり方で進めます。

php-fpmの設定

/etc/php-fpm.d/www.conf
user = nginx
group = nginx

listen = /var/run/php-fpm/php-fpm.sock

listen.owner = nginx
listen.group = nginx

nginxからphp-fpmを実行する際は「nginx」ユーザーになるので、実行ユーザーをnginxにします。
listenに指定したファイルはphp-fpmの起動時に生成されます。

# systemctl start php-fpm
# systemctl enable php-fpm

スタートとOS再起動時にも備えて登録しておきます。

nginxの設定

/etc/nginx/nginx.conf
    server {
        location ~ .php$ {
            fastcgi_pass unix:/var/run/php-fpm/php-fpm.sock;
            fastcgi_index index.php;
            fastcgi_param SCRIPT_FILENAME $document_root/$fastcgi_script_name;
            include fastcgi_params;
        }
    }

serverという部分の中に上記を追加してくだだい。

# systemctl start nginx
# systemctl enable nginx

スタートとOS再起動時にも備えて登録しておきます。

phpファイル作成

nginxのDefaultDocumentRootは「/usr/share/nginx/html」になっています。
修正する場合は「/etc/nginx/nginx.conf」を中身を適宜修正しましょう。

/usr/share/nginx/html/test.php
<?php phpinfo(); ?>
44
53
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
44
53