Git編 Untracked files

何気なく使用していたGitにて

細かく行うように心がける中で

 

 

ファイルによって

git commit -am

の際

Untracked files

のファイルがはじかれてしまう・・・

 

 

気になって調べたところ

【Git】「Untracked files: ...」の意味と元に戻す方法! | あきぞらてっく

 

新しく生成したファイルは明示的に指定しないと

いけないのか・・?

 

丁寧にaddしたらステージングにあがりました

 

やはり生成したファイルに関しては

add -Aで全てのファイルのようにステージングにあげる作業が必要

(もしくは明示的に指定)

 

 

 

デプロイ環境で画像表示ができないエラー

 

今回のエラーは、「新たに追加をした画像が表示できず追加ページがエラーとなる」

・・・です

 

追加を行ったページ以外は表示される状態。

 

試しに

sudo tail -f /var/log/nginx/error.log | grep “error”

nginxエラーログ出てこず

 

tail -f puma-error.log

pumaエラーログ出てこず

 

・・・確かにアプリケーション自体は開けているのでこの2つは動かせている状態なのかな。

 

ここでそもそもgit pullしているはずの画像を保持できているのか確認を行いました。

 

ls public/assets/

 

みにくい・・・

 

 ls -la public/assets/ | grep .jpg

だいぶスッキリしました

 

「ls -l」コマンドの表示からファイルの属性を理解しよう:“応用力”をつけるためのLinux再入門(9)(1/4 ページ) - @IT

 

ls -l で属性を表示(更新日なども確認したかったので)

【Linux】lsコマンド - Qiita

 

ls -aで全て指定

 

| grep .jpg でjpgファイルに絞りました

 

 

結果からいうと、保存されていませんでした

 

つまりコンパイルできていない・・

 

 bundle exec rails assets:precompile RAILS_ENV=production

 

コンパイルするコマンドを打つと

エラーが表示され、つまり

このエラーを解決しないとダメそう。

 

<エラー文>

bootsnap-1.11.1/lib/bootsnap/load_path_cache/core_ext/kernel_require.rb:15:in `require': cannot load

 

・・・pfいじれるタイミングでbundler周り(バージョン?)

確認しようと思います

 

 

herokuって?

 

気になっていながらなんとなくにしてしまっていたので備忘録で残しておきます。

 

大枠で

『アプリケーション実行のための環境』は複数あり

 

SaaS、PaaS、IaaS、DaaS

などのサーバー

 

このうちherokuはPaaSであり

インフラとOS などのプラットフォームが整っている

(ちなみに現状自分が扱っているAWSも同じPaaS)

 

実行までにパソコンを用意したりセットアップをしたり…

とにかく色々準備が必要で大変なことを

まとめて解決してくれる。

 

AWSとの違いは

 

扱える言語の違い

価格

 

など。

 

AWSと同じ区分という事でなんとなくイメージしやすいです!

 

ちなみによくいうホスティングサービスとクラウドサービスについてもなんとなくでしたので

ホスティングサービス=料金が固定

クラウドサービス=柔軟に変更

 

 

サーバーもざっくり整理

SaaS

Googleスプレッドシート

Googleドキュメント』

Gmailなどのwebメール

などが分かりやすい例

 

特徴

①インターネットがあればどこからでもアクセス可能

②複数人が編集や管理が可能

 

要は

必要なものを開発や管理不要で使用できる

ソフトウェア、提供形態

 

 

・IaaS

AWSのEC2』

など

 

インフラをネットワーク経由で保有できる

CPU・メモリ・ストレージを利用

 

 

https://www.itmanage.co.jp/column/saas-paas-iaas/#anc002

 

 

 

 

Rails 絞り込み表示

作成中のポートフォリオのTOP画面、

こだわりたいけど悩みすぎてしまいなかなか着手できず、、

ただ限界もあるのでひとまず参考のWebサイトを点々としていると

今回「投稿」がキーになっている作品のため

TOPに出そうかな・・と思い

 

TOPには色々な条件で「投稿」をメインで情報を入れていくことにしました。

 

そんな中でまずは「新着投稿」を出すことに。

 

ただし条件があり、

「公開ステータスが"release"になっている投稿、かつ投稿ユーザーのis_userが"false"」

 

こちらの条件に一致する投稿のみを新着順で出したいです。

 

Read more

SSH接続エラー

ほんの一時間前まで行えていたssh接続が突然繋がらなくなりました・・・

 

ssh -i ~/.ssh/practice-aws.pem ec2-user@****(Ip)

 

<実行結果>

ssh: connect to host *****(Ip) port 22: Connection timed out

ssh: ホスト ec2-X-X-X-X.compute-1.amazonaws.com ポート 22 への接続: 接続がタイムアウトしました)

 

検索してみた結果、

公式にありました・・

EC2 インスタンスに SSH で接続しようとする時に発生する「接続が拒否されました」または「接続がタイムアウトしました」エラーを解決する

 

 

①ファイアーウォールを確認するべきとのこと

現在使用しているAWSにてセキュリティグループが仮想ファイアーウォールとしての機能となっている

 

正直セキュリティグループを変更しておらず

普段使わないカフェでEC2インスタンスへのアクセスなどを行っていたところ

繋がらなくなり、

 

様々な記事にあるように

sshのセキュリティグループをマイIPへ変更するも繋がらず・・

(どうやら繋がっているWiFi?に合わせてアドレス変更される・・?)

 

場所を変えてみても時間をおいてみても再起動など色々試すも繋がらず・・

 

AWS EC2 に SSH 接続できない・繋がらないときの確認項目 - サーバー構築と設定 ~初心者にも分かりやすく解説~

 

 

しまいには時間が経ったら接続できるようになっていたなどもあり・・

 

一日置いてみることに。

 

午前、やはり繋がらず。

 

 

途中こんな記事を見つけました。

ssh接続 port 22: Operation timed out なんでや! - icchy's diary

 

やっていなかったこととして

①以前使えていた状態のsshの設定確認(もしかしたら自動で何か変わってしまっていたのかも・・?)

Wifiが安定していそうな場所・カフェで確認(EC2接続に利用していたことのある環境でトライ)

③編集後セキュリティグループ割り当ての手順(特に変更操作なくても過程をふむ)

 

これら全て行ったところなんとかつながることに成功いたしました!

 

ただし詳しい原因はわからず・・

また時間を見つけ再現してみたいと思います。

 

 

ある日の本番環境エラー

エラー文

「Your local changes to the following files would be overwritten by merge:
        Gemfile.lock」

 

「Gemfile.lockがマージによって上書きされています」

 

「マージする前に変更をコミットするか、隠してください」

 

https://qiita.com/15grmr/items/433ee3b47828aaad32a8

 

Gemfile.lockファイルは削除しても大丈夫・・・

 

ということで削除。

 

次に

メソッド周りで怒られた為修正。

(デプロイ前にRubocop周りで修正してました。

表記を変えたところエラーがでてしまい戻したところエラーは出ず。

奥深そうな為別で考えます)

 

次に

Could not find timeout-0.3.0 in any of the sources
Run `bundle install` to install missing gems.

 

gem周りで怒られました

デプロイ前にテストコード書こうかな?という事で

こちらのgemを追加しておりました

# gem 'net-smtp'
# gem "net-pop"
# gem "net-imap"

 

一旦これらもコメントアウトしました

 

さて、これらを行い再度rails sをおこなったところ

・・・やはりエラー(502)

 

502エラーは「サーバー側の問題」

 

sudo tail -f /var/log/nginx/error.log

こちら、nginxでのエラーログを見れるコマンドということで試したところ

 

2022/10/06 03:24:55 [error]

17647#17647: *11 connect() to unix:///home/ec2-user/style/tmp/sockets/puma.sock failed (111: Connection refused) while connecting to upstream,

client: 172.31.41.109, server: stylecms.net,

request: "GET / HTTP/1.1", upstream: "http://unix:///home/ec2-user/style/tmp/sockets/puma.sock:/", host: "172.31.0.19"

 

(111: Connection refused) 

接続拒否・・・

 

sudo tail -f log/production.log

こちら本番環境のログをみれるコマンド

 

 

seedで作成したデータが作られている

 

 

ps aux | grep puma

ec2-user 17756  0.0  0.1 119424   988 pts/0    S+   03:34   0:00 grep --color=auto puma

 

これはkillしないほうがいいのかな・・・

 

手詰まりました・・

 

 

 

別日。一旦整理してみることに。

 

まずは追加しようとしていた

# gem 'net-smtp'
# gem "net-pop"
# gem "net-imap"

 

まず追加を行った経緯として、

これらのGemは参考にしたデプロイ手順にGemfileへ追加するよう書いてありました

 

今回、再度見返した際に現在のGemfileと照らしあわせ、

「あれ,ないな・・いれとこ」

という感じで追加しておりました。

 

これらのGemがなんなのかは一度おき

どうやら必須ではない様子?

→というよりこれらを追加すると

Gemに対してのエラーが出てしまい、エラー文を検索したところ

「設定が二重になってしまっている」のような参考記事が手に入りました。

 

もしかしたら別の手順でこれらを終えているのかも・・

少なくとも確実にない状態でデプロイ作業ができていた為

消すことにしました。

 

そうなると、一旦現状のエラーとしては

nginx 502エラー。

 

Read more