0

我正在尝试将 mod_wsgi 配置为使用简单的 web.py python 脚本。我跟着这本食谱:http ://webpy.org/cookbook/mod_wsgi-apache

每次我去https://<server>/appname/铬说Internal Server Error

这是我的配置详细信息:

在 httpd.conf 我有

LoadModule wsgi_module modules/mod_wsgi.so

WSGIScriptAlias /appname /var/www/webpy-app/cody.py/
Alias /appname /var/www/webpy-app/static/
AddType text/html .py

<Directory /var/www/webpy-app/>
  Order deny,allow
  Allow from all
</Directory>

<Location /appname>
AuthType Basic
AuthName "Authenication Required"
AuthUserFile "/etc/httpd/conf/some_sample_users"
</Location>

这是代码:

  import web

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

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

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

我检查了错误日志,但在那里没有找到太多内容:

[Wed Oct 09 02:24:50 2013] [notice] caught SIGTERM, shutting down
[Wed Oct 09 02:24:55 2013] [notice] SELinux policy enabled; httpd running as context unconfined_u:system_r:httpd_t:s0
[Wed Oct 09 02:24:55 2013] [notice] suEXEC mechanism enabled (wrapper: /usr/sbin/suexec)
[Wed Oct 09 02:24:55 2013] [warn] module wsgi_module is already loaded, skipping
[Wed Oct 09 02:24:55 2013] [notice] Digest: generating secret for digest authentication ...
[Wed Oct 09 02:24:55 2013] [notice] Digest: done
[Wed Oct 09 02:24:55 2013] [notice] Apache/2.2.15 (Unix) mod_wsgi/3.2 Python/2.6.6 DAV/2 mod_ssl/2.2.15 OpenSSL/1.0.0-fips configured -- resuming normal operations

我需要进行哪些修改才能使其正常工作?

4

2 回答 2

0

我遵循本教程,这是在没有 .htaccess 的情况下运行 web.py 的完整步骤,但请记住,当您复制粘贴 python 代码时,您必须注意缩进,因为它也会显示内部服务器错误。这就是 httpd.conf 的样子

<VirtualHost _default_ *:80> 
ServerAdmin admin@project.com 
DocumentRoot /var/www/project.com/public_html/ 
ErrorLog /var/www/project.com/logs/error.log 
CustomLog /var/www/project.com/logs/access.log combined  
WSGIScriptAlias / /var/www/project.com/production/main.py 
Alias /static /var/www/project.com/public_html 
AddType text/html .py 
WSGIDaemonProcess www-data threads=15 
WSGIProcessGroup www-data  
    <Directory /var/www/project.com/production/> 
        Order deny,allow 
        Allow from all 
        Options +FollowSymLinks 
        Options -Indexes 
    </Directory>      
</VirtualHost>

以 main.py 作为索引文件

于 2015-01-04T07:03:03.437 回答
0

这是错误的开始:

WSGIScriptAlias /appname /var/www/webpy-app/cody.py/
Alias /appname /var/www/webpy-app/static/

Alias 指令优先于 WSGIScriptAlias。您将它们用于相同的安装点,因此 Alias 获胜。我建议先注释掉 Alias。

除此之外,在子 URL 上挂载时,第二个参数而不是第一个参数有一个斜杠可能会导致问题。利用:

WSGIScriptAlias /appname /var/www/webpy-app/cody.py

下一个问题是:

[Wed Oct 09 02:24:55 2013] [warn] module wsgi_module is already loaded, skipping

这表明您有:

LoadModule wsgi_module modules/mod_wsgi.so

在 Apache 配置的不同位置列出了两次,或者您设法包含了两次列出它的配置文件。

首先解决这些问题,然后使用更新的信息编辑您的问题。

于 2013-10-09T04:40:42.680 回答