2011-06-05 52 views
1

我想将我的Python项目链接到wsgi文件。我正在使用mod_wsgi如何将Python项目链接到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调用?

回答

1

替换最后一个参数WSGIScriptAlias与'/var/www/myProject/start.py'。

将Directory指令更改为'/ var/www/myProject'。换句话说,只需将配置设置为首先指向正确的位置即可。

1

看起来你有一个不同的目录,你想从wsgi.py中调用start.py。

  • 在这种情况下,您需要以某种方式告诉wsgi.py能够从其他文件夹导入模块。 This thread有一些细节。

一个更好的办法将是有WSGI文件在同一文件夹中start.py,只是导入,并从那里加载应用程序..是这样的:

import start 
start.load_application() 
相关问题