3
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

Laravelをnginx上で実行してみる

Last updated at Posted at 2024-03-16

開発環境

  • Windows 10 Pro(64bit)
  • PHP 8.3.4 (cli) (built: Mar 13 2024 11:42:47) (NTS Visual C++ 2019 x64) Zend Engine v4.3.4
  • Composer version 2.4.1 2022-08-20 11:44:50
  • Laravel v10.0.0
  • nginx version: nginx/1.24.0

PHPの初期ページを表示させるまで

Laravelを実行する前に、まず、単純なindex.phpを表示させるまで行います。

ディレクトリ構成(初期段階)

Cドライブ直下に、以下の構成で、ディレクトリを作成

C:\
    - server
        - htdocs
            - public

続いて、index.phpをpublicディレクトリ内に保存します。

index.php
<?php
  phpinfo();

ディレクトリ構成(現段階)

Cドライブ直下に、以下の構成で、ディレクトリを作成

C:\
    - server
        - htdocs
            - public
                - index.php

nginxをダウンロードして実行するまで

  1. 公式サイトへアクセスする

  2. 無料トライアルボタンをクリック
    image.png

  3. NGINX Open Source無料ダウンロードをクリック
    image.png

  4. Stable versionnginx/Windows-1.24.0のリンクをクリックすると、ダウンロードが開始される

  5. zipファイルを解凍し、中身のnginx-1.24.0をCドライブ内のserverに移動し、ディレクトリをリネームして、nginxとする

ディレクトリ構成(現時点)

C:\
    - server
        - htdocs
            - public
                - index.php
    - nginx

6.カレントディレクトリをnginxに移動し、以下のコマンドで、nginx.exeを実行

start nginx.exe

ブラウザ上でlocalhostにアクセスすると、以下のように初期ページが表示されるか確認。(htmlディレクトリ内の、index.htmlが表示される)
image.png

一旦、プログラムを止めるために、以下のコマンドで停止

nginx.exe -s stop

7.nginx.confを開き、以下の記事内のconf/nginx.confの中身をコピー&ペーストし、serverブロックのroot部分の絶対パスだけ、index.phpの入ったのディレクトリまでの絶対パスを設定する

PHP

  1. 現在のStableであるCurrent Stable PHP 8.3.4Windows Downloadsのリンクをクリック

  2. VS16 x64 Non Thread Safe (2024-Mar-13 12:02:10)Zipをクリックしてダウンロードし、解凍したファイルをserverディレクトリ直下にコピー&ペーストし、ディレクトリ名も、phpに変更する。

ディレクトリ構成(現時点)

C:\
    - server
        - htdocs
            - public
                - index.php
    - nginx
    - php

3.phpディレクトリ内のphp.ini-developmentを、php.iniにリネーム。

4.nginx.exeとphp-cgi.exeを一斉起動、一斉停止するために、以下の記事からバッチファイルを2つ作成し、デスクトップに貼り付けておきます。

nginx-start.bat
@ECHO off

CD C:\server\nginx
START nginx.exe

CD C:\server\php
START php-cgi.exe -b 127.0.0.1:9000

EXIT
nginx-stop.bat
@ECHO off

CD C:\server\nginx
nginx.exe -s stop

Taskkill /im php-cgi.exe

EXIT

5.nginx-start.batを実行し、localhostへアクセスすると、以下のようにPHPの情報が表示されたらOKです。

image.png

6.nginx-stop.batを実行して、一旦、プログラムを止めます。

Laravelの初期ページを表示するまで

  1. カレントディレクトリをc:/server/htdocs/publicに移動します。
cd c:\server\htdocs\public

2.composerを用いて、Laravelをインストールします。

composer create-project laravel/laravel:^10.0 laravel_on_nginx

3.プロジェクトが作成されると、ディレクトリ構成は以下のようになります。

ディレクトリ構成(現時点)

C:\
    - server
        - htdocs
            - public
                - index.php
                - laravel_on_nginx
    - nginx
    - php

4.nginx.confのserverブロック内のroot部分を以下のように書き換えます

nginx.conf
- root C:/server/htdocs/public;
+ root C:/server/htdocs/public/laravel_on_nginx/public;

5.php.ini内の以下の行のコメントを外し、保存します。

php.ini
- ;extension=fileinfo
+ extension=fileinfo

- ;extension=mbstring
+ extension=mbstring

// Laravel 10だと、これを追加しないと、プログラムが動きません
- ;extension=openssl
+ extension=openssl

// さっきダウンロードしたPHP内のモジュールを使用するために指定(Windowsの場合)
- ;extension_dir = "ext"
+ extension_dir = "ext"

5.nginx-start.batを実行して、localhostへアクセスすると、以下のように初期ページが表示されます。
image.png

参考リンク

3
1
1

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
3
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?