2012-08-30 27 views
13

Tôi làm theo hướng dẫn trong https://docs.djangoproject.com/en/dev/howto/deployment/wsgi/uwsgi/ và nó hoạt động tốt cho đến vài ngày trước, khi tôi giết các quá trình uwsgi và cố gắng khởi động lại. Sau đó, nó nóiuwsgi: tùy chọn không được công nhận '--module = MyProject.wsgi: application'

uwsgi: unrecognized option '--module=MyProject.wsgi:application' 

Tôi đã đập đầu tôi cố gắng giải quyết vấn đề đó, ... Tôi đã kiểm tra lịch sử và kịch bản tôi sử dụng để bắt đầu uwsgi tôi cam kết không thay đổi:

#!/bin/bash 
# https://docs.djangoproject.com/en/dev/howto/deployment/wsgi/uwsgi/ 
uwsgi --chdir=/home/MyProject \ 
    --module=MyProject.wsgi:application \ 
    --env DJANGO_SETTINGS_MODULE=MyProject.settings \ 
    --master --pidfile=/tmp/MyProject-masted.pid \ 
    --socket=/home/MyProject.sock \ 
    --processes=5 \ 
    --harakiri=20 \ 
    --limit-as=128 \ 
    --max-requests=5000 \ 
    --vacuum \ 
    --home=/home/MyProject/env \ 
    --daemonize=/var/log/uwsgi/MyProject.log 

Rõ ràng là có điều gì đó đã thay đổi nhưng tôi không thể thấy được ... Tôi không chạy bất kỳ bản cập nhật nào, tập lệnh không thay đổi ... PlEaSe HeLp !!!

Trả lời

14

Tôi chạy vào trong này thời gian gần đây khi tôi cố gắng sử dụng các phiên bản của uWSGI trong Unbuntu 12.04 repo (1.0.3). Có vẻ như phiên bản đó hơi cũ. Chỉ cần sử dụng pip để lấy nó (1.2.5).

pip install uwsgi 
+0

Ouuf! Cảm ơn bạn rất nhiều! – sebpiq

+0

Nếu bạn muốn gắn bó với phiên bản Ubuntu của uwsgi, hãy đọc câu trả lời thứ hai! –

+0

Cài đặt phiên bản pip sẽ giết "sudo service uwsgi start/stop" nó cũng sẽ ngừng đọc từ/etc/uwsgi .... Vì vậy, trước khi bạn làm điều đó hãy đọc câu trả lời dưới đây. –

33

Bạn có thể cần thêm tùy chọn --plugins vào dòng lệnh của mình để sử dụng hệ thống được cài đặt uwsgi. Trên Fedora 17, ít nhất, đây là neccesary cho tôi:

$ uwsgi --http 127.0.0.1:8000 --module=wsgiref.simple_server:demo_app 
uwsgi: unrecognized option '--module=wsgiref.simple_server:demo_app' 
getopt_long() error 
$ 

nhưng công trình này:

$ uwsgi --http 127.0.0.1:8000 --plugins python --module=wsgiref.simple_server:demo_app 
*** Starting uWSGI 1.2.4 (64bit) on [Thu Aug 30 14:09:57 2012] *** 
[.. snip]
+1

Tôi thấy rằng thứ tự các tham số quan trọng. Nếu tôi thử và vượt qua tham số --wsgi-file trước khi chuyển qua - hãy dùng lệnh python, nó có vẻ không hoạt động. Tôi nhận được một thông báo nói rằng "tham số Unregonized". –

Các vấn đề liên quan