EC2にインストールされたnginx上で、PHP7.4を動かす方法のメモです。
Appacheと違って、少し設定が必要だったので、手順をまとめておこうと思います。
(Amazon Linux 2
での設定方法です。)
- php7.4のインストールは、こちらを参考にしてください。
nginxの設定
/etc/nginx/nginx.conf
にphpの設定を行います。
$sudovi/etc/nginx/nginx.confserver{listen80;listen[::]:80;server_name_;root/usr/share/nginx/html;#Loadconfigurationfilesforthedefaultserverblock.include/etc/nginx/default.d/*.conf;error_page404/404.html;location=/40x.html{}error_page500502503504/50x.html;location=/50x.html{}location~\.php${fastcgi_passunix:/var/run/php-fpm/php-fpm.sock;fastcgi_indexindex.php;fastcgi_paramSCRIPT_FILENAME$document_root$fastcgi_script_name;includefastcgi_params;}}
php-fpmの設定
/etc/opt/remi/php74/php-fpm.d/www.conf
にnginxと連携するための設定を行います(5箇所、設定を行います)。
$sudovi/etc/opt/remi/php74/php-fpm.d/www.confuser=nginxgroup=nginxlisten=/var/run/php-fpm/php-fpm.socklisten.owner=nginxlisten.group=nginx
sockファイル用の設定
php-fpmでは、上記の/var/run/php-fpm/php-fpm.sock
ファイルを起動時に作成します。Amazon Linux 2
では、再起動すると/var/run
ディレクトリがリセットされてしますので、起動時に/var/run/php-fpm
を自動生成するスクリプトを設定します。
$sudovi/etc/tmpfiles.d/php-fpm-run.confd/var/run/php-fpm0755rootroot
php-fpmの起動
以下のコマンドで、php-fpmを起動します。
$sudosystemctlstartphp74-php-fpm.service
php-fpmの確認
以下のコマンドで、php-fpmの状態を確認します。active(running)
となっていれば、正常に起動しています。
$sudosystemctlstatusphp74-php-fpm.service●php74-php-fpm.service-ThePHPFastCGIProcessManagerLoaded:loaded(/usr/lib/systemd/system/php74-php-fpm.service; disabled; vendor preset: disabled)Active:active(running)sinceMo2020-07-2021:13:23UTC; 36min agoMainPID:24651(php-fpm)Status:"Processes active: 0, idle: 5, Requests: 1, slow: 0, Traffic: 0req/sec"CGroup:/system.slice/php74-php-fpm.service├─24651php-fpm:masterprocess(/etc/opt/remi/php74/php-fpm.conf)├─24652php-fpm:poolwww├─24653php-fpm:poolwww├─24654php-fpm:poolwww├─24655php-fpm:poolwww└─24656php-fpm:poolwww
phpinfo()で、phpが動いているかを確認
phpinfoを呼び出すファイルを作成し、nginxのホームディレクトリ(/usr/share/nginx/html
)に配置します。
$sudoviinfo.php<?phpphpinfo(); ?>
ブラウザからアクセスし、以下の画面が表示されれば、nginx上で、phpが正常に稼働しています。
以上で、nginxとPHP7.4の連携設定は完了です。