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

Nginx搭配Phusion Passenger无法在80端口提供服务,请求超时

问题排查与解决方案

1. 修复Nginx配置拼写错误

你的Nginx配置中存在明显拼写错误,可能干扰请求处理流程:

# 错误写法
location ~ ^/(asets|packs) {

修改为正确的静态资源路径:

location ~ ^/(assets|packs) {
    expires max;
    gzip_static on;
}

修改后执行sudo nginx -t验证配置合法性,再重启Nginx:sudo systemctl restart nginx。

2. 验证Passenger Ruby路径与Nginx权限

Nginx默认以www-data用户运行,你指定的Ruby路径/home/deploy/.rbenv/shims/ruby需要确保该用户能正常访问:

  • 检查deploy用户主目录权限:执行ls -ld /home/deploy,确保权限为drwxr-xr-x(755),若为700则执行sudo chmod 755 /home/deploy。
  • 测试www-data用户能否调用指定Ruby:执行sudo -u www-data /home/deploy/.rbenv/shims/ruby -v,若报错则需调整rbenv目录权限,或配置Nginx以deploy用户运行(需谨慎修改nginx.conf中的user指令)。

3. 修正应用目录与文件权限

确保www-data对应用目录有足够的读写权限:

  • 调整应用根目录、current目录、public目录权限:
sudo chmod -R 755 /home/deploy/myapp
sudo chown -R deploy:deploy /home/deploy/myapp
  • 给tmp目录添加读写权限(Rails启动依赖该目录):
sudo chmod -R 775 /home/deploy/myapp/current/tmp
sudo chown -R deploy:www-data /home/deploy/myapp/current/tmp

4. 分析Passenger详细日志

你已开启passenger_log_level 6,直接查看/var/log/nginx/passenger.log,重点关注以下错误:

  • 生产环境依赖缺失:比如某个gem未安装,可执行cd /home/deploy/myapp/current && sudo -u www-data bundle install --without development test补全依赖。
  • 缺少RAILS_MASTER_KEY:确保config/master.key存在,或在Nginx配置中添加环境变量:
server {
    # 其他配置...
    passenger_env_var RAILS_MASTER_KEY "你的密钥内容";
}
  • 数据库连接失败:检查config/database.yml生产环境配置,执行cd /home/deploy/myapp/current && sudo -u www-data bundle exec rails db:migrate RAILS_ENV=production验证连接。

5. 确认Passenger模块已加载

执行sudo nginx -V,查看输出中是否包含Passenger模块的编译参数(如--add-module=/usr/lib/ruby/vendor_ruby/phusion_passenger),若缺失则需重新安装Passenger的Nginx模块。

6. 检查Rails生产环境配置

  • 确保config/environments/production.rb中config.public_file_server.enabled = true(Passenger会处理静态资源,该配置作为兜底)。
  • 临时关闭config.force_ssl = false,排除HTTPS跳转导致的超时问题(后续再配置SSL)。

7. 验证Passenger应用状态

执行sudo passenger-status,查看是否有应用实例被启动。若显示无实例,说明Passenger未能成功拉起应用,结合passenger.log的错误信息进一步定位。


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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.24 18:43:32