2016-11-20 48 views
1

我創建了一個運行selenium腳本的瓶子應用程序。在燒瓶中它工作得很好,但是當我使用wsgi將它傳輸到apache時,我從apache.log中得到這個錯誤。加載模板但硒腳本不運行。我將附上相關的error.log行以及配置文件。任何幫助將不勝感激!權限嘗試在apache上運行wsgi selenium腳本時「geckodriver.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

Apache作爲不同的用戶運行,在不同的環境中以不同的權限運行。大多數情況下,它以用戶「www-data」運行,因此該用戶需要訪問您的文件。 – furas

+0

我在文件和問題上使用了chmod 777,仍然得到了相同的結果 –

+0

以及您在文件夾(及其父文件夾)上使用了哪種模式? – furas

回答

0

Apache/mod_wsgi下的WSGI應用程序進程的當前工作目錄通常是根目錄。該目錄由root用戶擁有。由於您試圖將相對路徑名稱用於日誌文件而不是絕對路徑,因此它會嘗試將目錄寫入根目錄,因爲它由root用戶擁有,所以您不能這樣做。請參閱:

對於記錄下的Apache/mod_wsgi的運行時,你最好配置登錄到stderr應用。這樣它就會在Apache錯誤日誌中被捕獲,並且您不必擔心可以在哪裏寫入日誌文件。

+0

謝謝!問題是硒缺省情況下會記錄到此文件。我認爲沒有辦法阻止這一點。 –

+0

您是否在代碼中創建Firefox驅動程序?如果是這樣,請嘗試傳遞''browser = webdriver.Firefox(log_path = None)'',或者傳遞一個絕對日誌文件路徑作爲可以寫入的用戶Apache運行的位置。對於http://blog.michaelyin.info/2015/05/18/how-to-disable-ghostdriver-log-when-using-selenium/中提到的其他驅動程序,請參見類似的東西。如果您查看Selenium的代碼,Firefox驅動程序對博客文章中提到的驅動器使用不同的參數名稱。 –

+0

我沒有創建它。它只是自動創建它。 log_path =沒有工作太好。雖然謝謝! –

相關問題