所以我只是想在我的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模块,但我似乎无法弄清问题是什么。
答案 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。
顺便说一句。配置中包含ErrorLog
和CustomLog
的行不是必需的,因为它们指向默认的日志位置。
答案 2 :(得分:0)
试试这个:
<VirtualHost *:80>
...
<Directory "/var/www/html/wsgi/">
<Files myapp.wsgi>
Allow from all
Order deny,allow
</Files>
</Directory>
重启apache ...