2013-02-08 20 views
8

Ho modificato un file .py e le modifiche si sono riflesse su dev locale. server per Django dopo l'eliminazione di .pyc. Il server di produzione non ha nemmeno .pyc per questo specifico file. Ho provato a toccare apache wsgi e riavvio apache su prod. server ma senza fortuna. Anche l'eliminazione di questo file .py fa sì che l'applicazione funzioni allo stesso modo. C'è memcached installato ma non ho molta idea di come memorizzi nella cache, c'è anche .git e 5 server stanno ospitando - uno principale, 4 load balancer.Le modifiche al codice Django non si riflettono sul server di produzione

Saluti!

+1

Sembra che la pagina sia memorizzata nella cache da qualche parte come un proxy inverso – Tarilo

+0

È possibile elaborare e specificare cosa posso provare a cancellare le cache? –

+0

Non sono amministratore di sistema quindi non posso davvero aiutarti con le specifiche – Tarilo

risposta

7

Sei sicuro al 100% che stai guardando il server giusto a cui stai apportando le modifiche? So che sembra stupido ma, perché non fermi Apache, puoi ancora eseguire la pagina? SE puoi quindi sicuramente non hai il server corretto.

In caso contrario, provare a ricaricare Apache (che è diverso dal riavvio).

sudo service apache2 reload 

Se questo ancora non funziona quindi inviare la configurazione di Apache, se deve essere alla ricerca sulla cartella sbagliata a quella vostra spinta a.

+0

Grazie ... Ricarica ha fatto la magia. Funziona a intermittenza, diciamo 8 volte su 10 ... Qualche suggerimento su come risolvere in modo permanente ... –

+1

Dipende se si verifica un errore. le volte in cui non riesce a darti un'idea –

+0

Come accennato da @Tarilo in un commento alla domanda, i caching del c ontent a volte può produrre questo stesso problema. Con me, le mie modifiche al css delle mie pagine web non venivano mostrate in produzione. Ho perso circa 20 minuti alla ricerca di problemi fino a quando il commento di Tarilo mi ha ricordato di cancellare il cache che ha risolto immediatamente il problema. Non la soluzione in questa domanda specifica ma potrebbe salvare un'altra persona un po 'di tempo. –

2

È necessario riavviare il server (WSGI, UWSGI o qualunque sia il vostro uso su ambiente di produzione)

+0

Il server è stato riavviato a fatica e l'apache è stato riavviato. Anche il WSGI deve essere riavviato? Scusa, non ho molta idea di questa cosa WSGI. Basta leggerlo da altri post simili. –

+0

Se si riavvia il server, non è necessario riavviare i processi. Se questo non ti aiuta, forse devi anche pulire i file * .pyc nella directory dei sorgenti. Ma penso che sarebbe abbastanza, se solo riavvii. – Igor

+0

Anche l'eliminazione del file .py non ha alcun effetto. Ciò significa che è sicuramente memorizzato nella cache, e non c'è nessun file .pyc corrispondente a questo. Ho anche provato find/ –

1

Se uwsgi utilizzato come set di gateway touch-reload param nelle impostazioni uwsgi ed è necessario solo

$ touch <your-touch-reload-file> 

in consolle per riflettere sui cambiamenti

Se si utilizza Apache con mod_python mod_wsgi o, è necessario riavviare Apache per applicare le modifiche

+0

Utilizzando mod_wsgi ... provato /etc/init.d/apache2 fermare Poi /etc/init.d/apache2 iniziare Ancora non funziona :( Anche l'aggiunta di un nuovo URL doesn Puoi lavorare o essere memorizzato nella cache da qualche parte! –

+0

@Levon Puoi fornirti o indicarmi un esempio di ricaricamento del tocco in uwsgi? – Nikhilesh

+0

@Nikhilesh http://uwsgi-docs.readthedocs.org/en/latest/Options.html # touch-reload – Alexey

Problemi correlati