Apache mod_wsgi错误:找不到文件(文件存在时)

时间:2015-02-22 05:40:54

标签: apache mod-wsgi wsgi

所以我只是想在我的Apache服务器上显示一个简单的页面。

我有一个wsgi文件:/var/www/html/wsgi/myapp.wsgi

我的/etc/apache2/sites-available/000-default.conf文件如下所示:

<VirtualHost *:80>


    ServerAdmin webmaster@localhost
    DocumentRoot /var/www/html

    ErrorLog ${APACHE_LOG_DIR}/error.log
    CustomLog ${APACHE_LOG_DIR}/access.log combined

    <Directory /var/www/html>
    Order allow,deny
    Allow from all
    </Directory>  

    WSGIScriptAlias /wsgi/myapp /var/www/html/wsgi/myapp.wsgi

    <Directory /var/www/html/wsgi>
    Order allow,deny
    Allow from all
    </Directory>    

</VirtualHost>

这是error.log(日志级别是信息):

[Sun Feb 22 00:08:40.001384 2015] [mpm_prefork:notice] [pid 22390] AH00163: Apache/2.4.7 (Ubuntu) PHP/5.5.9-1ubuntu4.6 mod_wsgi/3.4 Python/2.7.6 configured -- resuming normal operations
[Sun Feb 22 00:08:40.001441 2015] [mpm_prefork:info] [pid 22390] AH00164: Server built: Jul 22 2014 14:36:38
[Sun Feb 22 00:08:40.001464 2015] [core:notice] [pid 22390] AH00094: Command line: '/usr/sbin/apache2'
[Sun Feb 22 00:08:40.001976 2015] [:info] [pid 22505] mod_wsgi (pid=22505): Initializing Python.
[Sun Feb 22 00:08:40.003966 2015] [:info] [pid 22504] mod_wsgi (pid=22504): Initializing Python.
[Sun Feb 22 00:08:40.008001 2015] [:info] [pid 22502] mod_wsgi (pid=22502): Initializing Python.
[Sun Feb 22 00:08:40.011764 2015] [:info] [pid 22503] mod_wsgi (pid=22503): Initializing Python.
[Sun Feb 22 00:08:40.018442 2015] [:info] [pid 22501] mod_wsgi (pid=22501): Attach interpreter ''.
[Sun Feb 22 00:08:40.029632 2015] [:info] [pid 22502] mod_wsgi (pid=22502): Attach interpreter ''.
[Sun Feb 22 00:08:40.035609 2015] [:info] [pid 22505] mod_wsgi (pid=22505): Attach interpreter ''.
[Sun Feb 22 00:08:40.038286 2015] [:info] [pid 22504] mod_wsgi (pid=22504): Attach interpreter ''.
[Sun Feb 22 00:08:40.041199 2015] [:info] [pid 22503] mod_wsgi (pid=22503): Attach interpreter ''.
[Sun Feb 22 00:08:49.444674 2015] [core:info] [pid 22501] [client 10.0.0.58:57209] AH00128: File does not exist: /var/www/wsgi/myapp

我从this site收集到文件的存在实际上并不是问题,但是使用wsgi模块,但我似乎无法弄清问题是什么。

3 个答案:

答案 0 :(得分:0)

<VirtualHost *:80>

    ServerAdmin webmaster@localhost
    DocumentRoot /var/www/html

    ErrorLog ${APACHE_LOG_DIR}/error.log
    CustomLog ${APACHE_LOG_DIR}/access.log combined

    WSGIScriptAlias /wsgi/myapp /var/www/html/wsgi/myapp.wsgi

    <Directory /var/www/html/wsgi/myapp>
    Order allow,deny
    Allow from all
    </Directory>    

</VirtualHost>

答案 1 :(得分:0)

您要么尝试使用错误的网址访问此应用 - 正确的是:

http://localhost/wsgi/myapp/wsgi

对于远程主机,使用域名或IP地址替换localhost

或者您尚未与/etc/apache2/sites-available/000-default.conf进行符号链接/etc/apache2/sites-enabled/000-default.conf。在创建此符号链接后,不要忘记重新加载/重新启动apache。

顺便说一句。配置中包含ErrorLogCustomLog的行不是必需的,因为它们指向默认的日志位置。

答案 2 :(得分:0)

试试这个:

<VirtualHost *:80>
    ...
    <Directory "/var/www/html/wsgi/">
        <Files myapp.wsgi>
            Allow from all
            Order deny,allow
        </Files>
     </Directory>  

重启apache          ...