Как связать проект Python с файлом WSGI?

1

Я хочу связать мой проект Python с файлом wsgi. Я использую mod_wsgi.

Я хочу, чтобы мой проект Python находился в /var/www/myProject/start.py.

Я настроил Apache следующим образом:

<VirtualHost *:80>
    ServerName www.example.me
    ServerAlias example.me
    ServerAdmin [email protected]
    DocumentRoot /usr/local/www/documents
    LogLevel warn

    Alias /robots.txt /usr/local/www/documents/robots.txt
    Alias /favicon.png /usr/local/www/documents/favicon.png
    Alias /media/ /usr/local/www/documents/media/

    <Directory /usr/local/www/documents>
        Order allow,deny
        Allow from all
    </Directory>

    WSGIScriptAlias / /usr/local/www/wsgi-scripts/myApp.wsgi

    <Directory /usr/local/www/wsgi-scripts>
        Order allow,deny
        Allow from all
    </Directory>
</VirtualHost>

До сих пор это то, что у меня есть в файле myApp.wsgi:

import web

urls = (
    '/.*', 'hello',
)

class hello:
    def GET(self):
        return "Hello, world"

application = web.application(urls, globals()).wsgifunc()

Что мне нужно сделать, чтобы связать мой проект, который находится в /var/www/myProject/start.py, который вызывается myApp.wsgi?

Теги:
mod-wsgi
web.py

2 ответа

1
Лучший ответ

Замените окончательный аргумент на WSGIScriptAlias ​​на '/var/www/myProject/start.py'.

Измените ссылку в директиве каталога на /var/www/myProject. Другими словами, просто установите конфигурацию, чтобы указать на правильное местоположение в первую очередь.

1

Кажется, что у вас есть start.py в другом каталоге, который вы хотите вызвать из wsgi.py.

  • В этом случае вам нужно как-то сообщить wsgi.py, чтобы иметь возможность импортировать модуль из другой папки. Этот поток содержит некоторые сведения об этом.

Лучше всего будет иметь wsgi файл в той же папке, что и start.py, и просто импортировать и загружать приложение оттуда.. что-то вроде:

import start
start.load_application()

Ещё вопросы

Сообщество Overcoder
Наверх
Меню