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
内のuser
とgroup
をnginx
に変更します。
$ 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アドレス/