Amazon Linux 2でのLaravel用NginxとPHP 8のインストール手順
概要
この記事では、Amazon Linux 2上にLaravelアプリケーションをデプロイするためのNginxとPHP 8のインストール手順を紹介します。Nginxは高パフォーマンスなWebサーバーであり、PHP 8はLaravelフレームワークの実行に必要なプログラミング言語です。Amazon Linux 2は、Amazon Web Services (AWS)のクラウド環境で広く使用されているオペレーティングシステムです。
コンテンツ
1. インスタンスのセットアップ
まず、Amazon EC2上でAmazon Linux 2のインスタンスを起動しましょう。適切なインスタンスタイプと設定を選択し、インスタンスを起動します。起動後、インスタンスにSSHで接続します。
2. Nginxのインストール
最初に、Nginxをインストールします。以下のコマンドを実行して、Nginxをインストールします。
sudo amazon-linux-extras install nginx1.12
インストールが完了したら、Nginxの設定ファイルを編集します。
sudo vi /etc/nginx/nginx.conf
ファイルを開き、次のように変更します。
user nginx;
worker_processes auto;
error_log /var/log/nginx/error.log warn;
pid /var/run/nginx.pid;
events {
worker_connections 1024;
}
http {
include /etc/nginx/mime.types;
default_type application/octet-stream;
log_format main '$remote_addr - $remote_user [$time_local] "$request" '
'$status $body_bytes_sent "$http_referer" '
'"$http_user_agent" "$http_x_forwarded_for"';
access_log /var/log/nginx/access.log main;
sendfile on;
keepalive_timeout 65;
server {
listen 80;
server_name localhost;
location / {
root /usr/share/nginx/html;
index index.html index.htm;
}
error_page 404 /404.html;
location = /404.html {
root /usr/share/nginx/html;
}
error_page 500 502 503 504 /50x.html;
location = /50x.html {
root /usr/share/nginx/html;
}
}
}
保存して終了したら、Nginxを起動します。
sudo systemctl start nginx
sudo systemctl enable nginx
3. PHP 8のインストール
次に、PHP 8をインストールします。以下のコマンドを実行して、PHP 8をインストールします。
sudo amazon-linux-extras enable php8.0
sudo yum install php-cli php-common php-devel php-mbstring php-xml php-fpm -y
インストールが完了したら、PHP-FPMの設定ファイルを編集します。
sudo vi /etc/php-fpm.d/www.conf
ファイルを開き、次のように変更します。
user = nginx
group = nginx
listen = /run/php-fpm/www.sock
listen.owner = nginx
listen.group = nginx
保存して終了したら、PHP-FPMを起動します。
sudo systemctl start php-fpm
sudo systemctl enable php-fpm
4. Laravelアプリケーションの設定
最後に、Laravelアプリケーションを設定します。Laravelプロジェクトをデプロイするディレクトリに移動し、以下のコマンドを実行します。
composer install --no-dev
cp .env.example .env
php artisan key:generate
ファイルを開き、データベースやキャッシュの設定を適宜変更します。
vi .env
設定が完了したら、Nginxの設定ファイルを編集します。
sudo vi /etc/nginx/nginx.conf
ファイルを開き、次のように変更します。
server {
listen 80;
server_name your_domain.com;
root /path/to/laravel/public;
index index.php;
location / {
try_files $uri $uri/ /index.php?$query_string;
}
location ~ \.php$ {
try_files $uri /index.php =404;
fastcgi_pass unix:/run/php-fpm/www.sock;
fastcgi_index index.php;
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
include fastcgi_params;
}
}
保存して終了したら、Nginxを再起動します。
sudo systemctl restart nginx
これで、NginxとPHP 8のインストールと設定が完了しました。
まとめ
この記事では、Amazon Linux 2にLaravel用のNginxとPHP 8をインストールする手順を紹介しました。Nginxを使ってWebサーバーをセットアップし、PHP 8をインストールしてLaravelアプリケーションを実行する準備を整えました。これで、Amazon Linux 2上でLaravelアプリケーションをデプロイする準備が整いました。