Ubuntu 12.04, nginx 1.2.0, uwsgi 1.0.3.
다음 명령으로 uwsgi를 시작합니다.
uwsgi -s 127.0.0.1:9010 -M -t 30 -A 4 -p 4 -d /var/log/uwsgi.log
각 요청에서 nginx는 502로 응답하고 uwsgi는 다음 줄을 기록합니다.
-- unavailable modifier requested: 0 --
답변:
원래 답변
들어 파이썬이 우분투 11.10에, 사용 upstart
을위한 파이썬 플러그인을 설치 uWSGI
와 apt-get install uwsgi-plugin-python
당신이 당신의 구성 할 INI 파일을 사용하는 경우 uWSGI
응용 프로그램을 다음 추가를 plugins = python
받는 [uwsgi]
부분과이 문제를 해결해야한다.
편집 : Python 3 및 Ubuntu 17.10 용으로 업데이트 됨
들어 파이썬 3 우분투 17.10에, 사용 systemd
을위한 파이썬 플러그인을 설치 uWSGI
와 apt-get install uwsgi-plugin-python3
당신이 당신의 구성 할 INI 파일을 사용하는 경우 uWSGI
응용 프로그램을 다음 추가를 plugins = python
받는 [uwsgi]
부분과이 문제를 해결해야한다.
파일을 사용하여 구성하는 방법을 포함하여 python
/ uWSGI
앱 시작에 대한 자세한 내용 ini
은이 편리한 가이드를 참조하십시오.
에서 http://uwsgi-docs.readthedocs.org/en/latest/ThingsToKnow.html 특정 플러그인에 대한 요청을 라우팅 ", 웹 서버의 요구는 uWSGI 인스턴스에 대한 수정으로 알려진 마법의 번호를 전달합니다.하여이 기본 숫자는 0으로 설정되어 Python에 매핑됩니다. "
bash 스크립트에 9를 사용하고 있으며 작동합니다. 숫자와 그 의미는이 페이지에 있습니다 : 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;
}
저는 Python 3과 함께 Ubuntu 18.04를 사용하고 있습니다. 다음은 작동하는 데 사용한 정확한 구성입니다.
Python 3 uWSGI 플러그인이 설치되어 있어야합니다.
apt install uwsgi-plugin-python3
Nginx 사이트 구성은 uWSGI 소켓을 가리켜 야합니다. 포트가 이후 단계의 구성과 일치하는지 확인하십시오.
location / {
uwsgi_pass 127.0.0.1:9090;
include uwsgi_params;
}
방금 변경 한 사항을 반영하도록 Nginx 구성을 다시로드합니다.
systemctl reload nginx
구성을 위해 명령 줄 인수 또는 ini 파일을 사용할 수 있습니다. 내가 만들었습니다 uwsgi.ini
. 소켓 주소가 nginx 구성과 일치하는지 확인하십시오.
[uwsgi]
socket = 127.0.0.1:9090
chdir = /var/www
processes = 4
threads = 2
plugins = python3
wsgi-file = /var/www/app.py
내 app.py에는 기본적인 예가 있습니다.
def application(env, start_response):
start_response('200 OK', [('Content-Type','text/plain')])
return [b"Hello World!"]
이제 명령 줄에서 uWSGI 서버를 시작합니다.
uwsgi uwsgi.ini
service uwsgi start
..