2015-04-09 8 views

risposta

23

è possibile riavviare manualmente utilizzando il seguente comando

bundle exec pumactl -P /home/deploy/.pids/puma.pid restart 

Assicurati di puntare al percorso corretto pid.

+0

Ho bisogno di un compito con questo comando dopo aver pubblicato? – mystdeim

+0

Dipende da come si sta distribuendo l'applicazione. Usando capistrano, puoi scrivere attività per esso e includerle nel tuo processo di distribuzione, o usare qualcosa come God http://godrb.com/ che puoi anche integrare con capistrano – JamesDullaghan

2

Per quanto ne so, se si utilizza capistrano3-puma gem, non è necessario riavviare puma esplicitamente dopo la distribuzione. C'è un compito add_default_hooks che fa puma:smart_restart dopo la distribuzione.

È possibile visualizzare l'elenco delle attività per cap -vT. Penso che lo cap puma:restart farà il lavoro.

+0

Se aggiungi 'install_plugin Capistrano :: Puma, load_hooks: vero! per il tuo 'Capfile' starai bene. –

0

è possibile verificare se Puma non è stata avviata dal comando

ps aux | grep puma

da quello trovare il vostro nome dell'applicazione, e uccidere che kill -9 id

allora si può iniziare di nuovo

16

Produzione

Se si utilizza Capistrano in produzione puoi:

cap production deploy:restart 

Sviluppo

Se siete su un ambiente di sviluppo si può iniziare a cercare il pid

ps aux | grep puma 

Si vedrà qualcosa di simile:

user 11654 0.0 13.4 870204 137016 ?  Sl Jul07 0:39 puma 2.13.4 (tcp://0.0.0.0:3000) [NameOfYourApp] 

Il numero accanto al nome utente, in questo caso 11654 è l'ID di processo (PID) del server puma. Puoi ucciderlo manualmente e riavviare il server dopo. Eseguire questo comando:

kill -s 15 11654 

Questo comando sta dicendo uccidere il processo con id 11654 usando SIGTERM segnale (codice 15). SIGTERM uccide il processo di 'gentilmente' di chiudere tutti i file, le connessioni, tamponi di pulizia, ecc

Ultima si esegue questo comando:

puma -e development -p 3000 -d 

Puma verrà riavviato in modalità di sviluppo, in ascolto sulla porta 3000 e il l'esecuzione sarà demonizzata.

5

Mi sono imbattuto nel problema in cui ho bisogno di riavviare puma dopo alcune modifiche all'ambiente e non volevo effettuare una distribuzione completa dell'applicazione.

Volevo solo riavviare puma e nginx. Ecco i comandi che ha funzionato per me:

$ bundle exec cap production deploy:restart 
$ bundle exec cap production puma:restart 

Speranza che aiuta qualcuno