skillup

技術ブログ

サーバー・ネットワーク

nginxでの設定について

投稿日:

何回かやったnginxの設定について。

特にサブディレクトリなどに設定したいなどの時に悩みますね・・・

locationディレクティブ

マッチするようなURLパターンの時に使います。

上記の場合たとえば、

http://example.com/images/log.pngというURLがアクセスされた場合、/var/www/img/images/logo.pngにアクセスされることになります。

locationディレクティブには各種、正規表現なども使えます。

またディレクティブを複数書いた場合、

記述が複雑なケースが優先されます(location / よりもlocation /imageの方が優先されます)

また正規表現を書いたケースが優先されます

ちなみにaliasを使い、下記のように書くと

http://example.com/images/log.pngというURLがアクセスされた場合、/var/www/img/logo.pngにアクセスされることになります。

rootの場合、root+locationになりますが、aliasに指定した場合、ディレクトリをそのまま読み込んでくるという違います。

try_filesディレクティブ

パラメーターに指定したファイルパスを前から順番にチェックし、ファイルがあればそのファイルの内容をレスポンスとして応答します。どのファイルも指定していなかった場合、最後に指定した転送先URLに内部リダイレクトをします。

上記の場合、まず最初に$uri、その後に、 $uri/ 最後に、sample/index.phpを見に行くということになります。

fastcgiがらみのディレクティブ

FASTCGIに渡すパラメーターです。

fastcgi_pass サーバへのリクエストのプロキシです。PHPを使っている場合はphp-fpmのパスになることが一般的です。

fastcgi_index $fastcgi_script_nameの値で、スラッシュで終わるURIの後に追加されるファイル名を設定します。

SCRIPT_FILENAME  サーバー側に送られる環境変数になります。ほとんどの場合で、スクリプトのファイルパスになります。

include fastcgi_params 設定ファイルを読み込む部分になります。

参考リンク

nginx $document_root$fastcgi_script_name と $request_filename の違い

https://mogile.web.fc2.com/nginx_wiki/start/topics/examples/phpfcgi/

参考ポートフォリオ

https://github.com/umanari145/php-nginx

-サーバー・ネットワーク
-

執筆者:


comment

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です

関連記事

no image

yumとrpmについて

centOSのカーネルのバージョンアップで時間があるのでブログを更新。 redhat系ではソフトウェアをインストールするときにyumかrpmのコマンドを使うと思います。 私も日頃、両方使っているのです …

no image

DNSの仕組み

本日はDNSについて。 とりあえず要点のみ DNSのざっくりとした仕組み ネットワーク上での住所を決める仕組み。 本来はIPがその役割を果たしている. [crayon-62c3a2f757aec602 …

no image

AWSのVPCの設定に関して

AWSでEC2を立ち上げたことはありましたが、VPC(Virtual Private Cloud)は使ったことがなかったので、これを機に調査してみました。 Contents1 VPCとは?2 構成3 …

no image

pidファイルに関して

サーバー上であるサービスを動いている(と思っている)時にstopしようとしたらpidファイルがありませんと怒られました。 pidファイルってよく聞くけどわかっていなかったのでこれを機にメモ。 Linu …

no image

vueの環境構築に関して(モジュールバンドラの比較やvue-cliコマンドなど)

vueをビルドする場合、一般的にはwebpackなどのモジュールバンドラを使うかと思います。少しまとめて置こうかと思います。 Contents1 モジュールバンドラ1.1 webpack1.2 lar …

アーカイブ