nginx
laravel5.4

nginxをLaravel5.4用に設定する

More than 1 year has passed since last update.

これまでのおさらい

  1. vagrantでCentOS7.3の環境を作った:参照
  2. CentOS7.3の環境にPHP7.1をインストールした:参照
  3. Laravel 5.4をインストールした:参照
  4. nginxのインストール:参照
  5. nginxでLaravel5.4を動かすぜー:metal_tone2: ←これから

nginxをLaravel5.4用に設定する

1.php-fpmのインストール

1-1.インストールする

$ sudo yum install --enablerepo=remi-php71 php-fpm

リポジトリが追加してなければ追加しておくこと
参照

1-2.設定ファイル変更

$ sudo vi /etc/php-fpm.d/www.conf
/etc/php-fpm.d/www.conf
# 変更箇所のみ抜粋

user = nginx
group = nginx

listen = /var/run/php-fpm/php-fpm.sock

listen.owner = nginx
listen.group = nginx

1-3.起動する。

$ sudo service php-fpm start

起動時に/var/run/php-fpm/php-fpm.sockが作られるので権限設定しておく。

1-4.php-fpm.sockの権限を変えておく。

$ sudo chmod 755 -R /var/run/php-fpm/php-fpm.sock

1-5.自動起動のおまじない :pray_tone2:

$ sudo systemctl enable php-fpm.service

メモ: sudo chkconfig php-fpm onでもできるけど
           CentOS7では以下のようにするのが普通みたい

よし、php-fpmは終わり :thumbsup_tone2:

2.nginxの設定

2-1.アプリ用のconfファイルの設定

デフォルトの設定/etc/nginx/conf.d/default.confをリネームして使うことにする。

$ cd /etc/nginx/conf.d
$ sudo mv default.conf laravel.conf

リネームしたlaravel.confの設定

$ sudo vi laravel.conf
/etc/nginx/conf.d/laravel.conf
# /var/www/sample/がlaravelのプロジェクトのルートの場合
server{

   # fastcgi_paramの$document_rootが正しく設定されるようにここでrootの設定
   root   /var/www/sample/public;

   location / {     
        index  index.php index.html index.htm;
        try_files $uri $uri/ /index.php?$query_string;
    }

    location ~ \.php$ {
        # fastcgi_passは/etc/php-fpm.d/www.confのlistenで指定したパス
        # unix:を忘れない、権限がないと色々エラーが起きる
        fastcgi_pass   unix:/var/run/php-fpm/php-fpm.sock;
        fastcgi_index  index.php;
        fastcgi_param  SCRIPT_FILENAME  $document_root$fastcgi_script_name;
        include        fastcgi_params;
    }

}

2-2.起動

$ sudo service nginx start

2-3.こっちもおまじない :pray_tone2:

$ sudo systemctl enable nginx.service

fastcgiの設定で実は色々はまったりしたけど何とかできた :muscle_tone2:

welcome.png

動いたぜー、あざす :kiss_ww: