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

如何在cPanel部署Django应用并配置Python Selenium自动化运行

cPanel服务器运行Selenium Chrome的完整配置方案

1. 确认服务器权限前提

你使用的cPanel必须是VPS、云服务器或独立服务器类型,拥有root SSH权限;共享型cPanel主机大多会限制Chrome这类应用的运行权限,无法正常部署Selenium服务。

2. 服务端安装Chrome浏览器

SSH登录服务器后,执行如下命令安装稳定版Chrome(cPanel默认搭载CentOS/RHEL系统):

wget https://dl.google.com/linux/direct/google-chrome-stable_current_x86_64.rpm
yum install ./google-chrome-stable_current_x86_64.rpm -y

安装完成后执行验证命令,输出版本号即为安装成功:
google-chrome --version

3. 业务代码适配修改

服务器无图形界面,必须添加无头运行等核心启动参数,你的原有代码缺少必要参数是启动失败的核心原因之一,修改后的参考代码如下:

def getrate(request):
   if request.user.is_authenticated:
       if request.method == "GET" :
            from selenium import webdriver
            from webdriver_manager.chrome import ChromeDriverManager
            from selenium.webdriver.chrome.options import Options
            
            chrome_options = Options()
            # 无头模式,无图形界面必备参数
            chrome_options.add_argument("--headless=new")
            # 关闭沙箱安全模式,cPanel非root用户运行必备
            chrome_options.add_argument("--no-sandbox")
            # 解决共享内存不足问题
            chrome_options.add_argument("--disable-dev-shm-usage")
            # 禁用GPU加速,避免渲染报错
            chrome_options.add_argument("--disable-gpu")
            # 指定窗口尺寸,避免元素定位异常
            chrome_options.add_argument("--window-size=1920,1080")
            
            driver = webdriver.Chrome(ChromeDriverManager().install(), options=chrome_options)
            driver.get("https://www.nytimes.com/international/")
            # 后续业务逻辑执行完成后务必关闭driver释放资源
            # driver.quit()

注意:原有代码末尾多写了一个右括号,需要删除避免语法报错。

4. cPanel环境补全配置

  • 确认Django运行的Python虚拟环境已安装对应依赖:执行pip install selenium webdriver-manager完成安装,也可以将两个依赖写入requirements.txt后通过cPanel的Python应用管理器一键安装
  • 若webdriver-manager自动下载驱动失败,可手动下载对应Chrome版本的chromedriver二进制文件上传到你的cPanel用户目录,赋予执行权限:chmod +x /home/你的cPanel用户名/chromedriver,同时修改代码指定驱动路径:webdriver.Chrome(executable_path="/home/你的cPanel用户名/chromedriver", options=chrome_options)
  • 若仍启动失败,联系主机商确认未限制/proc目录访问权限,没有禁止Chrome运行的安全策略
  • 不建议在请求同步逻辑中直接启动Selenium,每次请求初始化浏览器会严重占用服务器资源,且容易触发请求超时,建议将Selenium任务放到Celery等异步队列中执行。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.01 17:09:05