LoginSignup
0
6

More than 5 years have passed since last update.

nginxやってみた

Last updated at Posted at 2016-12-25

備忘録として...

nginxとは

読み方はエンジンエックス。Apacheと同様でフリーでオープンソースなWebサーバ。

環境

  • OS : Windows 10
  • ngimx 1.10.2

とりあえず動かしてみた

nginx起動

nginx-X.X.Xのディレクトリ直下へ移動して

start nginx

と入力する。

これで起動と思ったら、起動しない。
調べてみると

failed (1113: No mapping for the Unicode character exists in the target multi-byte code page)

と出ている。どうやらnginxを保管したディレクトリに日本語が含まれているのが問題。そこで、日本語が含まれないディレクトリへnginxを保管して再度、nginxを起動後、ブラウザを開いてhttp://localhost と入力。

すると、

nginx1.PNG

と表示されてとりあえず成功。

nginxを止めるときは

nginx -s quit

でおk。

nginxの設定の更新

nginxの設定ファイル(~\nginx-1.10.2\conf\nginx.conf)を変えて、更新するときは

nginx -s reload

と入力。

help

nginx -h

nginxの設定(nginx.conf)

nginx.confファイルを開くといろいろと書かれているが、そこは後でやるか置いといて、一部抜粋。

http {
    server {
    }
}

これが基本的な設定の構造となり、このserverの中にいろいろ設定を加えていく。

locationブロック

例えば、こんなの

location / {
    root html;
}

これは元々設定されている物を抜粋したものだが、これは
locationの後にポート番号もしくはサーバー名の後に続く接頭辞を設定し、rootの所でnginx-x.x.x下のディレクトリ(ここではルートディレクトリ)を設定している。

では、新しいディレクトリを設定してみることにする。
ここで、locationブロックを追加するのだが、これは同じserverブロック内で大丈夫。nginx-x.x.xフォルダの中に元々、htmlというフォルダがあるのでその中にtestというフォルダを作ってそのフォルダ内にhello.htmlを作る(Hello Worldが表示される)。

location /test/ {
    root html;
}

nginx -s reloadと入力して更新してから、ブラウザでhttp://localhost/test/hello.html と入力する。無事にHello Worldと表示されるはずだ。
これでhtmlフォルダ内のtestフォルダ内のファイルを覗くことができるようになった。

Basic認証

nginxでBasic認証をしてみました。

まず、windowsで.htpasswdの設定をしないといけない。
一番楽だったのが、このサイト。このサイトにあるUserとPasswordに好きなものを入れてCreate .htpasswd Fileをクリックして出てきたテキストをコピー&ペーストしてローカルのどこかに.htpasswdのファイル名で保存すればいい。

nginxのBasic通信の設定

location / {
    root   html;
    auth_basic "Restricted";  #この部分を追加
    auth_basic_user_file .htpasswd;  #この部分を追加
    index  index.html index.htm;
}

これを保存してnginx -s reloadしてhttp://localhost/ でアクセス(一応ブラウザの機能でプライベートウィンドウで開いてください)。

すると、

キャプチャ3.PNG

と認証の確認をしてくれて、これでBasic認証はできた。登録したユーザー名とパスワードを入力して、

nginx1.PNG

がなのが表示されれば成功。
認証を拒否してアクセスすると、

キャプチャ1.PNG

が出て確認終了。

おわり

まだまだnginxでできることややりたいことがあると思うので、その都度更新していければいいかと。

0
6
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
6