環境はDebain Wheezy、
nginx のバージョンは 1.2.1-2.2
公式:nginx
設定は/etc/nginx/ 以下。
シンプルですが、基本apache2と同じ構造な感じ。
なわけで、/etc/nginx/nginx.confを直接触るよりは、
以下のフォルダ内を変更するのが最近の作法(?)のようだ。
/etc/nginx/conf.d/
/etc/nginx/sites-available/
以下、いくつか設定例
■ドキュメント ルート
/etc/nginx/sites-available/Default に定義されている。
server {
root /usr/share/nginx/www;
…
}
■user directoryの有効化
/etc/nginx/sites-available/Default の ‘server {‘ 内に次のように記述。
# Userdir – static
location ~ ^/~([^/]+)(/.*)?$ {
alias /home/$1/public_html$2;
autoindex on;
}
■Basic認証
・まず.ht* ファイルへのアクセスを禁止する。
/etc/nginx/sites-available/Default 内の以下のコメントを外す。
location ~ /\.ht {
deny all;
}
・.htpasswd ファイルを作成
apache2のツールで作成する (詳細は略)。
・認証をするディレクトリを設定する。
/etc/nginx/sites-available/Default の ‘server {‘ 内に次のように記述。
location /(web上のルートからの相対パス)/ {
alias /(ファイルシステム上の絶対パス)/;
auth_basic “(なんかテキスト)”;
auth_basic_user_file “(.htpasswd の場所、ファイルシステム上の絶対パス)”;
}
.htaccess ファイルは必要ない。
■参考
nginx連載5回目: nginxの設定、その3 – locationディレクティブ @インフラエンジニアway – powerd by HEARTBEATS