回答編集履歴

3

pumaの起動方法を修正

2024/09/27 07:30

投稿

mingos
mingos

スコア4181

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 -e production
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について追記

2024/09/27 07:20

投稿

mingos
mingos

スコア4181

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

少し修正

2024/09/27 06:27

投稿

mingos
mingos

スコア4181

test CHANGED
@@ -24,7 +24,7 @@
24
24
  ## nginxとpumaの連携
25
25
 
26
26
  pumaを起動すると指定したポート番号でRailsアプリが起動します。
27
- nginxではhttpまたはhttpsへのアクセスをProxyを使ってhttp://localhost:ポート番号 に渡す形になります。
27
+ nginxではhttpまたはhttpsへのアクセスをProxyを使って http://127.0.0.1:ポート番号 に渡す形になります。
28
28
  検索キーワード「nginx rails proxy」
29
29
  ざっくり書くとこんな感じです。
30
30