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

CentOS 7环境下在cPanel WHM部署Rails 7应用时遇到的问题

Rails 7部署到cPanel WHM(CentOS7)问题排查方案

问题1:WHM启用Ruby on Rails后cPanel无对应按钮

  • 检查套餐功能权限:登录WHM进入Feature Manager,找到对应cPanel用户的套餐,确保勾选了「Ruby on Rails」或「Setup Ruby App」相关选项——全局启用不代表套餐自动开放权限。
  • 刷新缓存/换浏览器:cPanel页面可能存在缓存,按Ctrl+F5强制刷新,或切换至无痕模式访问。
  • 确认cPanel版本:新版cPanel已将Ruby应用管理整合至Setup Ruby App工具,不再显示单独的Ruby on Rails按钮,直接找这个工具即可。

问题2:手动应用注册无效

  • 改用cPanel内置工具:优先使用Setup Ruby App创建应用,工具会自动配置Ruby环境、Passenger及虚拟主机,避免手动配置错误。
  • 手动注册需指定正确环境:在Rails项目根目录执行注册命令时,要使用cPanel提供的Ruby版本,而非系统全局Ruby,例如:
    /opt/cpanel/ea-ruby30/root/usr/bin/passenger-config register-app --name your_app_name --startup-file config.ru
    
  • 验证Passenger配置:检查项目根目录的config.ru是否存在,确认passenger_app_root路径指向正确的项目目录。

问题3:访问域名仅显示public_html下的index.html

  • 调整文档根目录:登录cPanel进入Domains > Domains,将对应域名的文档根设置为Rails项目的public文件夹(例如/home/yourusername/public_html/your_rails_app/public)。
  • 配置.htaccess转发:若不想修改文档根,在public_html下创建.htaccess文件,添加以下内容(替换为你的实际路径和Ruby版本):
    PassengerAppRoot /home/yourusername/public_html/your_rails_app
    PassengerRuby /opt/cpanel/ea-ruby30/root/usr/bin/ruby
    PassengerStartupFile config.ru
    DirectoryIndex disabled
    
  • 删除冲突的静态文件:直接删除public_html下的index.html,避免web服务器优先加载静态文件。
  • 检查Passenger服务状态:在WHM终端执行passenger-status,确认Passenger服务正常运行,无异常进程。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.13 04:30:57