最近はwebサーバーのシェアとしてnginxが徐々に伸びてきていますね。
先日apacheについて解説をしましたが、nginxについて書きたいと思います。
設定ファイル
nginx.confの設定ファイルが /etc/nginx/conf/nginx.conf にあるとします。
apacheでもメインの設定ファイルにかかずに、別のホストごとの設定ファイルを書きましたが、nginxでも/etc/nginx/conf.d/直下に書くことが一般的です。
詳しくはnginx.confの”include ~;”に書いてあります。
conf.d以下にホストごとの設定ファイルを以下のように書いておくことになります。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 |
server { #サービスを提供するポート番号を書きます。(IPをいれることもできるようです。) listen 80; #対象となるホスト名(正規表現も使える) server_name hoge.com; #webサイトの特定の位置にだけ適用される設定を定義します。 #主に正規魚表現で書かれることが一般的です。 location ~ \.(png|jpg|gif|ico|css|js|pdf)$ { #ユーザーに提供したいファイルを格納するドキュメントルートを定義 root /var/www/hoge.com/; #URLで指定がないときにnginxが提供するディフォルトのページ。通常複数指定できる index index.html; break; } location / { root /var/www/hoge.com/; index index.php; #要求されたファイルが存在しない場合は~という処理 if (!-e $request_filename) { #リダイレクト rewrite ^ /index.php last; } } location ~ \.php$ { root /var/www/hoge.com; fastcgi_pass 127.0.0.1:9000; fastcgi_index index.php; fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name; fastcgi_param PATH_INFO $fastcgi_script_name; include fastcgi_params; } } |
参考リンク
Nginx+Fastcgi+PHPでサクサク快適サイト構築!
fastcgi以降の設定に関しては次回以降に解説したいと思います。