2012-05-25 42 views
66

Ubuntu 12.04,nginx 1.2.0,uwsgi 1.0.3。nginx + uwsgi: - 不可用修飾符請求:0 -

我開始uwsgi用下面的命令:

uwsgi -s 127.0.0.1:9010 -M -t 30 -A 4 -p 4 -d /var/log/uwsgi.log 

在帶502的每個請求nginx的答覆和uwsgi寫入日誌下面的行:

-- unavailable modifier requested: 0 -- 
+0

在Ubuntu uwsgi被作爲一種服務啓動:'服務uwsgi start'。 – sorin

回答

18

通過安裝uwsgi-plugin-python3插件和添加--plugin python3解決選項uwsgi啓動命令

+0

哪個uswgi啓動命令,你能更加明確嗎? – sorin

+2

請寫更詳細的答案,並設置問題解決與@SHAKIE答案 – nk9

16

我從ubuntu上的upstart啓動uwsgi。我通過運行apt-get install uwsgi-plugin-python,然後將plugins=python添加到/ etc/uwsgi/applications-available中的我的application.ini中解決了該問題。

89

安裝用於與apt-get install uwsgi-plugin-python uwsgi蟒插件蟒2apt-get install uwsgi-plugin-python3蟒3和添加plugins = python個體uwsgi應用程序配置解決了這個問題。

(最初在使用upstart時使用Ubuntu 11.10進行了解答,Python 3使用systemd在Ubuntu 17.10上進行了測試)。

+0

相當於這(yum插件安裝+ uwsgi配置更改)只爲我在CentOS7上工作。 –

+0

一直在打我的腦袋,無法解決這個問題。謝謝 ! – AceLearn

6

from http://uwsgi-docs.readthedocs.org/en/latest/ThingsToKnow.html「要將請求路由到特定的插件,網絡服務器需要傳遞一個魔術數字作爲修飾符到uWSGI實例。默認情況下,這個數字被設置爲0,它映射到Python。

我使用9爲bash腳本,它的工作。的數量和它們的含義是這個頁面上:http://uwsgi-docs.readthedocs.org/en/latest/Protocol.html

在我的nginx的配置

location ~ .cgi$ { 
    include uwsgi_params; 
    uwsgi_modifier1 9; 
    uwsgi_pass 127.0.0.1:3031; 
}