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

Rails7.1+Passenger+Nginx部署后页面空白,求排查思路

故障排查线索
  • 优先检查核心日志

    • 查看Nginx错误日志(通常路径/var/log/nginx/error.log或站点自定义日志),执行命令:tail -f /var/log/nginx/error.log,同时刷新页面或重新curl,定位Passenger启动报错、权限拒绝、依赖缺失等信息。
    • 查看Rails生产环境日志:tail -f 项目路径/log/production.log,检查是否存在初始化失败、路由错误、数据库连接异常等问题。
    • 查看Passenger系统日志(部分系统路径为/var/log/passenger.log),确认Passenger是否正确加载Ruby环境与Rails应用。
  • 验证Passenger与Ruby/Rails环境匹配

    • 执行passenger-config about ruby-versions,确认Passenger识别到Ruby 3.2.2,且与项目指定版本一致。
    • 在项目根目录执行bundle check,确保所有Gem依赖已正确安装,无版本不匹配或缺失情况。
    • 直接启动Rails生产服务器:rails server -e production,尝试访问localhost:3000,排除Passenger转发环节的问题。
  • 检查Nginx配置有效性

    • 验证配置语法:nginx -t,确保无语法错误。
    • 确认核心配置项正确,示例关键片段:
      server {
          listen 80;
          server_name 你的域名;
          root /path/to/your/app/public; # 必须指向Rails项目的public目录
          passenger_enabled on;
          passenger_ruby /path/to/ruby/3.2.2/bin/ruby; # 指定正确Ruby路径
          passenger_app_env production; # 确保环境为production
      }
      
    • 确认root路径指向Rails项目的public目录,且该目录对Nginx进程(通常为www-data用户)具备访问权限。
  • 文件与目录权限排查

    • 调整项目目录权限,确保Nginx/Passenger进程可读写:chmod -R 755 项目路径,chown -R www-data:www-data 项目路径(根据系统用户组调整)。
    • 确保Rails临时目录权限正确:chmod -R 775 项目路径/tmp,避免缓存、进程文件写入失败。
  • Rails生产环境配置校验

    • 确认config/environments/production.rb中config.public_file_server.enabled为true(确保静态文件可正常访问)。
    • 检查config/database.yml的生产环境配置,执行rails db:migrate RAILS_ENV=production确保数据库迁移已完成。
    • 确认config/routes.rb存在有效根路由(root 'controller#action'),且对应控制器动作可正常返回内容。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.28 00:22:08