未能将Laravel应用程序部署到EC2

我有我的Laravel项目都在我的本地主机上工作。 我把它部署到EC2,但没有出现。 我在开发控制台中看到的所有内部错误(500)。

我错过了什么? 在部署到AWS之前,需要更改哪些内容? 这里是url: http : //ec2-52-88-99-75.us-west-2.compute.amazonaws.com

这里是httpd.conf文件: http : //collabedit.com/sdcxm

安装Laravel后,您可能需要配置一些权限。 存储器中的目录和bootstrap / cache目录应该可以由Web服务器写入。 – http://laravel.com/docs/master#configuration

如果您在EC2上使用ubuntu,Laravel“存储”文件夹和“引导/缓存”文件夹需要从命令行用户(运行composer update等的用户)和缺省Web服务器用户(www-data)实例。

以下三个命令将确保他们都有权这样做。 在项目的根目录下运行它们

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 

这应该开始显示你可以调试的具体错误。 另外请确保你的调试选项在app.php中设置为true

 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