このセクションでは、Nginx の location ディレクティブで Alias を使ったサブディレクトリの作成について紹介していきます。

Nginx の設定ファイルを開き、編集します。

[user@pub-web ~]$ sudo vi /etc/nginx/conf.d/default.conf 
[user@pub-web ~]$ 

一つ目の location ディレクティブは、ルートディレクトリ(/)に関する設定です。
二つ目の location ディレクティブは、サブディレクトリ(/subu-direct)に関する設定です。

ここでの注意点としては、Alias でサブディレクトリを作成する場合には、PHP-FPM 経由で PHP を起動させるための設定が、ルートディレクトリでの設定と少し異なっている点となります。ルートディレクトリと同じ内容のPHP設定を、Aliasで指定したサブディレクトリに行ってもサブディレクトリ側では正常にPHPが動作しませんでしたので、注意してください。

server {
    ーー(省略)ーー
    location / {
        root   /var/www/wordpress;
        index  index.php index.html index.htm;

        location ~ \.(php|phar)(/.*)?$ {
            fastcgi_index  index.php;
            include        fastcgi_params;
            fastcgi_param  SCRIPT_FILENAME  $document_root$fastcgi_script_name;
            fastcgi_pass   php-fpm;
        }

    }

    location /sub-direct/ {
        alias   /var/www/sub-direct/;
        index  index.php index.html index.htm;

        location ~ \.(php|phar)(/.*)?$ {
            fastcgi_index  index.php;
            include        fastcgi_params;
            fastcgi_param SCRIPT_FILENAME $request_filename;
            fastcgi_pass   php-fpm;
        }

    }
    ーー(省略)ーー
}

編集した設定ファイルを再読込し、反映します。

[user@pub-web ~]$ sudo nginx -s reload
[user@pub-web ~]$ 

以下にアクセスし、HTMLファイルが表示されることを確認します。
https://(IPアドレス)/sub-direct/index.html

以下にアクセスし、PHPファイルが表示されることを確認します(phpinfo.phpファイルは事前に作成しておく必要があります)。
https://(IPアドレス)/sub-direct/phpinfo.php