Cek versi PHP lama
php -v
Install PHP 8.2 FPM dan module
sudo add-apt-repository ppa:ondrej/php -y
sudo apt update
Install FPM:
sudo apt install php8.2-fpm -y
Install module umum:
sudo apt install \
php8.2-cli \
php8.2-common \
php8.2-mysql \
php8.2-curl \
php8.2-mbstring \
php8.2-xml \
php8.2-zip \
php8.2-gd \
php8.2-bcmath \
php8.2-intl \
php8.2-redis \
php8.2-opcache -y
Cek socket PHP
ll /run/php/
Pastikan muncul:
php8.2-fpm.sock
Cari config nginx lama
grep -R "php7.4-fpm.sock" /etc/nginx/
Replace otomatis pakai sed
sed -i 's/php7.4-fpm.sock/php8.2-fpm.sock/g' /etc/nginx/sites-available/*
Jika pakai conf tambahan:
sed -i 's/php7.4-fpm.sock/php8.2-fpm.sock/g' /etc/nginx/conf.d/*
Test nginx
nginx -t
Restart service
systemctl restart php8.2-fpm
systemctl restart nginx
Optimasi www.conf
nano /etc/php/8.2/fpm/pool.d/www.conf
Optimasi ringan:
user = www-data
group = www-data
listen = /run/php/php8.2-fpm.sock
listen.owner = www-data
listen.group = www-data
listen.mode = 0660
; Process Manager
;----------------
pm = dynamic
pm.max_children = 80
pm.start_servers = 8
pm.min_spare_servers = 8
pm.max_spare_servers = 16
pm.max_requests = 500
request_terminate_timeout = 60s
pm.process_idle_timeout = 10s
Cek syntax FPM
php-fpm8.2 -t
Restart lagi
systemctl restart php8.2-fpm
Cek process PHP-FPM
ps aux | grep php-fpm
Cek module aktif
php -m
Cek socket aktif
ll /run/php/
Hapus PHP 7.4
apt remove php7.4* -y
apt autoremove -y
Quick command
Cari semua config lama:
grep -R "7.4" /etc/nginx/
Reload nginx tanpa putus koneksi:
systemctl reload nginx
Selesai.