Help us understand the problem. What is going on with this article?

AWS EC2にNginx1.8 + php7 + Laravel5をインストール

More than 3 years have passed since last update.

PHP7のリポジトリを追加

$ sudo rpm -Uvh https://mirror.webtatic.com/yum/el6/latest.rpm

PHP7インストール

$ sudo yum install --enablerepo=webtatic-testing php70w php70w-devel php70w-fpm  php70w-mysql php70w-mbstring php70w-pdo php70w-xml
# 自動起動設定
$ sudo chkconfig php-fpm on

nginxのインストール

$ sudo yum install nginx
# 自動起動設定
$ sudo chkconfig nginx on

nginx設定

/etc/nginx/nginx.conf

# 下記を修正
root         /var/www/html;
# 下記を追加
location ~ \.php$ {
    root           html;
    fastcgi_pass   127.0.0.1:9000;
    fastcgi_index  index.php;
    fastcgi_param  SCRIPT_FILENAME  /var/www/html$fastcgi_script_name;
    include        fastcgi_params;
}

mysql(server, client)のインストール

# mysql5.6のリポジトリを追加
$ sudo rpm -ihv http://dev.mysql.com/get/mysql-community-release-el6-5.noarch.rpm
$ sudo yum install mysql-server mysql
# 自動起動設定
$ sudo chkconfig mysqld on

ユーザー作成

$ sudo useradd app

www グループをインスタンスに追加

$ sudo groupadd www

ユーザーを www グループに追加

$ sudo usermod -a -G www app
# ログアウト
$ exit

# インスタンス再接続しgroupsを確認
$ sudo su - app
$ groups
app www

グループ所有者・アクセス権を変更

sudo chown -R root:www /var/www
sudo chmod 2775 /var/www
find /var/www -type d -exec sudo chmod 2775 {} \;
find /var/www -type f -exec sudo chmod 0664 {} \;

php-fpm設定

/etc/php-fpm.d/www.conf

user = app
group = www

nginx/php-fpm起動

sudo service nginx start
sudo service php-fpm start

PHPの動作確認

$ sudo su - app
$ echo "<?php phpinfo(); ?>" > /var/www/html/phpinfo.php

ブラウザで動作確認

http://[パブリックip]/phpinfo.php

Composerをインストール

$ curl -sS https://getcomposer.org/installer | php
$ sudo mv /home/ec2-user/composer.phar /usr/local/bin/composer

laravelをインストール

$ sudo su - app
composer global require "laravel/installer"

project作成

$ sudo su - app
$ cd /var/www/html/
$ composer create-project --prefer-dist laravel/laravel test
$ cd test
$ composer install
$ php artisan key:generate

Laravel用にnginx設定を修正

/etc/nginx/nginx.conf

# 以下を修正
root         /var/www/html/test/public;

location / {
    # 以下を追加
    try_files $uri /index.php?$query_string;
}

location ~ \.php$ {
    root           html;
    fastcgi_pass   127.0.0.1:9000;
    fastcgi_index  index.php;
    # 以下を修正
    fastcgi_param  SCRIPT_FILENAME  /var/www/html/test/public$fastcgi_script_name;
    include        fastcgi_params;
}

nginxとphp-fpm 再起動

sudo service nginx restart
sudo service php-fpm restart

ブラウザで動作確認

http://[パブリックip]
でLaravel5 TOP画面が表示されることを確認

参考

http://owani.net/php/php7-nginx/285/
http://docs.aws.amazon.com/ja_jp/AWSEC2/latest/UserGuide/install-LAMP.html

poke-m
ポケットマルシェ(ポケマル)は、全国の生産者と消費者を直接繋ぐCtoCプラットフォームです。
https://poke-m.com/
Why not register and get more from Qiita?
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away