VPSに CentOS7 + Nginx + php-fpm でPHP環境を設定する方法

nginxでWordpressのようなPHPのWebアプリケーションを動作させるには
「php-fpm」
というアプリケーションを組み合わせます。

VPSがデフォルトの状態でPHPもまだインストールされていない状態と想定して説明しています。

VPSにはWebArena VPS CentOS 7.4を使用。

php-fpm入れる前にnginxをインストールしておきましょう
WebArena VPS CentOS 7.4 への Nginx mainline版 インストール

nginxインストールが完了したら、下記のようにphpをインストールします。

・remiリポジトリをインストール
# sudo yum install http://rpms.famillecollet.com/enterprise/remi-release-7.rpm

・PHPのバージョン情報を確認
# yum info php --enablerepo=remi-php73
利用可能なパッケージ
名前                : php
アーキテクチャー    : x86_64
バージョン          : 7.3.2
リリース            : 1.el7.remi
容量                : 3.2 M
リポジトリー        : remi-php73

・PHP 7.3 のインストール
--enablerepo オプションで remi リポジトリを指定、
その他phpの拡張パッケージも一緒にインストールします。
途中、公開鍵が入ってないよ!といわれますが探してくれるので聞かれたらyでリターンしてください。
# yum install --enablerepo=remi,remi-php73 php php-devel php-mbstring php-mysqlnd php-pdo php-gd

・バージョンを確認
# php --version
PHP 7.3.2 (cli) (built: Feb  5 2019 13:10:03) ( NTS )
Copyright (c) 1997-2018 The PHP Group
Zend Engine v3.3.2, Copyright (c) 1998-2018 Zend Technologies

これで、2019年2月23日時点での最新のPHPバージョンがインストールされました。

PHP-FPMをインストールします

$ sudo yum --enablerepo=remi-php73 install php-fpm

Apacheを使用する場合は特に変更の必要はないのですが、
Nginxを使用する場合は設定ファイルの変更が必要になります。
/etc/php-fpm.d/www.conf内のusergroupnginxに変更します。

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

保存したら、PHP-FPMを再起動します
$ sudo systemctl restart php-fpm

Nginxの設定を変更してPHPを実行できるようにします。
/etc/nginx/conf.d/default.conf を編集します。

・今後のためにバックアップをとっておきましょう
$ sudo cp /etc/nginx/conf.d/default.conf /etc/nginx/conf.d/defaul-backup.conf

・設定ファイルを編集 index.phpを追加
$ sudo nano /etc/nginx/conf.d/default.conf

location / {

      root   /usr/share/nginx/html;

      index index.php index.html index.htm;

}

・php-fpmの設定を有効化
default.confをさらに下にスクロールしていくと、下記のようなphp-fpmを動作させる部分がコメントアウトされているので、「#」を削除します。

   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;

    }

nginxとphp-fpmの起動

$ systemctl start php-fpm
$ systemctl start nginx

・起動時にNginxとphpが立ち上げるようにする
sudo chkconfig php-fpm on
sudo chkconfig nginx on

ブラウザから下記にアクセスしてnginxのページが表示されれば成功
http://IPアドレス/