EC2にインストールされたnginx上で、PHP7.4を動かす方法のメモです。
Appacheと違って、少し設定が必要だったので、手順をまとめておこうと思います。
(Amazon Linux 2
での設定方法です。)
- php7.4のインストールは、[こちら] (https://qiita.com/Hide-Zaemon/items/08a0fe398a81f1bce656)を参考にしてください。
nginxの設定
/etc/nginx/nginx.conf
にphpの設定を行います。
$sudo vi /etc/nginx/nginx.conf
server {
listen 80;
listen [::]:80;
server_name _;
root /usr/share/nginx/html;
# Load configuration files for the default server block.
include /etc/nginx/default.d/*.conf;
error_page 404 /404.html;
location = /40x.html {
}
error_page 500 502 503 504 /50x.html;
location = /50x.html {
}
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;
}
}
php-fpmの設定 #1
/etc/opt/remi/php74/php-fpm.d/www.conf
にnginxと連携するための設定を行います(5箇所、設定を行います)。
$sudo vi /etc/opt/remi/php74/php-fpm.d/www.conf
user = nginx
group = nginx
listen = /var/run/php-fpm/php-fpm.sock
listen.owner = nginx
listen.group = nginx
php-fpmの設定 #2
/etc/nginx/conf.d/php-fpm.conf
に設定を行います。
$sudo vi /etc/nginx/conf.d/php-fpm.conf
upstream php-fpm {
server unix:/var/run/php-fpm/php-fpm.sock;
}
sockファイル用の設定
php-fpmでは、上記の/var/run/php-fpm/php-fpm.sock
ファイルを起動時に作成します。
Amazon Linux 2
では、再起動すると/var/run
ディレクトリがリセットされてしますので、起動時に/var/run/php-fpm
を自動生成するスクリプトを設定します。
$sudo vi /etc/tmpfiles.d/php-fpm-run.conf
d /var/run/php-fpm 0755 root root
php-fpmの起動
以下のコマンドで、php-fpmを起動します。
$sudo systemctl start php74-php-fpm.service
php-fpmの確認
以下のコマンドで、php-fpmの状態を確認します。
active(running)
となっていれば、正常に起動しています。
$sudo systemctl status php74-php-fpm.service
● php74-php-fpm.service - The PHP FastCGI Process Manager
Loaded: loaded (/usr/lib/systemd/system/php74-php-fpm.service; disabled; vendor preset: disabled)
Active: active (running) since Mo 2020-07-20 21:13:23 UTC; 36min ago
Main PID: 24651 (php-fpm)
Status: "Processes active: 0, idle: 5, Requests: 1, slow: 0, Traffic: 0req/sec"
CGroup: /system.slice/php74-php-fpm.service
├─24651 php-fpm: master process (/etc/opt/remi/php74/php-fpm.conf)
├─24652 php-fpm: pool www
├─24653 php-fpm: pool www
├─24654 php-fpm: pool www
├─24655 php-fpm: pool www
└─24656 php-fpm: pool www
phpinfo()で、phpが動いているかを確認
phpinfoを呼び出すファイルを作成し、nginxのホームディレクトリ(/usr/share/nginx/html
)に配置します。
$sudo vi info.php
<?php phpinfo(); ?>
ブラウザからアクセスし、以下の画面が表示されれば、nginx上で、phpが正常に稼働しています。
以上で、nginxとPHP7.4の連携設定は完了です。