Я использую uwsgi на Nginx для запуска некоторого кода Python.
Я бы хотел привязать uwsgi к каталогу и заставить его отображать любой. py, который я вызываю с сервера в браузере. Я думаю, как PHP, здесь (/index.php выполняет этот файл, /login.php выполняет этот файл).
Возможно ли это? Или я только возможность явно указать один модуль / приложение / файл в uwsgi?
Вот мой синтаксис инициализации:
/opt/uwsgi/uwsgi -s 127.0.0.1:9001 -M 4 -t 30 -A 4 -p 4 -d /var/log/uwsgi.log --pidfile /var/run/uwsgi.pid --pythonpath /srv/www
Я думал, что это позволит / srv / www
действовать как папка, в которой есть файлы .py файлы выполняются.
Вот моя конфигурация nginx:
server {
listen 80;
server_name DONT_NEED_THIS;
access_log /srv/www/logs/access.log;
error_log /srv/www/logs/error.log;
location / {
root /srv/www;
# added lines
include uwsgi_params;
uwsgi_pass 127.0.0.1:9001;
}
В существующем виде, когда я пытаюсь вызвать веб-корневой каталог (например, www.site.com/), я получаю:
wsgi application not found
Со следующим файлом index.py :
import sys
import os
sys.path.append(os.path.abspath(os.path.dirname(__file__)))
def application(environ, start_response):
status = '200 OK'
output = 'Hello World!'
response_headers = [('Content-type', 'text/plain'),
('Content-Length', str(len(output)))]
start_response(status, response_headers)
return [output]
Есть идеи?
Спасибо!