0
3

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 3 years have passed since last update.

nginxとphp-fpmを使ってLaravelのhome画面を表示する

Last updated at Posted at 2020-03-11

前書き

初めての投稿ですので、わかりにくい箇所があるかもしれません。改善案などございましたら、教えてください。

##nginxとphpのインストール
自分はMacを使っているので、今回はHomebrewを利用してインストールしていきます。

Homebrew

brew install php@(バージョンは各自指定してください)
brew install nginx

php-fpmはbrewでphpをインストールすると同時にインストールされます。

##インストールできたか確認

php -v
nginx -v

#nginxとはなにか
nginxとはフリーでオープンなウェブサーバーで、主に静的なコンテンツを高速に配信するように設計されている

#php-fpmとは
php-fpmとは、phpのFastCGI 実装のひとつで、主に高負荷のサイトで用意されている機能です。
そもそも、CGIとはwebサーバーで、PHPなどのプログラムを動かすための仕組みです。

#なぜnginxを使う時にphp-fpmが必要か?
上記にも書いた通り、nginxは静的ファイル(html/css/js)処理できません。なのでphp-fpmを利用します。

#nginxを起動する

nginx (起動)
nginx -s stop (停止)
nginx -s reload (再読み込み)

https://localhost:8080
にアクセスしてみて

こんな画面がでたら成功です。
Welcome-to-nginx-Mozilla-Firefox_001.png

#nginxの設定
nginxの編集は基本的にnginx.confに記述していきます。
nginx.confはどこにあるのか、/usr/local/etc/nginxにあリます。
nginx.confを開いて

location / {
            root   html;
            index  index.html index.htm;
        }



 #location ~ \.php$ {
        #    root           html;
        #    fastcgi_pass   127.0.0.1:9000;
        #    fastcgi_index  index.php;
        #    fastcgi_param  SCRIPT_FILENAME  /scripts$fastcgi_script_name;
        #    include        fastcgi_params;
        #}

主にlocationというところを編集していきます。
自分の場合はDesktopに新たにindexディレクトリを作成し、その中にindex.phpを作成し、それを表示させました。

nginx -t

このコマンドで、編集したnginx.confのシンタックスチェックしてみてください。
nginx.confの中身を編集した場合は、必ずnginxを再起動してください。

location / {
            root   /Users/username/Desktop/index/;
            index  index.php index.html index.htm;
        }

location ~ \.php$ {
           root          /Users/username/Desktop/index/;
           fastcgi_pass   127.0.0.1:9000;
           fastcgi_index  index.php;
           fastcgi_param  SCRIPT_FILENAME /Users/username/Desktop/index/index.php$fastcgi_script_name;
           include        fastcgi_params;
        }

こんな感じで編集しました。
困ったことはnginxとDesktopの管理者権限が異なり、中々表示できませんでした。

$chown 

このコマンドでnginxのerror.logとaccess.logの実行者を変更しました。

#php-fpmの編集

$brew info php@(自分のバージョン)

これで、brewでインストールした、phpの情報が分かります。
php-fpmの編集ファイルはwww.confなので、その中身を

user = nginx
group = nginx

このように編集しました。

$brew services start php

このコマンドも忘れずに実行してください。

ちなみにDesktopのindexディレクトリのindex.phpの中身は

<?php phpinfo(); ?>

としておきました。

こんな画面が表示されたら成功です。
download.png

#Laravelを表示するには
nginx.confのrootを編集するだけです。
Laravelの処理の起点となるのは、publicディレクトリです。
Laravelで扱うWebページのルート部分はpublic/ディレクトリになります。このことを理解していれば簡単です。

root          /Users/username/Desktop/projectname/public/;

あとは
https://localhost:8080

download-2.png

この画面が出れば完了です。

0
3
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
3

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?