Nginx よく使う設定
Nginxをインストールした後は設定ファイルを編集する
設定ファイル:/etc/nginx/nginx.conf
※変更後は必ず設定を反映させる為に下記コマンドを実行すること
sudo nginx -s reload
ちなみにNginxの起動・停止は下記コマンド
#起動
sudo nginx
#停止
sudo nginx -s stop
■定義
Coreモジュールのディレクティブを定義
events {
Eventsモジュールのディレクティブを定義
}
http {
HTTPモジュールのディレクティブを定義
server {
仮想サーバに関する設定を定義
location / {
ディレクトリ毎のドキュメントルートを定義
}
}
}
■バーチャルサーバー設定
【基本構文】
server {
server_name ドメイン;
}
【使用例】
http {
server {
#ポート80で待ち受ける
listen 80;
server_name 192.168.33.10
}
}
■ドキュメントルート設定
【基本構文】
server {
root ルートディレクトリ;
}
【使用例】
http {
server {
listen 80 default_server;
server_name 192.168.33.10;
root /var/www/html;
}
}
■IPフィルタリング設定
【基本構文】
http {
#許可
allow ドメイン;
#その他は拒否
deny all;
}
【使用例】
http {
#許可
allow 192.168.33.10;
#その他は拒否
deny all;
}
■リバースプロキシの設定
【基本構文】
location /google {
proxy_pass リバースプロキシのURL;
}
【使用例】
server {
listen 80 default_server;
server_name _;
location /google {
proxy_pass https://google.com/;
}
}
「192.168.33.10/google」にアクセスすると「https://google.com」に遷移する
URLの末尾に「/」を付けた完全なURLにすること
「/」を付けない場合は「192.168.33.10/google」に遷移し、想定どおりにならないことがあるので注意
■リダイレクト
【基本構文】
location /yahoo {
return 301 リダイレクト先のURL;
}
【使用例】
server {
listen 80 default_server;
server_name _;
location /yahoo {
return 301 http://yahoo.co.jp;
}
}
■文字列を置換
【基本構文】
sub_filter
【使用例】
erver {
listen 80 default_server;
server_name _;
sub_filter 'hoge' 'fuga';
sub_filter_once off;
location / {
root /var/www/html;
}
}
「/var/www/html」配下の下記ファイルにアクセスすると次の挙動となる
・index.html ⇒ index.html
・hoge.html ⇒ fuga.html
・fuga.html ⇒ fuga.html
※「sub_filter_once」で繰り返しのon/offを設定
デフォルトでは「on」となっている為、1度しか変換されない