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

シェル基礎2

シェルコマンド使い始めて数年たちますが、いまだに知らないことはおおいですし、早く知っとけばよかった的なこともたくさんあります。 そんな小ネタ集を alias よく使うコマンドを別名で登録することができ …

no image

Dockerでのredis活用(redisinsightなどについて)

引き続きdockerネタですがredisを使ったネタに関して。 redis自体は以前のエントリーでも説明しましたが、一般的なキャッシュサーバーかと思います。 今回はredis自体の説明ではなくdock …

no image

php-fpmトラブル(nginxが競合?)

php-fpmが急に停止になるトラブルがあったので、ちょっとメモ。 php-fpmを再起動しようとしても下記のようなエラーが・・・

p …

no image

mod_rewriteでの注意点

久々にhtaccessでのmod_rewriteをやりまして少しハマった(忘れていたのでポイントを) このネタではタグつけて結構書いてますね・・ http://skill-up-engineering …

no image

rewriteディレクティブ

リクエストURIを条件に応じて書き換えたり、リダイレクトする機能を使うときはrewriteを使います。こちら非常によく使う機能です。 具体的な例を見ていきましょう。 [crayon-638bee1ac …

アーカイブ