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

IaC(Infrastructure as Code)に関して

近年ではインフラ環境もコード化しておいて、コマンドで起動や構築できることが一般的ですね。 ansibleやdockerなどは色々と使っていましたが、実際のインフラ環境では2020年6月現在AWSを使う …

no image

nginx基本

データベースについて勉強していましたが、実務でnginxを触る機会があったので、これを機に勉強。 Contents1 参考文献2 nginx基礎3 コアモジュール4 httpモジュール5 設定ファイル …

no image

chefのインストール

以前からずっと課題になっていたchefのインストールについてです。 まだ全然わかっていませんが、なんとかvagrantからのインストールをすることができましたのでメモします。 chefでの環境構築とい …

no image

SMTP-AUTHのメール送信

メールに関して以前にもこんなこと書きましたが、今更ながらトラブルが起きたのでしっかり理解しておかないと・・・ 基礎が弱いと困るのう・・・ ロリポップなどのサーバーでmb_send_mailを打てばよく …

no image

Gitのブランチについて

ちょっといろいろと触っているGitに関して。 前回は作業ディレクトリ、インデックス、コミットについて説明したのですが、今回はブランチについて行います。 Contents1 ブランチとは?2 ブランチに …