NGINX + PHP Ubuntu 18, NGINX 1.14.0, PHP 7.2.74, PHP-FPM7.2 2019/12

インストール、最小設定から表示確認まで
•NGINXインストール
•PHPとPHP-FPMのインストール
•NGINX設定
•表示確認
NGINXのインストール
# インストール
apt install nginx
# インストール確認
nginx -v
# 起動確認(httpレスポンスを確認する。)
curl localhost
パッケージインストールの場合は自動起動が有効になっている。

NGINXの起動停止
# ステータス確認
systemctl status nginx
# 停止
systemctl stop nginx
# 起動
systemctl start nginx

PHPとPHP-FPMのインストール
# インストール
apt install php php-fpm php-mbstring

# インストール確認
php -v
php-fpm -v
PHP-FPM (FastCGI Process Manager)

PHPと一緒にapache2がインストールされる場合があり、その場合はnginxと競合するので、apache2の自動起動を無効とする。
systemctl is-enabled apache2
enabled
systemctl disable apache2
systemctl is-enabled apache2
disable

PHP-FPMの設定確認
/etc/php/7.2/fpm/pool.d/www.conf
listen.owner = www-data
listen.group = www-data
...
listen = /run/php/php7.2-fpm.sock
実行ユーザ、グループとUNIXソケットのパスを確認する。

NGINXの設定
/etc/nginx/sites-available/default
server {
  ...
  location ~ \.php$ { #コメントアウト
      ...
      include snippets/fastcgi-php.conf; #コメントアウト
      ...
      fastcgi_pass unix:/run/php/php7.2-fpm.sock; #追加
      ...
  }
  ...
}
同一サーバ上で、UNIXソケットを使用する。

NGINXとPHP-FPMの再起動
systemctl restart nginx
systemctl restart php7.2-fpm

/var/www/html/test.php (テストスクリプトの新規作成)
<?php phpinfo();
プラウザからPHPが動作していることを確認する。

PostgreSQLと連携
apt install php-pgsql
/etc/php/7.2/fpm/php.ini コメントアウトを外す
extension=pdo_pgsql
extension=pgsql
PHP-FPMの再起動
systemctl restart php7.2-fpm