回答編集履歴
2
追記
test
CHANGED
@@ -59,3 +59,33 @@
|
|
59
59
|
これはおかしいです。killが失敗したか、違うプロセスをkillしたか何方かです。
|
60
60
|
|
61
61
|
3000を使おうとしているのが、unicorn と bundle exec rails s -e production -b 0.0.0.0 と2つ有りますから、要注意。
|
62
|
+
|
63
|
+
|
64
|
+
|
65
|
+
|
66
|
+
|
67
|
+
追記2
|
68
|
+
|
69
|
+
pry >User.count で => 0 となるってことは production環境で RailsとMySQLは接続できています。
|
70
|
+
|
71
|
+
なのになぜ???
|
72
|
+
|
73
|
+
気になるのは
|
74
|
+
|
75
|
+
bundle exec unicorn_rails -c config/unicorn.rb -E production -D
|
76
|
+
|
77
|
+
もしかしたら developmentで起動していないか?
|
78
|
+
|
79
|
+
実は私は 環境をパラメーターで渡すのは余り信用していないのです。
|
80
|
+
|
81
|
+
次の2つ試してください
|
82
|
+
|
83
|
+
RAILS_ENV=production bundle exec unicorn_rails -c config/unicorn.rb -D
|
84
|
+
|
85
|
+
-E でなく -e(下記のように)で
|
86
|
+
|
87
|
+
bundle exec unicorn_rails -c config/unicorn.rb -e production -D
|
88
|
+
|
89
|
+
|
90
|
+
|
91
|
+
AWSでいつまでも3000で実行するわけでは無いでしょうから、nginxとかに切り替えたほうが早いかも
|
1
修正
test
CHANGED
@@ -1,5 +1,61 @@
|
|
1
|
-
config/uncorn.rb に
|
1
|
+
~~config/uncorn.rb に
|
2
2
|
|
3
3
|
listen
|
4
4
|
|
5
|
-
という設定項目が有ると思います。そこが /tmp/mysql.sock になってませんか?
|
5
|
+
という設定項目が有ると思います。そこが /tmp/mysql.sock になってませんか?~~
|
6
|
+
|
7
|
+
|
8
|
+
|
9
|
+
すみません、勘違いしていました、unicorn - nginx 間の問題ではなく、Rails - Mysqlの問題ですね。
|
10
|
+
|
11
|
+
質問の最初に書かれている「Can't connect to local MySQL server through socket '/tmp/mysql.sock'」は
|
12
|
+
|
13
|
+
> [ec2-user@ip アプリ名]$ rails db:create RAILS_ENV=production
|
14
|
+
|
15
|
+
[ec2-user@ip アプリ名]$ rails db:migrate RAILS_ENV=production
|
16
|
+
|
17
|
+
|
18
|
+
|
19
|
+
が成功していれば 「Rails - Mysqlの問題」は解決しています。
|
20
|
+
|
21
|
+
成功していたならさらに
|
22
|
+
|
23
|
+
> // 再度エラーでひっかかっていた箇所を確認すると、同様のエラーのままでした。
|
24
|
+
|
25
|
+
Can't connect to local MySQL server through socket '/tmp/mysql.sock'
|
26
|
+
|
27
|
+
|
28
|
+
|
29
|
+
というのが不思議です。
|
30
|
+
|
31
|
+
Rails - Mysqlの問題
|
32
|
+
|
33
|
+
Rails - unicorn の問題
|
34
|
+
|
35
|
+
の切り分けがまだ不十分に感じます。
|
36
|
+
|
37
|
+
RAILS_ENV=production rails c
|
38
|
+
|
39
|
+
でproduction環境でconsoleに入って、定義済のモデル、例えばUserがあるなら
|
40
|
+
|
41
|
+
User.count
|
42
|
+
|
43
|
+
とした時に 0 とか 12 とか返ってくるか確認してください。
|
44
|
+
|
45
|
+
帰ってきたら Rails - Mysqlの問題 はOKです。
|
46
|
+
|
47
|
+
RAILS_ENV=production は commandの引数で入れるとだめなcommandもあるので、念の為commandの前に置いて試してください。
|
48
|
+
|
49
|
+
|
50
|
+
|
51
|
+
なお、
|
52
|
+
|
53
|
+
> in `initialize': Address already in use - bind(2) for "0.0.0.0" port 3000 (Errno::EADDRINUSE)
|
54
|
+
|
55
|
+
プロセスをkillし直しましたが同じくエラーのままでした。
|
56
|
+
|
57
|
+
|
58
|
+
|
59
|
+
これはおかしいです。killが失敗したか、違うプロセスをkillしたか何方かです。
|
60
|
+
|
61
|
+
3000を使おうとしているのが、unicorn と bundle exec rails s -e production -b 0.0.0.0 と2つ有りますから、要注意。
|