回答編集履歴
3
pumaの起動方法を修正
test
CHANGED
@@ -64,7 +64,7 @@
|
|
64
64
|
EnvironmentFile=/home/ユーザー/プロジェクト/config/systemd.env
|
65
65
|
Restart=always
|
66
66
|
|
67
|
-
ExecStart=/home/ユーザー/.rbenv/shims/bundle exec puma
|
67
|
+
ExecStart=/home/ユーザー/.rbenv/shims/bundle exec pumactl start
|
68
68
|
ExecReload=/bin/kill -TSTP $MAINPID
|
69
69
|
ExecStop=/bin/kill -TERM $MAINPID
|
70
70
|
|
2
systemdの設定、Enviromentについて追記
test
CHANGED
@@ -20,6 +20,57 @@
|
|
20
20
|
同じように本番環境でもpumaを動かす必要があります。
|
21
21
|
また本番環境ではproductionモードで起動するのが一般的です。
|
22
22
|
検索キーワード「rails puma systemd production」
|
23
|
+
|
24
|
+
### pumaのsystemdの設定について
|
25
|
+
|
26
|
+
私が使っているpumaの設定を参考までに記載します。
|
27
|
+
なお、Gemfileにsd_notifyを追加してbundle installしておく必要があります。
|
28
|
+
|
29
|
+
```Gemfile
|
30
|
+
gem 'sd_notify'
|
31
|
+
```
|
32
|
+
|
33
|
+
### systemdの環境変数を指定するファイル
|
34
|
+
|
35
|
+
systemdのUnitファイルのEnviromentを1行ずつ記載するファイル。
|
36
|
+
数が増えてくるとこちらのほうが楽です。
|
37
|
+
ファイルのパスは自分で自由に決めてOKですが、ここでは /home/ユーザー/プロジェクト/config/systemd.envとしました。
|
38
|
+
|
39
|
+
/home/ユーザー/プロジェクト/config/systemd.env
|
40
|
+
```
|
41
|
+
RAILS_ENV=production
|
42
|
+
RAILS_PORT=Railsのポート番号
|
43
|
+
RAILS_SERVE_STATIC_FILES=false
|
44
|
+
RAILS_MASTER_KEY=config/master.keyの内容(84a02c2f.... のような文字列)
|
45
|
+
```
|
46
|
+
|
47
|
+
RAILS_MASTER_KEYはアプリごとに異なります。
|
48
|
+
ローカル環境にconfig/master.keyがあるかと思いますのでその内容を書いてください。
|
49
|
+
|
50
|
+
### Unitファイル
|
51
|
+
|
52
|
+
```
|
53
|
+
[Unit]
|
54
|
+
Description="Puma HTTP Server"
|
55
|
+
After=network.target
|
56
|
+
|
57
|
+
[Service]
|
58
|
+
# gemのsd_notifyを導入している事を前提としたオプション
|
59
|
+
Type=notify
|
60
|
+
User=ユーザー
|
61
|
+
Group=ユーザーのグループ。一般ユーザーの場合ユーザー名と同じになるはず
|
62
|
+
WatchdogSec=10
|
63
|
+
WorkingDirectory=/home/ユーザー/プロジェクト
|
64
|
+
EnvironmentFile=/home/ユーザー/プロジェクト/config/systemd.env
|
65
|
+
Restart=always
|
66
|
+
|
67
|
+
ExecStart=/home/ユーザー/.rbenv/shims/bundle exec puma -e production
|
68
|
+
ExecReload=/bin/kill -TSTP $MAINPID
|
69
|
+
ExecStop=/bin/kill -TERM $MAINPID
|
70
|
+
|
71
|
+
[Install]
|
72
|
+
WantedBy=sockets.target
|
73
|
+
```
|
23
74
|
|
24
75
|
## nginxとpumaの連携
|
25
76
|
|
1
少し修正
test
CHANGED
@@ -24,7 +24,7 @@
|
|
24
24
|
## nginxとpumaの連携
|
25
25
|
|
26
26
|
pumaを起動すると指定したポート番号でRailsアプリが起動します。
|
27
|
-
nginxではhttpまたはhttpsへのアクセスをProxyを使ってhttp://
|
27
|
+
nginxではhttpまたはhttpsへのアクセスをProxyを使って http://127.0.0.1:ポート番号 に渡す形になります。
|
28
28
|
検索キーワード「nginx rails proxy」
|
29
29
|
ざっくり書くとこんな感じです。
|
30
30
|
|