目的
正常にデプロイを完了させて正常にWEBサイトを開きたい!
問題
デプロイしたWEBサイトにパブリック IPv4 DNSで開こうとするとタイムアウトしてしまう。
状況
昨日の時点では一応繋がりはしたがLaravelのエラーが発生し、
SQLSTATE[HY000]: General error: 8 attempt to write a readonly database
と言われていた。
今日はそのエラーを解決すべく、もう一度エラーを確認しようとインスタンスを起動したところタイムアウトしてしまった次第。
こちらの記事を参考にさせていただきデプロイ作業を進めてきていたので、もう一度心当たりのある箇所を読み返していた。
そこでcurl -s http://localhost | grep title
で動作確認を行ったところ、昨日まで<title>Welcome to nginx!</title>
が出ていたところを今度は大量の文字列とSQLSTATE[HY000]: General error: 8 attempt to write a readonly database
の文字。
穏やかじゃない…。やはりお前か…。
調べるとSQLが読み込み専用モードになっているので書き込みモードにすると解決するというので、見様見真似でMySQLのモードを確認してみた。
だが返ってきたのは「読み込みモードOFF」
行き詰まってしまったので再びPerplexityにエラー内容をぶつけてみた。
「あなたが遭遇したエラーは、SQLiteデータベースに関連するもので、『読み取り専用データベースに書き込もうとした』という内容です。」
SQLite!?
俺はMySQLで進めてきたんだぞ!?
見えてきた!!そうか、思えば今開発中にのプロジェクトは.env
に関して何も構っていない。
見に行ってみるとやはりそうだ。
DB_CONNECTION=sqlite
となっているではないか。
.env
、.env.example
の上記の項目をmysql
に書き換え、正しいのかよくわからない方法でGitHubにPush!
さらによくわからない方法でAWSにPull!
そして再度動作確認をすると………
<title>DigitalKennel</title>
うおおおおおおおおおおおお俺が名付けたプロジェクト名だあああああああああああああ!!!!!!!!!!!
これはWEBサイトにも問題なく繋がるはず、いそげええええええええええええええええ!!!!!!!!
おわり
解決(2024/07/23)
結論から言うと決定的な原因はわかりませんでした。
おそらくですが、URLにhttps://
で接続しようとして失敗していたのではないかと思います。
とはいえ以前もhttp://
で接続しなおして失敗していたのですが、セキュリティグループでHTTPを許可した上でhttps://
ではなくhttp://
で接続したのは23日が初だったのかもしれません。
灯台元暗しですね…。