aws

AWSのEC2(Amazon Linux 2023)でSSHに繋げてnginxとPHPのセットアップメモ

かに

EC2のインスタンスを作成して開始したあと、SSHに繋げたところから

何はともあれアップデート

1sudo yum update

nginxインストール

1sudo dnf install nginx -y

nginxを自動起動+スタート

1sudo systemctl enable nginx
2sudo systemctl start nginx.service

PHPをインストール
最新バージョンはPHP公式サイトを確認

1sudo dnf install -y php8.3

記事投稿現在は今はphp8.2だけどそのうちアップデート入りそうなので8.3を指定
インストールできなかったらphp8.2に変えてください。

php-fpmをインストール
nginxでPHPを動かすのに必要

1sudo dnf install -y php-fpm

もしかしたらPHPをインストールした時にphp-fpmも一緒にインストールされるのかも。
自分はコマンドを使ってphp-fpmをインストールしなかった

/etc/php-fpm.d/www.confを以下に変更する
・user = nginx
・group = nginx
・listen.owner = nginx
・listen.group = nginx
・listen.mode = 0660

1sudo vi /etc/php-fpm.d/www.conf


vimの操作方法:上記のコマンドを実行
iキーを押す: 挿入モードになる。
キーボードの矢印キーでカーソル移動して編集する。
ESCキーを押して挿入モードを解除、「:」「w」「q」を押して終了。
間違えたら「:」「q」「!」で一旦戻って再度開けばいい。
「:」「u」で元に戻すことも出来る。

php-fpmを自動起動+スタート

1sudo systemctl enable php-fpm
2sudo systemctl start php-fpm

nginxでPHPを動かせるようにする
nginx.confを編集する。

1sudo vi /etc/nginx/nginx.conf

server { 〜 }の中に新しくlocationを追加する
下記のコードをコピペする

1        location ~ \.php(/|$) {
2                try_files $fastcgi_script_name =404;
3                fastcgi_pass   unix:/run/php-fpm/www.sock;
4                fastcgi_index  index.php;
5                fastcgi_param  SCRIPT_FILENAME  $document_root$fastcgi_script_name;
6                include        fastcgi_params;
7        }

nginx.confのserverブロックが以下のようになっていれば大丈夫

1   server {
2        listen       80;
3        listen       [::]:80;
4        server_name  _;
5        root   /usr/share/nginx/html;
6
7        error_page 404 /404.html;
8        location = /404.html {
9        }
10
11        error_page 500 502 503 504 /50x.html;
12        location = /50x.html {
13        }
14
15        location ~ \.php(/|$) {
16                try_files $fastcgi_script_name =404;
17                fastcgi_pass   unix:/run/php-fpm/www.sock;
18                fastcgi_index  index.php;
19                fastcgi_param  SCRIPT_FILENAME  $document_root$fastcgi_script_name;
20                include        fastcgi_params;
21        }
22   }

nginxとphp-fpmを再起動

1sudo systemctl restart nginx
2sudo systemctl restart php-fpm

nginxでPHPが動くと思います。

メールアドレスが公開されることはありません。 が付いている欄は必須項目です

日本語が含まれない投稿は無視されますのでご注意ください。(スパム対策)

記事URLをコピーしました