2016-03-10 1 views
0

Je viens de commencer à utiliser la surveillance des taches de fleurs pour le céleri. Tout fonctionne bien localement. Mais quand je déploie mon code au serveur, et essayez d'ouvrir la page de fleurs que j'ai reçu l'erreur suivanteFleur de céleri non trouvée js files

[pid: 6442|app: 0|req: 20/20] 46.19.100.110() {44 vars in 935 bytes}  
[Thu Mar 10 06:38:39 2016] GET /static/js/bootstrap-collapse.js?v=e8ddac0b5dd49cfbcf7d3ca8b0098d7b => generated 1852 bytes in 22 msecs (HTTP/1.1 404) 2 headers in 80 bytes (1 switches on core 0) 

Not Found: /static/js/bootstrap-carousel.js 

[pid: 6442|app: 0|req: 21/21] 46.19.100.110() {44 vars in 935 bytes}  
[Thu Mar 10 06:38:39 2016] GET /static/js/bootstrap-carousel.js?v=fc8cbc40f39316b8b567b3b96efe9044 => generated 1852 bytes in 24 msecs (HTTP/1.1 404) 2 headers in 80 bytes (1 switches on core 0) 

Not Found: /static/js/d3.min.js 
[pid: 6442|app: 0|req: 22/22] 46.19.100.110() {44 vars in 911 bytes}  
[Thu Mar 10 06:38:39 2016] GET /static/js/d3.min.js?v=eb68d3d1035789d336b285373046b550 => generated 1816 bytes in 23 msecs (HTTP/1.1 404) 2 headers in 80 bytes (1 switches on core 0) 

Not Found: /static/js/rickshaw.min.js 

[pid: 6442|app: 0|req: 23/23] 46.19.100.110() {44 vars in 923 bytes} 
[Thu Mar 10 06:38:39 2016] GET /static/js/rickshaw.min.js?v=fc927b6dd64118caa563b711bcb2f130 => generated 1834 bytes in 21 msecs (HTTP/1.1 404) 2 headers in 80 bytes (1 switches on core 0) 

Not Found: /static/js/bootstrap-datetimepicker.min.js 

[pid: 6442|app: 0|req: 24/24] 46.19.100.110() {44 vars in 955 bytes}  
[Thu Mar 10 06:38:39 2016] GET /static/js/bootstrap-datetimepicker.min.js?v=8880b6a34ee02b5cb6a75f92b3a7ddc9 => generated 1882 bytes in 19 msecs (HTTP/1.1 404) 2 headers in 80 bytes (1 switches on core 0) 
Not Found: /static/js/flower.js 

Toutes les idées?

c'est le fichier de configuration nginx

upstream admin_backend { 
    server {{ backend_host }}:{{ backend_port }}; 
} 

upstream flower_backends { 
    server {{ backend_host }}:{{ flower_port }}; 
} 

server { 
    listen 80; 
    server_name  admin{{ suffix }}.skycryptor.com; 
    rewrite ^https://admin{{ suffix }}.skycryptor.com last; 
} 

server { 
    listen 443 ssl; 
    server_name admin{{ suffix }}.skycryptor.com; 

client_max_body_size 100M; 
location/{ 
    uwsgi_pass admin_backend; 
    include uwsgi_params; 
} 

location /flower { 
    proxy_pass_header Server; 
    proxy_pass http://flower_backends; 
    proxy_set_header Host $http_host; 
    proxy_set_header X-Real-IP $remote_addr; 
    proxy_set_header X-Scheme $scheme; 
    proxy_next_upstream error; 
} 

location /robots.txt { 
    alias /opt/static/robots.txt; 
} 
} 

Je pense que la fleur est en cours d'exécution normallu, c'est un message de fichier journal

Executing /opt/worker/runenv/bin/celery --app=skyworker flower --port=5555 in /opt/worker/runenv 
+0

Comment avez-vous déployé? Ajoutez également votre configuration de serveur (nginx/apache) à la question. –

+0

J'ai édité et ajouté le fichier de configuration nginx dans ma question – gegham

+0

Je suppose que vous avez la dernière version de 'flower'? La dernière version de flower ne supporte pas un chemin d'URL comme '/ flower' vous devez l'exécuter sur un domaine complet comme 'flower.skycryptor.com'. Ou vous pouvez utiliser des versions antérieures de fleurs qui prennent en charge les chemins d'URL comme '/ flower' –

Répondre

2

Dans les versions antérieures de fleurs, il avait un paramètre de ligne de commande --url-prefix=flower. Il a permis aux utilisateurs d'exécuter fleur sur un chemin d'URL comme /flower. Dans les versions récentes, ce paramètre obsolète et la version pypi de Flower (0.8.4) ne peut s'exécuter que sur un sous-domaine comme flower.example.com mais pas sur un chemin d'URL comme example.com/flower.

Dans la branche principale de github repo of flower, son auteur a restored le paramètre (il y a 12 jours, il est donc pas pypi encore, donc pip installer la fleur va tirer ancienne version) --url-prefix, voir cette issue (problème a été signalé par moi).

Donc, ce que vous devez faire est d'installer la fleur de la branche maître de repithit de github au lieu de pypi, et de spécifier --url-prefix=flower dans la ligne de commande lors de l'exécution de fleurs.