Everything systemd 142,543 manages is a unit, a text file whose suffix names its type: .service for a process, .socket for on-demand start, .timer for a schedule (systemd Timers) and .target for a named group of units. Targets replace runlevels; multi-user.target means "up, networked, ready for logins" and is where server software belongs. Unit files in /etc/systemd/system/ (yours) override those in /usr/lib/systemd/system/ (the packages'); never edit the latter, since upgrades overwrite it.
systemctl cat php8.5-fpm.service# /usr/lib/systemd/system/php8.5-fpm.service [Unit] Description=The PHP 8.5 FastCGI Process Manager Documentation=man:php-fpm8.5(8) After=network.target [Service] Type=notify ExecStart=/usr/sbin/php-fpm8.5 --nodaemonize --fpm-config /etc/php/8.5/fpm/php-fpm.conf ... ExecReload=/bin/kill -USR2 $MAINPID Restart=on-failure [Install] WantedBy=multi-user.target
[Unit] holds the description and ordering; After= orders the start but pulls nothing in. [Service] says how to run it: Type=notify waits until PHP-FPM reports it is ready, and --nodaemonize keeps it in the foreground where it can be supervised. Exec lines bypass the shell, so pipes and && do nothing there. [Install] is read only by systemctl enable (enable vs start).