Я хочу связать мой проект 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
?
Замените окончательный аргумент на WSGIScriptAlias на '/var/www/myProject/start.py'.
Измените ссылку в директиве каталога на /var/www/myProject. Другими словами, просто установите конфигурацию, чтобы указать на правильное местоположение в первую очередь.
Кажется, что у вас есть start.py в другом каталоге, который вы хотите вызвать из wsgi.py.
Лучше всего будет иметь wsgi файл в той же папке, что и start.py, и просто импортировать и загружать приложение оттуда.. что-то вроде:
import start
start.load_application()