teratail header banner
teratail header banner
質問するログイン新規登録

質問編集履歴

2

ログ、各staging\.rbの内容を追加

2016/06/16 03:01

投稿

yappari
yappari

スコア18

title CHANGED
File without changes
body CHANGED
@@ -83,7 +83,74 @@
83
83
  end
84
84
 
85
85
  ```
86
+ __追加__
87
+ ログ
88
+ ```
89
+ INFO [47bc3a49] Running $HOME/.rbenv/bin/rbenv exec bundle exec unicorn -c /var/www/myapp/current/config/unicorn/staging.rb -E staging -D as yappari@(ipアドレス)
90
+ DEBUG [47bc3a49] Command: cd /var/www/myapp/current && ( export PATH="/usr/local/rbenv/shims:/usr/local/rbenv/bin:$PATH" RBENV_ROOT="$HOME/.rbenv" RBENV_VERSION="2.3.0" RAILS_ENV="staging" ; $HOME/.rbenv/bin/rbenv exec bundle exec unicorn -c /var/www/myapp/current/config/unicorn/staging.rb -E staging -D )
91
+ DEBUG [47bc3a49] bundler: failed to load command: unicorn (/var/www/myapp/shared/bundle/ruby/2.3.0/bin/unicorn)
92
+ ```
93
+ config/unicorn/staging.rb
94
+ ```
95
+ @app_path = '/var/www/myapp'
96
+ working_directory @app_path + "/current"
86
97
 
98
+ worker_processes 2
99
+ preload_app true
100
+ timeout 30
101
+ listen "/tmp/unicorn.sock", :backlog => 64
102
+ pid "/var/www/myapp/shared/tmp/pids/unicorn.pid"
103
+
104
+ stderr_path "#{@app_path}/log/unicorn.stderr.log"
105
+ stdout_path "#{@app_path}/log/unicorn.stdout.log"
106
+
107
+ before_fork do |server, worker|
108
+ ENV['BUNDLE_GEMFILE'] = File.expand_path('Gemfile', ENV['RAILS_ROOT'])
109
+ end
110
+
111
+ before_fork do |server, worker|
112
+ if defined?(ActiveRecord::Base)
113
+ ActiveRecord::Base.connection.disconnect!
114
+ end
115
+
116
+ old_pid = "#{server.config[:pid]}.oldbin"
117
+ if File.exists?(old_pid) && server.pid != old_pid
118
+ begin
119
+ Process.kill("QUIT", File.read(old_pid).to_i)
120
+ rescue Errno::ENOENT, Errno::ESRCH
121
+ end
122
+ end
123
+ end
124
+
125
+ after_fork do |server, worker|
126
+ if defined?(ActiveRecord::Base)
127
+ ActiveRecord::Base.establish_connection
128
+ end
129
+ end
130
+ ```
131
+ config/deploy/staging.rb
132
+ ```
133
+ set :rails_env, "staging"
134
+ set :unicorn_rack_env, "staging"
135
+ set :deploy_to, '/var/www/myapp'
136
+
137
+ user = "yappari"
138
+ ipaddress = "(ipアドレス)"
139
+
140
+ role :app, ["#{user}@#{ipaddress}"]
141
+ role :web, ["#{user}@#{ipaddress}"]
142
+ role :db, ["#{user}@#{ipaddress}"]
143
+
144
+ server '(ipアドレス)', user: 'yappari', roles: %w{web app}
145
+
146
+ set :ssh_options, {
147
+ keys: %w(/home/vagrant/.ssh/id_rsa),
148
+ forward_agent: true,
149
+ auth_methods: %w(publickey),
150
+ port: (ポート番号)
151
+ }
152
+
153
+ ```
87
154
  どうかお力を貸していただけないでしょうか?
88
155
 
89
156
  情報を追加いたしました。よろしくお願いいたします。

1

ソースコードを追加

2016/06/16 03:01

投稿

yappari
yappari

スコア18

title CHANGED
File without changes
body CHANGED
@@ -2,8 +2,9 @@
2
2
 
3
3
  http://qiita.com/zaru/items/9e02706b27094ce36902
4
4
  こちらのサイトを参考にさせていただきまして、railsアプリのデプロイに挑戦しています。
5
- バーはさくらvpsです。
5
+ カルのCentOSからさくらvpsへのデプロイです。
6
6
 
7
+ アプリ自体はrails new sample しただけの空っぽです。
7
8
 
8
9
  $ bundle exec cap staging deploy:checkまでは成功しました。
9
10
 
@@ -24,4 +25,65 @@
24
25
  手が出せません
25
26
 
26
27
 
28
+
29
+ ###補足のソースコード
30
+ Capfile
31
+ ```
32
+ require 'capistrano/setup'
33
+ require 'capistrano/deploy'
34
+
35
+ require 'sshkit/sudo'
36
+ # https://github.com/capistrano-plugins/capistrano-safe-deploy-to
37
+ require 'capistrano/safe_deploy_to' # 追加
38
+
39
+ # rbenvを使用している場合
40
+ require 'capistrano/rbenv'
41
+
42
+ # デプロイ先のサーバで、ユーザディレクトリでrbenvをインストールしている場合
43
+ set :rbenv_type, :user
44
+ set :rbenv_ruby, '2.3.0'
45
+
46
+ require 'capistrano/bundler'
47
+ require 'capistrano/rails/assets'
48
+ require 'capistrano/rails/migrations'
49
+
50
+ require 'capistrano3/unicorn'
51
+
52
+ # Rails4から分離したsecrets.ymlの環境変数を .envファイルで管理する
53
+ set :linked_files, %w{config/secrets.yml .env}
54
+
55
+ # タスクを読み込むけど、今回は特に使わない
56
+ Dir.glob('lib/capistrano/tasks/*.rake').each { |r| import r }
57
+ ```
58
+ deploy.rb
59
+ ```
60
+ lock '3.4.1'
61
+
62
+ set :application, 'sample'
63
+ set :repo_url, 'git@github.com:yappari/sample.git'
64
+ set :branch, 'master'
65
+ set :deploy_to, '/var/www/myapp'
66
+
67
+
68
+
69
+ set :scm, :git
70
+ set :log_level, :debug
71
+ set :pty, true
72
+ set :linked_dirs, %w{bin log tmp/pids tmp/cache tmp/sockets bundle public/system public/assets}
73
+ set :default_env, { path: "/usr/local/rbenv/shims:/usr/local/rbenv/bin:$PATH" }
74
+ set :keep_releases, 5
75
+
76
+ after 'deploy:publishing', 'deploy:restart'
77
+ namespace :deploy do
78
+
79
+ desc 'Restart application'
80
+ task :restart do
81
+ invoke 'unicorn:restart'
82
+ end
83
+ end
84
+
85
+ ```
86
+
27
- どうかお力を貸していただけないでしょうか?
87
+ どうかお力を貸していただけないでしょうか?
88
+
89
+ 情報を追加いたしました。よろしくお願いいたします。