如何解决Selenium Chrome脚本在开发环境中运行,但无法在APACHE中启动
Ubuntu 20.04 铬84.0.4147 Apache 2.4.41(ubuntu) 的Python 3.8.2 烧瓶1.1.2
我已经创建了一个小型的Webapp,可以触发硒铬脚本。一切都按预期在开发中工作,但是当我通过Apache运行烧瓶应用程序时,出现“ chrome无法启动”下面显示的错误,我已经将用户以及root都添加到了www-data用户,但是仍然没有运气。我觉得这是某种权限问题,使Apache无法启动chrome实例。关于我可以尝试的任何想法吗?
Python脚本
here = os.path.dirname(__file__)
workPath = os.path.dirname(here)
chrome_options = Options()
chrome_options.add_argument('--no-sandbox')
chrome_options.add_argument('--headless')
chrome_options.add_argument('--disable-dev-shm-usage')
chrome_options.add_argument('--disable-gpu')
chrome_options.add_argument('--disable-extensions')
chrome_options.add_argument('--disable-infobars')
picture_log
DRIVER_PATH = workPath + "/chromedriver"
wd = webdriver.Chrome(executable_path=DRIVER_PATH,chrome_options=chrome_options)
Apache日志
selenium.common.exceptions.WebDriverException: Message: unknown error: Chrome failed to start: exited abnormally.
(unknown error: DevToolsActivePort file doesn't exist)
(The process started from chrome location /usr/bin/google-chrome is no longer running,so ChromeDriver is assuming that Chrome has crashed.)
**在bash中键入APACHE2后的Apache错误消息*
[Sun Aug 09 22:20:34.613715 2020] [core:warn] [pid 11354] AH00111: Config variable ${APACHE_RUN_DIR} is not defined
apache2: Syntax error on line 80 of /etc/apache2/apache2.conf: DefaultRuntimeDir must be a valid directory,absolute or relative to ServerRoot
WSGI设置文件
activate_this = '/var/www/pictureApp/pictureApp/env/bin/activate_this.py'
with open(activate_this) as file_:
exec(file_.read(),dict(__file__=activate_this))
import sys
sys.path.insert(0,'/var/www/pictureApp/')
sys.path.append('/var/www/pictureApp/')
from pictureApp import create_app as app
application = app()
Apache CONF文件
<VirtualHost *:80>
# Add machine's IP address (use ifconfig command)
ServerName 192.168.0.108
DocumentRoot /var/www/pictureApp/pictureApp/
# Give an alias to to start your website url with
WSGIScriptAlias / /var/www/pictureApp/pictureApp/pictureapp.wsgi
<Directory /var/www/pictureApp/pictureApp/>
# set permissions as per apache2.conf file
# WSGIApplicationGroup %{Global}
Order deny,allow
Allow from all
WSGIScriptReloading On
</Directory>
ErrorLog ${APACHE_LOG_DIR}/error.log
LogLevel warn
CustomLog ${APACHE_LOG_DIR}/access.log combined
</VirtualHost>
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。