0
3

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 3 years have passed since last update.

メモ:WindowsServerでnginxを動作させる

Posted at

環境はちょっと古いwindows server 2012

本体をここからダウンロードする。
今回はStable versionを選択。この時点では1.20.1

適当なフォルダに解凍して配置。
今回はG:\apps\nginx-1.20という形にしておいた。

この状態で起動して試したい所だが、このサーバではIISが動いていたのでポートを変える。
ついでにIISと同じフォルダをルートに指定してみる。

conf/nginx.conf
server {
	listen       8082;
	server_name  localhost;

	#charset koi8-r;

	#access_log  logs/host.access.log  main;

	location / {
	    root   C:\inetpub\wwwroot;
	    index  index.html index.htm;
	}

これで単純なWebサーバとして問題なく動作した。
開始時はnginxのディレクトリまで移動してから起動させる。
nginxを終了する場合は注意が必要で、Ctrl+Cでは終了しない。
プロンプトを閉じても裏で実行されっぱなしになるので、別のプロンプトから
nginx.exe -s quit
を叩く。
プロンプトを閉じるだけだとconfを変えても効果がない!となって時間を無駄に食う。(1敗)

次に、起動しているTomcat8.5と連携させる場合はlocationでproxy_passを利用する。
Tomcat側でBasic認証がかかっていても特に問題はない。

location / {
    root   C:\inetpub\wwwroot;
    index  index.html index.htm;
}

location /tomcat/ {
    proxy_pass http://localhost:8834/tomcat/jsp/;
}

ただし、上の場合は相対パスでtomcat/jsp/default.css
のようにCallしている場合に問題が発生するので、後ろのproxy_passは外しておいた方が良い。

nginx側でBasic認証をかけたくなるが、ユーザとパスワードはデータベースにあるものを使うとすると
ここで紹介されているが、
MySQLの場合はPAMとセットで対応した事例がある。(LinuxやらADととかの事例もありそう)
Linuxだとnginx-fullをDLしてやればいけそう。Windowsでは面倒そうなので一旦パス。
ファイルでパスワード管理するのであれば標準のnginxでいけるはず。

サービス化はwinswを使う方法がおそらく楽

0
3
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
3

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?