我在Ubuntu 11.04上运行Python 2.7,Virtualenv,Django 1.3,mod_wsgi,Apache应用程序。 包括psycopg2等在内的所有内容都与wsgi和app正常运行。 唯一的问题是Selenium。我收到此错误仅在我从wsgi 执行此操作时创建firefox驱动程序,如下所示:
from selenium import webdriver
wd = webdriver.Firefox()
WebDriverException异常值:消息:“无法加载配置文件。 配置文件目录:/ tmp / tmp8h7MW8“
我的Selenium版本是2.5 Apache以root身份启动,子进程以用户名app启动。
执行上面的代码来自相同的virtualenv而没有wsgi可以正常工作。
所以这让我觉得它在某种程度上是许可问题......所以我试过这个:
ls -l /tmp/tmp8h7MW8
>> drwxr-xr-x 3 app app 4096 2011-10-07 13:09 extensions
>> -rw-r--r-- 1 app app 2188 2011-10-07 13:09 user.js
如果你能指出我可能错误配置wsgi的正确方向,我将不胜感激
答案 0 :(得分:1)
Apache进程以特殊用户身份运行。如果该临时目录真正归“app”所有,那么Apache用户可能无法写入它。
Apache运行的用户是什么?您是否正在使用守护进程模式并覆盖应该运行的用户?
答案 1 :(得分:1)
所以我跟踪firefx_binary.py,并在调用socket_.connect((“127.0.0.1”,self.profile.port))时弄清楚实际错误是“Connection refused”。 端口值每次都会更改(即:45807,44719,60565)
发生错误取决于格雷厄姆怀疑的apache配置(apache运行用户和组)上的组设置。我和2个用户一起玩。
$ groups app
app : app
$ groups nreeves
nreeves : nreeves adm dialout fax cdrom floppy tape dip video plugdev fuse
我尝试了3个模式,只有1个作品仍然让我困惑,希望有人能告诉我为什么......
# this does't work...
User=nreeves
Group=adm
# this does't work either
User=app
Group=app
# this works
User=nreeves
Group=nreeves