1

我想将我的 Python 项目链接到一个wsgi文件。我正在使用mod_wsgi.

我希望我的 Python 项目位于/var/www/myProject/start.py.

我已将 Apache 配置如下:

<VirtualHost *:80>
    ServerName www.example.me
    ServerAlias example.me
    ServerAdmin example@gmail.com
    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

4

2 回答 2

1

您似乎在要从 wsgi.py 调用的不同目录中拥有 start.py。

  • 在这种情况下,您需要以某种方式告诉 wsgi.py 能够从不同的文件夹导入模块。 该线程对此有一些详细信息。

更好的方法是将 wsgi 文件与 start.py 放在同一文件夹中,然后从那里导入并加载应用程序.. 类似于:

import start
start.load_application()
于 2011-06-05T08:27:41.477 回答
1

将 WSGIScriptAlias 的最终参数替换为“/var/www/myProject/start.py”。

将目录指令中的引用更改为“/var/www/myProject”。换句话说,只需将配置设置为首先指向正确的位置。

于 2011-06-06T10:32:05.757 回答