尝试在apache上运行wsgi selenium脚本时,“geckodriver.log”的权限被拒绝错误

时间:2016-11-20 05:58:57

标签: python selenium selenium-webdriver flask mod-wsgi

我创建了一个运行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

先谢谢你!我对此很新!

1 个答案:

答案 0 :(得分:0)

Apache / mod_wsgi下的WSGI应用程序进程的当前工作目录通常是根目录。该目录由root用户拥有。因为您尝试使用日志文件的相对路径名而不是绝对路径名,所以它会尝试将目录写入根目录,因为它由root用户拥有,您无法做到。参见:

对于在Apache / mod_wsgi下运行时的日志记录,最好配置应用程序以登录stderr。这样就可以在Apache错误日志中捕获它,您不必担心编写日志文件的位置。