名前ベースのバーチャルホストをnginxに実装してみた!!

Pocket

私は一部のサイトではwebサーバにapacheではなく、nginxを利用している。
構築方法は以下のとおり。

さくらVPSにnginxとfast-cgiベースにwordpressをインストールした!!

apacheなら慣れているので、簡単に名前ベースのバーチャルホストが作れるのだが、
nginxでどうするのか試しに構築して見ることにした。

ネット上に意外と情報が少なかったので、今後構築する人のために、以下作業メモ。

nginxの名前ベースのバーチャルホストは意外と簡単だった。

バーチャルホストのnginx.confファイルでは以下のようになっているかと思います。
一部抽象化して表示しています。

http{
 パラメータ
 server{
  パラメータ
 location{
  パラメータ
  }
 }
}

これに対して、
以下の記述を追加すれば完了です。

http{
 パラメータ
 server{
  パラメータ
 location{
  パラメータ
  }
 }
#ここから追加
 server{
       listen   *:80;
       server_name ドメイン名;
       client_max_body_size 5M;
       access_log  /var/log/nginx/適当なディレクトリ/access.log   combined;
       error_log  /var/log/nginx/適当なディレクトリ/error.log  debug;
       root ドキュメントルート;
#phpをfastcgiで使う人の場合
     location ~ \.php$ {
         root           ドキュメントルート;
         fastcgi_pass   127.0.0.1:9000;#個人の設定による
         fastcgi_index  index.php;
         fastcgi_param  SCRIPT_FILENAME  ドキュメントルート$fastcgi_script_name;
         include        fastcgi_params;
             }

     location / {
         root  ドキュメントルート;
         index  index.html index.htm index.php;
         if (-f $request_filename) {
             break;
        }
        if (!-e $request_filename) {
             rewrite ^(.+)$  /index.php?q=$1 last;
             }
      }
  }
#ここまで追加部分
}

apacheと似ていて記載しやすいかと思います。

参考にしたサイト

nginx の バーチャルホスト設定

コメントを残す