簡體   English   中英

Capistrano-Puma沒有啟動Puma Server

[英]Capistrano-Puma Not Starting Puma Server

問題面臨

當我運行bundle exec cap production puma:start ,我得到了Puma成功啟動的響應:

DEBUG [e4382d1e]    * Pruning Bundler environment
DEBUG [e4382d1e]
DEBUG [e4382d1e]    [2599] Puma starting in cluster mode...
DEBUG [e4382d1e]
DEBUG [e4382d1e]    [2599] * Version 3.0.2 (ruby 2.2.1-p85), codename: Plethora of Penguin Pinatas
DEBUG [e4382d1e]
DEBUG [e4382d1e]    [2599] * Min threads: 0, max threads: 16
DEBUG [e4382d1e]
DEBUG [e4382d1e]    [2599] * Environment: staging
DEBUG [e4382d1e]
DEBUG [e4382d1e]    [2599] * Process workers: 2
DEBUG [e4382d1e]
DEBUG [e4382d1e]    [2599] * Phased restart available
DEBUG [e4382d1e]
DEBUG [e4382d1e]    [2599] * Listening on tcp://0.0.0.0:9294
DEBUG [e4382d1e]
DEBUG [e4382d1e]    [2599] * Daemonizing...

然而,

  1. 當我運行bundle exec cap production puma:status ,它說它找不到文件puma.pid ,因此我覺得Puma沒有運行,而且它沒有運行,
  2. 在服務器上, curl 0.0.0.0:9294打印curl: (7) Failed to connect to 0.0.0.0 port 9294: Connection refused
  3. 服務器上不存在文件puma.pid ,和
  4. 如果我嘗試手動啟動服務器上的Puma,它可以正常工作。

我的設置信息

這是我的Gemfile的一部分:

gem 'puma'

group :development do
  gem 'spring'
  gem 'capistrano', '~> 3.0'
  gem 'capistrano-rails'
  gem 'capistrano-rvm'
  gem 'capistrano3-puma'
end

這是Capfile

require 'capistrano/setup'
require 'capistrano/deploy'
require 'capistrano/rails'
require 'capistrano/rvm'
require 'capistrano/puma'
require 'capistrano/puma/nginx'

這是config/deploy/production.rb

server 'aws', user: 'my-username', roles: %w{app db web}
set :puma_bind, 'tcp://0.0.0.0:9294'

任何想法:

  1. 問題的原因是什么?
  2. 怎么解決?

謝謝。

更新:這是Capistrano文件的回購。 我只剩下Capistrano部分(這是一個全新的項目): https//github.com/flyfy1/CodeRead/

我只是遇到同樣的問題,並修復它。 當你使用cap puma:start時,你會在終端中看到以下句子:

 puma:start
      using conf file /your_web_app_path/shared/puma.rb
      01 ~/.rvm/bin/rvm default do bundle exec puma -C /your_web_app_path/shared/puma.rb --daemon

在your_web_app_path / current /執行bundle exec puma -C /your_web_app_path/shared/puma.rb ,沒有deamon選項。

它會告訴你應用程序有什么問題。 對我來說,它告訴我

 No such file or directory @ rb_io_reopen - /my_web_app_path/shared/log/puma_access.log 

問題

Capistrano-Puma需要特定的共享目錄,否則服務器將無法啟動。

這些是:
TMP /的PID
tmp /套接字日志

使用以下命令在deploy.rb中創建共享目錄:

set :linked_dirs, %w(tmp/pids tmp/sockets log)

驗證**

cap puma:start說它已經啟動但是沒有告訴你它然后失敗了。 驗證:

cap puma:status

要么

ps -ax | grep puma

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM