Debian 10 configure PHP7-fpm with Nginx

A simple tutorial shows how to install PHP7 fpm on Debian.

Add php apt repo

sudo apt -y install lsb-release apt-transport-https ca-certificates 
sudo wget -O /etc/apt/trusted.gpg.d/php.gpg https://packages.sury.org/php/apt.gpg
echo "deb https://packages.sury.org/php/ $(lsb_release -sc) main" | sudo tee /etc/apt/sources.list.d/php.list

#apt-get install php7.4-{bcmath,bz2,intl,gd,mbstring,mysql,zip}

apt-get install php7.4 php7.4-cli php7.4-cgi php7.4-fpm php7.4-gd php7.4-mysql php7.4-imap php7.4-curl php7.4-intl php7.4-pspell php7.4-sqlite3 php7.4-tidy php7.4-xmlrpc php7.4-xsl php7.4-zip php7.4-mbstring php7.4-soap php7.4-opcache libonig5 php7.4-common php7.4-json php7.4-readline php7.4-xml

While install php7.4fpm you may encounter error, you can fix it via install libsodium

// https://download.libsodium.org/libsodium/releases/

./configure
make && make check
sudo make install

Edit php-7.4 fpm

// nano /etc/php/7.4/fpm/pool.d/www.conf
; Unix user/group of processes
; Note: The user is mandatory. If the group is not set, the default user's group
;       will be used.
user = www
group = www

listen = /run/php/php7.4-fpm.sock ;;;;
listen.owner = www
listen.group = www
;listen.mode = 0660

service php7.4-fpm restart

Nginx 1.19 conf

// /usr/local/nginx/conf/vhost/xxx.conf

server {
listen 80;
  listen [::]:80;
  listen 443 ssl http2;
  listen [::]:443 ssl http2;
  ssl_certificate /usr/local/nginx/conf/ssl/xx.com.crt;
  ssl_certificate_key /usr/local/nginx/conf/ssl/xx.com.key;
  ssl_protocols TLSv1.2 TLSv1.3;
  ssl_ciphers TLS13-AES-256-GCM-SHA384:TLS13-CHACHA20-POLY1305-SHA256:TLS13-AES-128-GCM-SHA256:TLS13-AES-128-CCM-8-SHA256:TLS13-AES-128-CCM-SHA256:EECDH+CHACHA20:EECDH+A$
  ssl_prefer_server_ciphers on;
  ssl_session_timeout 10m;
  ssl_session_cache builtin:1000 shared:SSL:10m;
  ssl_buffer_size 1400;
  add_header Strict-Transport-Security max-age=15768000;
  ssl_stapling on;
  ssl_stapling_verify on;
  server_name xxx.com;
  access_log off;
  index index.html index.htm index.php;
  root /data/wwwroot/xxx.com;
  if ($ssl_protocol = "") { return 301 https://$host$request_uri; }
location ~ [^/]\.php(/|$) {
    #fastcgi_pass remote_php_ip:9000;
    fastcgi_pass unix:/run/php/php7.4-fpm.sock; ## < -- this 
    fastcgi_index index.php;
    include fastcgi.conf;
  }

}

service nginx restart