我创建了一个运行selenium脚本的烧瓶应用程序。在烧瓶内它工作得很好,但是当我使用wsgi将其传输到apache时,我从apache.log中得到了这个错误。模板加载但selenium脚本不运行。我将附加相关的error.log行以及配置文件。任何帮助将不胜感激!
[Sun Nov 20 00:37:28.995529 2016] [wsgi:error] [pid 7492:tid 1954542640] File "/usr/local/lib/python2.7/dist-packages/selenium/webdriver/firefox/service.py", line 45, in __init__
[Sun Nov 20 00:37:28.995545 2016] [wsgi:error] [pid 7492:tid 1954542640] log_file = open(log_path, "a+")
[Sun Nov 20 00:37:28.995560 2016] [wsgi:error] [pid 7492:tid 1954542640] IOError: [Errno 13] Permission denied: 'geckodriver.log'
webroombooker.config
<VirtualHost *:80>
ServerName localhost
WSGIScriptAlias / /home/pi/Website/webroombooker.wsgi
<Directory /home/pi/Website/>
Require all granted
</Directory>
ErrorLog ${APACHE_LOG_DIR}/error.log
LogLevel warn
CustomLog ${APACHE_LOG_DIR}/access.log combined
</VirtualHost>
000-default.config
<Directory /home/pi/Website/>
Require all granted
</Directory>
ErrorLog ${APACHE_LOG_DIR}/error.log
CustomLog ${APACHE_LOG_DIR}/access.log combined
webroombooker.wsgi
#!/usr/bin/python
import sys
import logging
logging.basicConfig(stream=sys.stderr)
sys.path.insert(0,"/home/pi/Website")
from webroombooker import app as application
先谢谢你!我对此很新!
答案 0 :(得分:0)
Apache / mod_wsgi下的WSGI应用程序进程的当前工作目录通常是根目录。该目录由root用户拥有。因为您尝试使用日志文件的相对路径名而不是绝对路径名,所以它会尝试将目录写入根目录,因为它由root用户拥有,您无法做到。参见:
对于在Apache / mod_wsgi下运行时的日志记录,最好配置应用程序以登录stderr
。这样就可以在Apache错误日志中捕获它,您不必担心编写日志文件的位置。