AWS EC2 nginx + php + postgresql
参考サイト
EC2(Amazon-Linux-2)にNginxを入れてブラウザで確認するまで2018冬 [画像で解説] インスタンス編
https://qiita.com/ymzk-jp/items/ef9203a9b9f8ce5d34afEC2(Amazon-Linux-2)にNginxを入れてブラウザで確認するまで2018冬 [画像で解説] Nginx編
https://qiita.com/ymzk-jp/items/49daf14495ba090b3187Windows10 の ssh を使った AWS EC2 への接続
https://qiita.com/uttne/items/7bfa4e820834f7f54be8AWSのEC2で行うAmazon Linux2(nginx・php-fpm)環境構築
https://qiita.com/2no553/items/968068b1752ea6154beb
↑ phpinfo.php を作成した後、sudo systemctl restart nginx
すること。
- PostgreSQL データベースを作成、接続する(Amazon RDSを使用します)
https://aws.amazon.com/jp/getting-started/hands-on/create-connect-postgresql-db/
【詰まったこと】EC2側からRDS側にアクセスできなくて困った
RDS側のセキュリティグループのインバウンドルールにルールを追加するといけた。追加するのは、ソースにEC2側のセキュリティグループを足せばいい。
【プチ詰まり】psql の指定の方法がわからなかった
- PostgreSQL DB インスタンスを作成して PostgreSQL DB インスタンスのデータベースに接続する
https://docs.aws.amazon.com/ja_jp/AmazonRDS/latest/UserGuide/CHAP_GettingStarted.CreatingConnecting.PostgreSQL.html
$ psql --host=DB_instance_endpoint --port=port --username=master_user_name --password --dbname=database_name
こんな感じでいけるっぽい。
【プチ詰まり】pdo_pgsql がない
- Amazon Linux 2にPHP7.3とPostgreSQL12をインストールする
https://qiita.com/atmitani/items/152f1d083146afe1e60b
上の記事にあるように yum
でインストールしてあげる必要がある。
yum install -y php-devel yum install -y php-gd yum install -y php-intl yum install -y php-json yum install -y php-mbstring yum install -y php-mcrypt yum install -y php-pdo yum install -y php-pgsql
【プチ詰まり】php の PDO でエラーが出る
Error :SQLSTATE[08006] [7] could not translate host name "***.rds.amazonaws.com" to address: Name or service not known
こんなエラーがでる。
→ 【解決】単純にURL間違ってた。。。
- AWS EC2 AmazonLinux2 Gitをインストールする
https://qiita.com/miriwo/items/8d5b35950232c1126d36
【プチ詰まり】composer のパス
/usr/local/bin/composer がパスなので、root だと実行パスにない状態となる。 root では /usr/local/bin/composer を指定すること。
【プチ詰まり】.env を導入したい
- PHP dotenvの読み込み方が変わってた
https://qiita.com/sngazm/items/d27639f54e0abe723da9
【小ネタ】
- Linuxでターミナルのカーソルが消えた場合の対処法
https://applingo.tokyo/article/7268
【プチ詰まり】sessionが機能しない
色々みてると、ファイルに権限がないことが原因だった。
- (小ネタ)session.save_pathの調べ方
https://qiita.com/cranpun/items/02eaa615c523aac8f375
Amazon Linux 2 の場合は /var/lib/php/session
になってた。ただ、グループが apache になってたので、 nginx に変更したら動いた。