У меня есть проект Laravel, который работает на моем локальном хосте. Я развернул его в EC2, но ничего не вышло. Все, что я вижу в консоли dev, это внутренняя ошибка (500).
Что мне не хватает? Что мне нужно изменить перед развертыванием в AWS? Вот URL: http://ec2-52-88-99-75.us-west-2.compute.amazonaws.com
Вот файл httpd.conf: http://collabedit.com/sdcxm
После установки Laravel вам может потребоваться настроить некоторые разрешения. Каталоги в хранилище и каталоги начальной загрузки / кэши должны быть доступны для записи на вашем веб-сервере. – http://laravel.com/docs/master#configuration
Папка «Хранилище» Laravel и папка «bootstrap / cache» нуждаются в доступе как от пользователя командной строки (тот, который запускает обновление компоновщика и т. Д.), Так и для пользователя веб-сервера по умолчанию (www-data), если вы используете ubuntu на своем EC2 пример.
Следующие три команды гарантируют, что оба они имеют права на это. Запустите их в корне вашего проекта
HTTPDUSER=`ps aux | grep -E '[a]pache|[h]ttpd|[_]www|[w]ww-data|[n]ginx' | grep -v root | head -1 | cut -d\ -f1` sudo setfacl -R -mu:"$HTTPDUSER":rwX -mu:`whoami`:rwX storage bootstrap/cache sudo setfacl -dR -mu:"$HTTPDUSER":rwX -mu:`whoami`:rwX storage bootstrap/cache
Это должно начать отображать конкретные ошибки, которые можно отлаживать. Также убедитесь, что опция debug установлена как true в app.php
yourproject/config/app.php 'debug' => true,
Также убедитесь, что у вас есть файл .env по умолчанию, который определяет среду в корне проекта.
yourproject/.env //should have this APP_ENV = dev
Кроме того, если вы используете сеансы и т. Д., Убедитесь, что у вас есть сгенерированный ключ, используя эту команду, и не имеет config / app.php, установленный как
'key' => env ('APP_KEY', 'SomeRandomString'),
yourproject/config/app.php php artisan key:generate
Одной из распространенных ошибок для новых экземпляров Amazon EC2 является назначение группы безопасности вашему экземпляру, который не имеет портов 80 и 443, разрешенных как входящие. Проверьте свою группу безопасности экземпляра EC2 и разрешите эти порты в группе, если они еще не были.
Это сработало для меня:
[root@example-laravel-server ~]# chown -R apache:apache /var/www/laravel/laravel/storage