###やりたいこと
capistranoを使って、デプロイを行いたいです。
AWSのRDSを使っています。
困っていること
ローカルで
%bundle exec cap production deploy
のコマンドをうった後
01 PG::ConnectionBad: could not connect to server: No such file or directory 01 Is the server running locally and accepting 01 connections on Unix domain socket "/var/run/postgresql/.s.PGSQL.5432"?
というエラーが出ます。
やったこと
postgrSQLが起動していないというエラーだとは思うのですが、
sudo amazon-linux-extras install -y postgresql11 yum list | grep postgresql sudo yum -y install postgresql-devel
これで、バージョン11をインストールをして
psql -h エンドポイント -U postgres
ログインしてデータベースに自分の入れたproductionの確認はできています。
connections on Unix domain socket "/var/run/postgresql/.s.PGSQL.5432"?
/var/runにpostgresqlというファイルはなくて、他も探しましたがなかったです。
↑これが原因でしょうか?
他に確認すべきことや、すべきことがありましたら、ご教示お願いします。
ファイル
gemfile
1ource 'https://rubygems.org' 2git_source(:github) { |repo| "https://github.com/#{repo}.git" } 3 4ruby '2.7.1' 5 6# Bundle edge Rails instead: gem 'rails', github: 'rails/rails' 7gem 'rails', '~> 6.0.3', '>= 6.0.3.4' 8# Use postgresql as the database for Active Record 9gem 'pg', '>= 0.18', '< 2.0' 10# Use Puma as the app server 11gem 'puma', '~> 4.1' 12# Use SCSS for stylesheets 13gem 'sass-rails', '>= 6' 14# Transpile app-like JavaScript. Read more: https://github.com/rails/webpacker 15gem 'webpacker', '~> 4.0' 16# Turbolinks makes navigating your web application faster. Read more: https://github.com/turbolinks/turbolinks 17gem 'turbolinks', '~> 5' 18# Build JSON APIs with ease. Read more: https://github.com/rails/jbuilder 19gem 'jbuilder', '~> 2.7' 20# Use Redis adapter to run Action Cable in production 21# gem 'redis', '~> 4.0' 22# Use Active Model has_secure_password 23# gem 'bcrypt', '~> 3.1.7' 24gem 'active_decorator' 25gem 'better_errors' 26gem 'binding_of_caller' 27gem 'devise' 28gem 'aws-sdk-s3', require: false 29gem 'bootstrap', '~> 4.1.1' 30gem 'jquery-rails' 31 32# Use Active Storage variant 33# gem 'image_processing', '~> 1.2' 34 35# Reduces boot times through caching; required in config/boot.rb 36gem 'bootsnap', '>= 1.4.2', require: false 37 38group :development, :test do 39 # Call 'byebug' anywhere in the code to stop execution and get a debugger console 40 gem 'byebug', platforms: [:mri, :mingw, :x64_mingw] 41 gem 'rubocop-rails' 42 gem 'dotenv-rails' 43end 44 45group :development do 46 # Access an interactive console on exception pages or by calling 'console' anywhere in the code. 47 gem 'listen', '~> 3.2' 48 gem 'web-console', '>= 3.3.0' 49 # Spring speeds up development by keeping your application running in the background. Read more: https://github.com/rails/spring 50 gem 'spring' 51 gem 'spring-watcher-listen', '~> 2.0.0' 52 gem "capistrano", "~> 3.10", require: false 53 gem "capistrano-rails", "~> 1.6", require: false 54 gem 'capistrano-rbenv', '~> 2.2' 55 gem 'capistrano-rbenv-vars', '~> 0.1' 56 gem 'capistrano3-puma', '< 5' 57end 58 59group :test do 60 # Adds support for Capybara system testing and selenium driver 61 gem 'capybara', '>= 2.15' 62 gem 'selenium-webdriver' 63 # Easy installation and use of web drivers to run system tests with browsers 64 gem 'webdrivers' 65end 66 67# Windows does not include zoneinfo files, so bundle the tzinfo-data gem 68gem 'tzinfo-data', platforms: [:mingw, :mswin, :x64_mingw, :jruby] 69
capfile
1require 'capistrano/rbenv' 2require 'capistrano/bundler' 3require 'capistrano/rails/assets' 4require 'capistrano/rails/migrations' 5require 'capistrano/puma' 6install_plugin Capistrano::Puma 7install_plugin Capistrano::Puma::Nginx
config/deploy.rb
lock "~> 3.14.1" set :application, "アプリ名" set :repo_url, "GitHubのリポジトリURL" set :rbenv_ruby, File.read('.ruby-version').strip set :branch, "main" set :nginx_config_name, "#{fetch(:application)}.conf" set :nginx_sites_enabled_path, "/etc/nginx/conf.d" append :linked_files, "config/master.key" append :linked_dirs, "log", "tmp/pids", "tmp/cache", "tmp/sockets", "node_modules"
database.yml
production: <<: *default database: アプリ名_production username: postgres password: <%= ENV['アプリ名_DATABASE_PASSWORD'] %> host: <%= ENV['アプリ名_DATABASE_HOSTNAME'] %>
EC2でpostgrSQLが動いていないようです
%psql -l psql: サーバに接続できませんでした: No such file or directory ローカルにサーバが稼動していますか? Unixドメインソケット"/var/run/postgresql/.s.PGSQL.5432"で通信を受け付けていますか? %psql -h エンドポイント -U postgres psql (11.5、サーバ 12.4) 警告: psql のメジャーバージョンは 11 ですが、サーバのメジャーバージョンは 12 です。 psql の機能の中で、動作しないものがあるかもしれません。 SSL 接続 (プロトコル: TLSv1.2、暗号化方式: ECDHE-RSA-AES256-GCM-SHA384、ビット長: 256、圧縮: オフ) "help" でヘルプを表示します。