#ruby-on-rails #ruby #amazon-ec2 #capistrano #ruby-on-rails-6
#ruby-on-rails #ruby #amazon-ec2 #capistrano #ruby-on-rails-6
Вопрос:
пожалуйста, у меня гигантская проблема уже более 10 часов.
Всякий раз, когда я запускаю развертывание своего приложения в Rails с Capistrano и Puma и запускаю перезапуск nginx, я вижу эту ошибку при попытке получить доступ к своему веб-сайту:
введите описание изображения здесь
Когда я обращаюсь к своим журналам nginx, я вижу следующую ошибку:
2020/12/29 04:09:50 [crit] 9536#9536: *73 connect() to unix:///home/ubuntu/apps/my_app/shared/tmp/sockets/my_app-puma.sock failed (2: No such file or directory) while connecting to upstream, client: [CLIENT_ID], server: , request: "GET / HTTP/1.1", upstream: "http://unix:///home/ubuntu/apps/my_app/shared/tmp/sockets/my_app-puma.sock:/", host: "[MY_HOST]"
2020/12/29 04:09:50 [crit] 9536#9536: *73 connect() to unix:///home/ubuntu/apps/my_app/shared/tmp/sockets/my_app-puma.sock failed (2: No such file or directory) while connecting to upstream, client: [CLIENT_ID], server: , request: "GET / HTTP/1.1", upstream: "http://unix:///home/ubuntu/apps/my_app/shared/tmp/sockets/my_app-puma.sock:/500.html", host: "[MY_HOST]"
Заранее спасибо за чью-то помощь. Поскольку прошло более 10 часов, я пытаюсь решить проблему отсутствия файла «.sock», и я не могу
Обновление 1:
Следуя руководству, я создаю:
Я создаю в пути: /etc/systemd/system
файл: puma-website.service
Внутри есть:
After=network.target
[Service]
# Foreground process (do not use --daemon in ExecStart or config.rb)
Type=simple
# Preferably configure a non-privileged user
User=ubuntu
Group=ubuntu
# Specify the path to your puma application root
WorkingDirectory=/home/ubuntu/my_app/current
# Helpful for debugging socket activation, etc.
Environment=PUMA_DEBUG=1
#EnvironmentFile=/var/www/my-website.com/.env
# The command to start Puma
ExecStart=/home/ubuntu/.rbenv/shims/bundle exec puma -C /home/ubuntu/my_app/current/config/puma.rb
Restart=always
[Install]
WantedBy=multi-user.target
Но я ошибаюсь:
:/etc/systemd/system$ sudo systemctl статус puma-website.service
● puma-website.service
Loaded: loaded (/etc/systemd/system/puma-website.service; enabled; vendor preset: enabled)
Active: failed (Result: exit-code) since Tue 2020-12-29 00:52:19 UTC; 12h ago
Process: 4316 ExecStart=/home/ubuntu/.rbenv/shims/bundle exec puma -C /home/ubuntu/my_app/current/config/puma.rb (code=exited, status=1/FAILURE
Main PID: 4316 (code=exited, status=1/FAILURE)
Dec 29 00:52:19 MyIp systemd[1]: puma-website.service: Main process exited, code=exited, status=1/FAILURE
Dec 29 00:52:19 MyIp systemd[1]: puma-website.service: Failed with result 'exit-code'.
Dec 29 00:52:19 MyIp systemd[1]: puma-website.service: Service hold-off time over, scheduling restart.
Dec 29 00:52:19 MyIp systemd[1]: puma-website.service: Scheduled restart job, restart counter is at 10.
Dec 29 00:52:19 MyIp systemd[1]: Stopped puma-website.service.
Dec 29 00:52:19 MyIp systemd[1]: puma-website.service: Start request repeated too quickly.
Dec 29 00:52:19 MyIp systemd[1]: puma-website.service: Failed with result 'exit-code'.
Dec 29 00:52:19 MyIp systemd[1]: Failed to start puma-website.service.
Комментарии:
1. Вы проверили, что Puma запущена? У меня отсутствует файл sock, похоже, что Puma уволилась.
2. Спасибо за ответ @Casper, я отредактировал свой вопрос с помощью своего служебного файла Puma, и при попытке запустить мой сервис Puma действительно возникает ошибка. Я не видел этого раньше, поэтому я считаю, что мне нужно лучше настроить свой сервис.
3. Я думаю, у Puma должен быть свой собственный файл журнала в папке Rails. Посмотрите там больше ошибок.
4. ДА, РАБОТАЕТ. Настоящая проблема в моем ExecStart, путь очень неправильный. Спасибо @Casper.