はじめに
前回の続きでlaravelのプロジェクトを作成する際にメモリー不足のエラーが発生したので、swap領域を確保してエラーを解消する
EC2にswap領域を割り当てる手順 aws.amazon.com
swap領域の作成
- 下記の手順で作成することが出来る。インスタンスタイプはt2.microの想定です
$ sudo /bin/dd if=/dev/zero of=/var/swapfile bs=1M count=1024 $ sudo /sbin/mkswap /var/swapfile $ sudo /sbin/swapon /var/swapfile $ sudo chmod 0600 /var/swapfile
- fstabファイルに下記の行を追加してサーバー再起動時でもswap領域がマウントされるように設置する
vi /etc/fstab swap /swapfile swap defaults 0 0
swap領域の確認
- 割り当てられていることを確認する
$ free -m total used free shared buff/cache available Mem: 983 55 846 0 81 817 Swap: 1023 25 998
laravelのインストール
- ext-mbstringがインストールされていないエラーが発生する
$ laravel new <プロジェクト名> Your requirements could not be resolved to an installable set of packages. Problem 1 - laravel/framework v8.6.0 requires ext-mbstring * -> the requested PHP extension mbstring is missing from your system. - laravel/framework v8.5.0 requires ext-mbstring * -> the requested PHP extension mbstring is missing from your system. - laravel/framework v8.4.0 requires ext-mbstring * -> the requested PHP extension mbstring is missing from your system. - laravel/framework v8.3.0 requires ext-mbstring * -> the requested PHP extension mbstring is missing from your system. - laravel/framework v8.2.0 requires ext-mbstring * -> the requested PHP extension mbstring is missing from your system. - laravel/framework v8.1.0 requires ext-mbstring * -> the requested PHP extension mbstring is missing from your system. - laravel/framework v8.0.4 requires ext-mbstring * -> the requested PHP extension mbstring is missing from your system. - laravel/framework v8.0.3 requires ext-mbstring * -> the requested PHP extension mbstring is missing from your system. - laravel/framework v8.0.2 requires ext-mbstring * -> the requested PHP extension mbstring is missing from your system. - laravel/framework v8.0.1 requires ext-mbstring * -> the requested PHP extension mbstring is missing from your system. - laravel/framework v8.0.0 requires ext-mbstring * -> the requested PHP extension mbstring is missing from your system. - laravel/framework 8.x-dev requires ext-mbstring * -> the requested PHP extension mbstring is missing from your system. - Installation request for laravel/framework ^8.0 -> satisfiable by laravel/framework[8.x-dev, v8.0.0, v8.0.1, v8.0.2, v8.0.3, v8.0.4, v8.1.0, v8.2.0, v8.3.0, v8.4.0, v8.5.0, v8.6.0].
- 下記のパッケージをインストールする。domをインストールする理由は、こちらもlaravelインストール時にエラーで怒られるため。
sudo yum -y install http://rpms.famillecollet.com/enterprise/remi-release-7.rpm sudo yum install --enablerepo=remi-php74 php-mbstring sudo yum install php-xml
Nginxの設定
-/etc/nginx/default.d/php.conf
のファイルを下記のように設定する
location / { index index.php index.html index.htm; try_files $uri $uri/ /index.php?$query_string; } location ~ \.php$ { fastcgi_pass unix:/var/run/php-fpm/www.sock; fastcgi_index index.php; fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name; include fastcgi_params; }
/etc/nginx/nginx.conf
のファイルを下記のように設定する
server { listen 80; listen [::]:80; server_name _; #root /usr/share/nginx/html; root /srv/www/<laravelのプロジェクトフォルダ>/public; }
Laravelの設定
storage
フォルダにアクセス権限を与える
chmod -Rf 777 storage/
動作確認