如何为基于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
相关产品推荐
相关产品推荐

