🎄teratailクリスマスプレゼントキャンペーン2024🎄』開催中!

\teratail特別グッズやAmazonギフトカード最大2,000円分が当たる!/

詳細はこちら
CentOS

CentOSは、主にRed Hat Enterprise Linux(RHEL)をベースにした、フリーのソフトウェアオペレーティングシステムです。

Ruby

Rubyはプログラミング言語のひとつで、オープンソース、オブジェクト指向のプログラミング開発に対応しています。

nginx

nginixは軽量で高性能なwebサーバーの1つです。BSD-likeライセンスのもとリリースされており、あわせてHTTPサーバ、リバースプロキシ、メールプロキシの機能も備えています。MacOSX、Windows、Linux、上で動作します。

Linux

Linuxは、Unixをベースにして開発されたオペレーティングシステムです。日本では「リナックス」と呼ばれています。 主にWebサーバやDNSサーバ、イントラネットなどのサーバ用OSとして利用されています。 上位500のスーパーコンピュータの90%以上はLinuxを使用しています。 携帯端末用のプラットフォームAndroidは、Linuxカーネル上に構築されています。

Ruby on Rails

Ruby on Railsは、オープンソースのWebアプリケーションフレームワークです。「同じことを繰り返さない」というRailsの基本理念のもと、他のフレームワークより少ないコードで簡単に開発できるよう設計されています。

Q&A

解決済

2回答

3316閲覧

railsの本番環境で「bundle exec pumactl start」と実行するとエラーが出る

soft_admin

総合スコア63

CentOS

CentOSは、主にRed Hat Enterprise Linux(RHEL)をベースにした、フリーのソフトウェアオペレーティングシステムです。

Ruby

Rubyはプログラミング言語のひとつで、オープンソース、オブジェクト指向のプログラミング開発に対応しています。

nginx

nginixは軽量で高性能なwebサーバーの1つです。BSD-likeライセンスのもとリリースされており、あわせてHTTPサーバ、リバースプロキシ、メールプロキシの機能も備えています。MacOSX、Windows、Linux、上で動作します。

Linux

Linuxは、Unixをベースにして開発されたオペレーティングシステムです。日本では「リナックス」と呼ばれています。 主にWebサーバやDNSサーバ、イントラネットなどのサーバ用OSとして利用されています。 上位500のスーパーコンピュータの90%以上はLinuxを使用しています。 携帯端末用のプラットフォームAndroidは、Linuxカーネル上に構築されています。

Ruby on Rails

Ruby on Railsは、オープンソースのWebアプリケーションフレームワークです。「同じことを繰り返さない」というRailsの基本理念のもと、他のフレームワークより少ないコードで簡単に開発できるよう設計されています。

0グッド

2クリップ

投稿2019/09/24 06:34

CentOS7
Rails 6
Nginx
Puma

以上で本番環境を作って、いざ「bundle exec pumactl start」でアプリを起動させようとすると、
以下のようなエラーが出て起動しません。

uninitialized constant #<Class:#<Puma::DSL:0x00005628c8d4bd08>>::Rails config/puma.rb:40:in `_load_from' /home/user/app/vendor/bundle/ruby/2.6.0/gems/puma-3.12.1/lib/puma/dsl.rb:43:in `instance_eval' /home/user/app/vendor/bundle/ruby/2.6.0/gems/puma-3.12.1/lib/puma/dsl.rb:43:in `_load_from' /home/user/app/vendor/bundle/ruby/2.6.0/gems/puma-3.12.1/lib/puma/configuration.rb:194:in `block in load' /home/user/app/vendor/bundle/ruby/2.6.0/gems/puma-3.12.1/lib/puma/configuration.rb:194:in `each' /home/user/app/vendor/bundle/ruby/2.6.0/gems/puma-3.12.1/lib/puma/configuration.rb:194:in `load' /home/user/app/vendor/bundle/ruby/2.6.0/gems/puma-3.12.1/lib/puma/control_cli.rb:85:in `initialize' /home/user/app/vendor/bundle/ruby/2.6.0/gems/puma-3.12.1/bin/pumactl:5:in `new' /home/user/app/vendor/bundle/ruby/2.6.0/gems/puma-3.12.1/bin/pumactl:5:in `<top (required)>' /home/user/app/vendor/bundle/ruby/2.6.0/bin/pumactl:23:in `load' /home/user/app/vendor/bundle/ruby/2.6.0/bin/pumactl:23:in `<top (required)>' /home/user/.rbenv/versions/2.6.4/lib/ruby/gems/2.6.0/gems/bundler-2.0.2/lib/bundler/cli/exec.rb:74:in `load' /home/user/.rbenv/versions/2.6.4/lib/ruby/gems/2.6.0/gems/bundler-2.0.2/lib/bundler/cli/exec.rb:74:in `kernel_load' /home/user/.rbenv/versions/2.6.4/lib/ruby/gems/2.6.0/gems/bundler-2.0.2/lib/bundler/cli/exec.rb:28:in `run' /home/user/.rbenv/versions/2.6.4/lib/ruby/gems/2.6.0/gems/bundler-2.0.2/lib/bundler/cli.rb:465:in `exec' /home/user/.rbenv/versions/2.6.4/lib/ruby/gems/2.6.0/gems/bundler-2.0.2/lib/bundler/vendor/thor/lib/thor/command.rb:27:in `run' /home/user/.rbenv/versions/2.6.4/lib/ruby/gems/2.6.0/gems/bundler-2.0.2/lib/bundler/vendor/thor/lib/thor/invocation.rb:126:in `invoke_command' /home/user/.rbenv/versions/2.6.4/lib/ruby/gems/2.6.0/gems/bundler-2.0.2/lib/bundler/vendor/thor/lib/thor.rb:387:in `dispatch' /home/user/.rbenv/versions/2.6.4/lib/ruby/gems/2.6.0/gems/bundler-2.0.2/lib/bundler/cli.rb:27:in `dispatch' /home/user/.rbenv/versions/2.6.4/lib/ruby/gems/2.6.0/gems/bundler-2.0.2/lib/bundler/vendor/thor/lib/thor/base.rb:466:in `start' /home/user/.rbenv/versions/2.6.4/lib/ruby/gems/2.6.0/gems/bundler-2.0.2/lib/bundler/cli.rb:18:in `start' /home/user/.rbenv/versions/2.6.4/lib/ruby/gems/2.6.0/gems/bundler-2.0.2/exe/bundle:30:in `block in <top (required)>' /home/user/.rbenv/versions/2.6.4/lib/ruby/gems/2.6.0/gems/bundler-2.0.2/lib/bundler/friendly_errors.rb:124:in `with_friendly_errors' /home/user/.rbenv/versions/2.6.4/lib/ruby/gems/2.6.0/gems/bundler-2.0.2/exe/bundle:22:in `<top (required)>' /home/user/.rbenv/versions/2.6.4/bin/bundle:23:in `load' /home/user/.rbenv/versions/2.6.4/bin/bundle:23:in `<main>'

nginxの設定は以下の通りです。

nginx

1user user; 2worker_processes auto; 3error_log /var/log/nginx/error.log; 4pid /run/nginx.pid; 5 6include /usr/share/nginx/modules/*.conf; 7 8events { 9 worker_connections 1024; 10} 11 12http { 13 log_format main '$remote_addr - $remote_user [$time_local] "$request" ' 14 '$status $body_bytes_sent "$http_referer" ' 15 '"$http_user_agent" "$http_x_forwarded_for"'; 16 17 access_log /var/log/nginx/access.log main; 18 19 sendfile on; 20 tcp_nopush on; 21 tcp_nodelay on; 22 keepalive_timeout 65; 23 types_hash_max_size 2048; 24 25 include /etc/nginx/mime.types; 26 default_type application/octet-stream; 27 28 upstream app { 29 server unix:/home/user/app/tmp/sockets/puma.sock; 30 } 31 32 server { 33 listen 443; 34 server_name app.com; 35 root /usr/share/nginx/html; 36 client_max_body_size 70m; 37 38 ssl on; 39 ssl_certificate "/etc/nginx/ssl.crt/server.crt"; 40 ssl_certificate_key "/etc/nginx/ssl.key/server.key"; 41 ssl_session_cache shared:SSL:1m; 42 ssl_session_timeout 10m; 43 ssl_ciphers HIGH:!aNULL:!MD5; 44 ssl_prefer_server_ciphers on; 45 46 include /etc/nginx/default.d/*.conf; 47 48 location / { 49 proxy_pass https://app; 50 proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; 51 proxy_set_header Host $http_host; 52 proxy_redirect off; 53 } 54 55 error_page 404 500 502 503 504 /error.html; 56 location = /error.html { 57 root /usr/share/nginx/html; 58 } 59 60 }

また、config/puma.rbには

Puma

1bind "unix://#{Rails.root}/tmp/sockets/puma.sock" 2 3if "production" == ENV.fetch("RAILS_ENV") { "production" } 4 ssl_bind '0.0.0.0', '9292', { 5 key: "/etc/nginx/ssl.key/server.key", 6 cert: "/etc/nginx/ssl.crt/server.crt", 7 verify_mode: "none" 8 } 9end

という設定をしています。

対処法を教えてください。

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

guest

回答2

0

根本的な解決にはならないのですが、Railsという定数がないと言われているので、対症療法として、次のような修正をしてみてはいかがでしょう。

socketファイルの置き場が変わってしまいますが....

ruby

1# 変更前 2bind "unix://#{Rails.root}/tmp/sockets/puma.sock" 3 4# 変更後 5bind "unix:///var/run/puma.sock"

それにしても、なぜRailsが呼び出せないんでしょうね

投稿2019/09/25 13:07

siruku6

総合スコア1382

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

0

自己解決

unicorn使うことにしました。

投稿2019/09/27 03:30

soft_admin

総合スコア63

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.36%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問