nginxやってみた
備忘録として...
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 と入力。
すると、
と表示されてとりあえず成功。
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/ でアクセス(一応ブラウザの機能でプライベートウィンドウで開いてください)。
すると、
と認証の確認をしてくれて、これでBasic認証はできた。登録したユーザー名とパスワードを入力して、
がなのが表示されれば成功。
認証を拒否してアクセスすると、
が出て確認終了。
おわり
まだまだnginxでできることややりたいことがあると思うので、その都度更新していければいいかと。
Author And Source
この問題について(nginxやってみた), 我々は、より多くの情報をここで見つけました https://qiita.com/Apacher-inf/items/7920d1fa92e955bc9e93著者帰属:元の著者の情報は、元のURLに含まれています。著作権は原作者に属する。
Content is automatically searched and collected through network algorithms . If there is a violation . Please contact us . We will adjust (correct author information ,or delete content ) as soon as possible .