# Riavviare Nginx, PHP-FPM, MySQL e altri servizi del server

> Controlla se Nginx, PHP-FPM, MySQL, Redis, Supervisor e gli altri servizi sono attivi sul tuo server, riavviali, ricaricali, fermali o riavvia l'intero server.

La pagina **Servizi** di un server mostra i servizi di sistema che Vimonto Deploy vi ha installato, come Nginx, PHP-FPM, il tuo database e Redis, con il loro stato in tempo reale. Dalla stessa pagina puoi riavviare, ricaricare, fermare o avviare ogni servizio, e riavviare l'intero server.

Usala quando un servizio si blocca, dopo aver modificato a mano un file di configurazione, o per verificare rapidamente che tutto funzioni. La trovi nella barra laterale del server in **Servizi**, oppure tramite **Riavvia servizi** nel menu **Azioni** dell'intestazione del server.

![La pagina Servizi di un server, con una riga di riepilogo che indica che tutti i servizi sono in esecuzione, poi Nginx, PHP-FPM, MySQL, Redis e altri servizi raggruppati in Web, Dati e Sistema, ciascuno con lo stato In esecuzione, un pulsante Riavvia e un menu](https://ops.vimonto.com/docs-media/it/server-services.webp?v=161e760d "I servizi di un server e il loro stato")

## Quali servizi sono elencati?

L'elenco dipende dal [tipo di server](https://ops.vimonto.com/docs/it/servers/server-types): Vimonto Deploy mostra i servizi che installa per quel tipo, più una riga PHP-FPM per ogni [versione di PHP](https://ops.vimonto.com/docs/it/servers/php) installata sul server.

La pagina li raggruppa in **Web** (Nginx e PHP-FPM), **Dati** (il database, Redis, Memcached e Meilisearch) e **Sistema** (Supervisor, Cron, Fail2ban e SSH). Ogni riga mostra il nome del servizio, il suo stato, una breve spiegazione di cosa fa e la sua unit systemd. Una riga sopra i gruppi mostra a colpo d'occhio se tutto è in esecuzione, ad esempio **Tutti i 9 servizi sono in esecuzione.**, oppure quali servizi non lo sono.

| Servizio | Unit systemd | Mostrato su | Azioni |
| --- | --- | --- | --- |
| Nginx | `nginx` | App server, web server e load balancer | Riavvia, Ricarica, Ferma, Avvia |
| PHP *x.y* FPM | `php8.4-fpm` (una per versione) | Server con PHP, per ogni [versione PHP](https://ops.vimonto.com/docs/it/servers/php) installata | Riavvia, Ricarica, Ferma, Avvia |
| MySQL, MariaDB o PostgreSQL | `mysql`, `mariadb` o `postgresql` | Server con un database | Riavvia, Ferma, Avvia |
| Redis | `redis-server` | App server e server di cache | Riavvia, Ferma, Avvia |
| Memcached | `memcached` | App server e server di cache | Riavvia, Ferma, Avvia |
| Meilisearch | `meilisearch` | Server Meilisearch | Riavvia, Ferma, Avvia |
| Supervisor | `supervisor` | App server, web server e worker server | Riavvia, Ferma, Avvia |
| Cron | `cron` | Ogni server | Riavvia |
| Fail2ban | `fail2ban` | Ogni server | Riavvia |
| SSH | `ssh` | Ogni server | Ricarica |

La versione PHP più recente è elencata per prima. La riga del database riporta il motore e la versione con cui è stato creato il server, ad esempio MySQL 8.4.

> [!NOTE]
> SSH può solo essere ricaricato, non fermato o riavviato: fermarlo taglierebbe l'accesso di Vimonto Deploy stesso al server. Cron e Fail2ban possono solo essere riavviati.

## Come viene controllato lo stato?

Quando apri la pagina, Vimonto Deploy si connette al server via SSH ed esegue `systemctl is-active` per ogni servizio dell'elenco. Finché non arriva la risposta, ogni riga mostra **Recupero…**. Poi ogni servizio riceve uno di questi stati:

| Stato | Significato |
| --- | --- |
| **In esecuzione** | Il servizio è attivo. |
| **Fermato** | Il servizio non è in esecuzione (systemd riporta `inactive`). |
| **Non riuscito** | Il servizio si è bloccato o non è riuscito ad avviarsi. |
| **Avvio in corso** | Il servizio si sta avviando (`activating`). |
| **Arresto in corso** | Il servizio si sta chiudendo (`deactivating`). |
| **Ricaricamento in corso** | Il servizio sta rileggendo la sua configurazione (`reloading`). |
| **Aggiornamento in corso** | systemd sta aggiornando i mount o altre risorse del servizio (`refreshing`). |
| **Sconosciuto** | systemd ha riportato uno stato che Vimonto Deploy non conosce, o nessuno stato. |

**Avvio in corso**, **Arresto in corso**, **Ricaricamento in corso** e **Aggiornamento in corso** sono stati di passaggio. Compaiono nel colore d'accento con un punto pulsante, non come errore: dopo un momento clicca su **Aggiorna stato** per vedere come è finito il servizio. **Sconosciuto** compare in grigio; solo **Non riuscito** e **Fermato** sono in rosso.

Lo stato viene letto una volta all'apertura della pagina e di nuovo dopo ogni azione. Clicca su **Aggiorna stato** per rileggerlo in qualsiasi momento. Se il server non è raggiungibile, al posto dell'elenco compare un messaggio di errore.

## Riavvia, ricarica, ferma o avvia un servizio

1. Apri il server e scegli **Servizi** nella barra laterale.
2. Trova il servizio e clicca sul pulsante nella sua riga: **Riavvia** per un servizio in esecuzione (**Ricarica** per SSH), **Avvia** per uno fermo o in errore.
3. Per le altre azioni apri il menu (⋯) accanto a quel pulsante e scegli **Ricarica**, **Ferma**, **Avvia** o **Riavvia**. Il menu offre solo ciò che si adatta allo stato del servizio: un servizio in esecuzione non ha **Avvia**, uno fermo non ha **Ferma** né **Ricarica**. Finché lo stato non è noto, ci sono tutte le azioni.

L'azione viene eseguita come task in background, ad esempio *Riavvia Nginx su web-1*, e una notifica conferma che il servizio si sta riavviando. Mentre è in corso, il pulsante e il menu di quel servizio sono disattivati. Puoi seguire il task e leggerne l'output nelle attività del server e nella [pagina Attività](https://ops.vimonto.com/docs/it/organization/activity).

Dopo il comando, il task attende un secondo e stampa il nuovo stato del servizio, così dall'output del task capisci se il servizio è ripartito.

### Riavviare o ricaricare: quale scegliere?

- **Ricarica** chiede al servizio di rileggere la sua configurazione senza fermarsi. Le connessioni aperte restano aperte. Usalo dopo una modifica alla configurazione di Nginx, PHP-FPM o SSH.
- **Riavvia** ferma il servizio e lo avvia di nuovo. Usalo quando un servizio si blocca o un reload non basta.

Se un servizio non può essere ricaricato, Vimonto Deploy lo riavvia.

> [!WARNING]
> Fermare Nginx, PHP-FPM o il database mette offline i siti su quel server finché non riavvii il servizio. Fermare Supervisor ferma ogni queue worker e [processo](https://ops.vimonto.com/docs/it/servers/processes) sul server.

## Riavvia l'intero server

Clicca su **Riavvia server** in cima alla pagina e conferma. Il server si riavvia: resta irraggiungibile per un paio di minuti, poi siti e processi ripartono da soli. Il riavvio viene registrato come task chiamato *Riavvia* seguito dal nome del server.

Un riavvio è utile dopo aggiornamenti del kernel o del sistema, o quando un server non risponde più correttamente. Non modifica nulla sul server.

## Chi può gestire i servizi?

Ogni membro dell'organizzazione può vedere la pagina Servizi e lo stato di ogni servizio. Riavviare, ricaricare, fermare o avviare un servizio e riavviare il server richiedono il permesso di gestire i server, che hanno i ruoli proprietario, amministratore, manager e sviluppatore. Gli osservatori vedono solo lo stato. Vedi [membri e ruoli](https://ops.vimonto.com/docs/it/organization/members-and-roles).

I pulsanti compaiono solo mentre il server è attivo. Durante il provisioning, o quando il server è disconnesso, non puoi modificare i servizi.

## Domande frequenti

### Devo riavviare PHP-FPM dopo un deploy?

No. Quando un deploy mette online una nuova release, Vimonto Deploy ricarica per te la versione PHP-FPM del sito, così il nuovo codice viene servito subito e OPcache viene aggiornata. Vedi [deployment](https://ops.vimonto.com/docs/it/sites/deployments). Usa **Ricarica** qui solo quando hai modificato a mano le impostazioni di PHP.

### Un servizio mostra Non riuscito. E ora?

Clicca su **Riavvia** per quel servizio e leggi l'output del task. Se fallisce di nuovo, guarda i log: apri il [terminale](https://ops.vimonto.com/docs/it/servers/terminal) ed esegui `journalctl -u nginx -n 50` (con il nome della unit dall'elenco), oppure controlla i [log del sito](https://ops.vimonto.com/docs/it/sites/logs) per gli errori di Nginx e PHP-FPM.

### Perché un servizio che ho installato io non è elencato?

La pagina elenca solo i servizi che Vimonto Deploy installa e gestisce. Gestisci gli altri servizi con `systemctl` nel [terminale](https://ops.vimonto.com/docs/it/servers/terminal), oppure esegui i tuoi programmi come [processi](https://ops.vimonto.com/docs/it/servers/processes).

### Perché non ci sono pulsanti accanto ai servizi?

I pulsanti compaiono solo se il tuo ruolo può gestire i server e il server è attivo. I visualizzatori vedono solo lo stato, e così tutti finché un server è in provisioning o disconnesso.
