現在AWS(amazon linux2)にRailsアプリをデプロイし、ブラウザでの動作確認をしていました。
エラー発生時に/var/www/rails/【webapp】/log/production.log
productionのログを確認していますが、
ログの量が多すぎるためクリアしようと思い、
を参考にAWSでssh接続してRailsアプリディレクトリ直下でbundle exec rake log:clear
を実行すると
Errno::EACCES: Permission denied @ rb_sysopen - log/nginx.access.log
というエラーが発生し、クリアできませんでした(m_ _m)
原因はlog/nginx.access.log
の権限だと思うのですが、そもそも下記の項目についての理解が乏しいです。
- nginxのログはRailsアプリのlogフォルダの中に入れていいのか(入れた方がいいのか)?
- 入れたままでよい場合、該当ファイル権限の設定は何が適しているのか?
(777
ではやはりまずいのか、権限周りはまだまだ不得手です)
- 入れない場合はどこに保存、ログを出力する設定にした方がいいのか(AWS EC2の場合)?
もしわかる方がいらっしゃればご教授いただきますようよろしくお願いいたします(m_ _m)
【前提条件】
下記の語句は置き換えてあります
- Railsのアプリ名: 【webapp】
- 取得済みのドメイン: 【myDomain】
- 自分のユーザー名: 【username】
動作環境
Rails | AWS |
---|---|
Ruby: 2.4.5 | Amazon linux2 |
Rails: 4.2.11.1 | nginx: 1.16.1 |
Devise: 4.7.1 | EC2、RDS(MySQL) |
dotenv-railsを使用 | HTTPS(Route53)設定済 |
エラー内容
bundle exec rake log:clear
を実行すると
Errno::EACCES: Permission denied @ rb_sysopen - log/nginx.access.log
期待する動作
エラーが発生せずRailsに関するログをクリアしたい
Logフォルダ直下のファイル権限
bash
1[username@ip-xxx-xxx-xxx-xxx log]$ ls -la 2# 合計 37428 3# drwxrwxr-x 2 username username 145 10月 23 11:19 . 4# drwxr-xr-x 15 username username 314 10月 25 14:01 .. 5# -rw-rw-r-- 1 username username 0 10月 25 14:06 development.log 6# -rw-rw-r-- 1 username username 0 10月 25 14:06 integration_test.log 7# -rw-r--r-- 1 nginx root 630457 10月 25 14:09 nginx.access.log 8# -rwxrwxr-x 1 nginx username 171288 10月 24 15:13 nginx.error.log 9# -rw-rw-r-- 1 username username 13831038 10月 25 14:06 production.log 10# -rw-rw-r-- 1 username username 23682697 10月 25 14:06 unicorn.log
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2019/10/25 06:14