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

如何为基于RVM的Rails应用配置Puma服务的ExecStart?

Puma服务配置失败排查

问题背景

我正尝试正确配置Puma服务,但始终未能成功。

Nginx配置(nginx.conf)

upstream puma {
  server unix:///home/rails/myapps/myproj/shared/tmp/sockets/myproj-puma.sock;
}

server {
  listen 80 default_server deferred;
  # server_name example.com;

  root /home/rails/myapps/myproj/current/public;
  access_log /home/rails/myapps/myproj/current/log/nginx.access.log;
  error_log /home/rails/myapps/myproj/current/log/nginx.error.log info;

  location ^~ /assets/ {
    gzip_static on;
    expires max;
    add_header Cache-Control public;
  }

  try_files $uri/index.html $uri @puma;
  location @puma {
    proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
    proxy_set_header Host $http_host;
    proxy_redirect off;

    proxy_pass http://puma;
  }

  error_page 500 502 503 504 /500.html;
  client_max_body_size 10M;
  keepalive_timeout 10;
}

现状说明

文件/home/rails/myapps/myproj/shared/tmp/sockets/myproj-puma.sock不存在,该目录为空。

Puma服务单元文件(myproj_puma_production.service)

[Unit]
Description=redata-app
#Requires=network.target

[Service]
Type=simple
User=rails
#Group=rails
#WorkingDirectory=/home/rails/myapps/myproj/
WorkingDirectory=/home/rails/myapps/myproj/
#ExecStart=/usr/share/rvm/bin/rvm all do bundle exec puma -b tcp://0.0.0.0:3000 -e production
#ExecStart=/usr/share/rvm/rubies/ruby-3.2.2/bin/bundle exec puma -C /home/rails/myapps/myproj/current/config/puma.rb
ExecStart=/usr/share/rvm/rubies/ruby-3.2.2/bin exec puma -C /home/rails/myapps/myproj/current/config/puma.rb
TimeoutSec=30s
RestartSec=30s
Restart=always

[Install]
WantedBy=multi-user.target

错误信息

执行systemctl --user status redata_puma_production后得到以下报错:

● myproj_puma_production.service - myproj-app
     Loaded: loaded (/etc/xdg/systemd/user/myproj_puma_production.service; enabled; vendor preset: enabled)
     Active: activating (auto-restart) (Result: exit-code) since Mon 2024-04-15 16:06:43 UTC; 25s ago
    Process: 122683 ExecStart=/usr/share/rvm/rubies/ruby-3.2.2/bin exec puma -C /home/rails/myapps/myproj/current/config/puma.rb (code=exited, status=216/GROUP)
   Main PID: 122683 (code=exited, status=216/GROUP)
        CPU: 2ms

疑问点

我不知道如何正确配置ExecStart字段。尝试执行which puma无输出,Puma是安装在Rails应用内的,请问我遗漏了什么?

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.25 14:30:53