You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Flask+Gunicorn+ChromeDriver正常模式可用,守护进程模式报错找不到Chrome

解决Gunicorn守护进程模式下找不到Google Chrome的问题

问题根源

你的systemd服务文件中,Environment字段仅设置了项目的bin目录作为PATH,覆盖了系统默认的环境变量路径。而Google Chrome位于/usr/bin下,守护进程运行时无法在指定的PATH中找到Chrome可执行文件,从而触发报错。

解决方法

方法1:修改systemd服务的PATH环境变量

编辑你的systemd服务文件,将/usr/bin追加到PATH配置中:

[Service]
User=www-data
Group=www-data
WorkingDirectory=/var/www/myproject
Environment="PATH=/var/www/myproject/bin:/usr/bin"  # 添加:/usr/bin
ExecStart=/var/www/myproject/venv/bin/gunicorn --timeout 1000 -b :5000 wsgi:app

执行以下命令重新加载systemd配置并重启服务:

sudo systemctl daemon-reload
sudo systemctl restart your-service-name  # 替换为你的实际服务名称

方法2:在ChromeOptions中直接指定Chrome二进制路径

在初始化ChromeDriver的代码里,直接指定Chrome的可执行文件路径,跳过PATH查找逻辑:

options = webdriver.ChromeOptions()
options.add_argument('--no-sandbox')
options.add_argument("--headless")
options.add_argument('--disable-dev-shm-usage')
options.binary_location = "/usr/bin/google-chrome"  # 新增该行指定Chrome路径

driver = webdriver.Chrome(service=Service(ChromeDriverManager().install()), options=options)

验证

重启服务后,触发使用ChromeDriver的功能,检查系统日志是否仍存在google-chrome: not found的报错信息。

内容的提问来源于stack exchange,提问作者elixir

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.29 14:22:32