📢 Webサイト閉鎖と移転のお知らせ
このWebサイトは2026年9月に閉鎖いたします。
新しい記事は移転先で追加しております。(旧サイトでは記事を追加しておりません)

 
(同じ利用者による、間の13版が非表示)
17行目: 17行目:
! style="background-color:#66CCFF;" | NginX
! style="background-color:#66CCFF;" | NginX
|-
|-
| style="background-color:#EDEDED;" | 同時・複数アクセスへの対処方法  
| style="background-color:#CFCFCF;" | 同時・複数アクセスへの対処方法  
| 1アクセスに対して、1つの対応 || 複数のアクセスに対して、1つの対応にまとまる
| 1アクセスに対して、1つの対応 || 複数のアクセスに対して、1つの対応にまとまる
|-
|-
| style="background-color:#EDEDED;" | アクセス急増時のサーバへの負荷  
| style="background-color:#CFCFCF;" | アクセス急増時のサーバへの負荷  
| 一気に負荷が増す || アクセスに比例して負荷は急激に増えない
| 一気に負荷が増す || アクセスに比例して負荷は急激に増えない
|-
|-
| style="background-color:#EDEDED;" | その結果のWebサーバの挙動  
| style="background-color:#CFCFCF;" | その結果のWebサーバの挙動  
| 動作が遅くなり、ダウンしやすくなる || 処理速度を維持して、ダウンしにくい
| 動作が遅くなり、ダウンしやすくなる || 処理速度を維持して、ダウンしにくい
|}
|}
48行目: 48行目:
<br>
<br>
<center>
<center>
{| class="wikitable"
{| class="wikitable" | style="background-color:#fefefe;"
! colspan="3" style="background-color:#44CC99;" | 参考書  
! colspan="4" style="background-color:#44CC99;" | 参考書  
|- style="text-align: center; background-color:white;"
|- style="text-align: center;"
| style="width: 33%" | <html><a href="https://www.amazon.co.jp/nginx%E5%AE%9F%E8%B7%B5%E3%82%AC%E3%82%A4%E3%83%89-impress-top-gear%E3%82%B7%E3%83%AA%E3%83%BC%E3%82%BA-%E6%B8%A1%E8%BE%BA%E9%AB%98%E5%BF%97-ebook/dp/B01N183E3H?__mk_ja_JP=%E3%82%AB%E3%82%BF%E3%82%AB%E3%83%8A&keywords=nginx%E5%AE%9F%E8%B7%B5%E3%82%AC%E3%82%A4%E3%83%89&qid=1683613390&sr=8-1&linkCode=li2&tag=presire0207-22&linkId=c2bce7928a72af61eeb5cfe551cafbfe&language=ja_JP&ref_=as_li_ss_il" target="_blank"><img border="0" src="//ws-fe.amazon-adsystem.com/widgets/q?_encoding=UTF8&ASIN=B01N183E3H&Format=_SL160_&ID=AsinImage&MarketPlace=JP&ServiceVersion=20070822&WS=1&tag=presire0207-22&language=ja_JP" ></a><img src="https://ir-jp.amazon-adsystem.com/e/ir?t=presire0207-22&language=ja_JP&l=li2&o=9&a=B01N183E3H" width="1" height="1" border="0" alt="" style="border:none !important; margin:0px !important;" /></html><br>[https://www.amazon.co.jp/nginx%E5%AE%9F%E8%B7%B5%E3%82%AC%E3%82%A4%E3%83%89-impress-top-gear%E3%82%B7%E3%83%AA%E3%83%BC%E3%82%BA-%E6%B8%A1%E8%BE%BA%E9%AB%98%E5%BF%97-ebook/dp/B01N183E3H?__mk_ja_JP=%E3%82%AB%E3%82%BF%E3%82%AB%E3%83%8A&keywords=nginx%E5%AE%9F%E8%B7%B5%E3%82%AC%E3%82%A4%E3%83%89&qid=1683613390&sr=8-1&linkCode=ll1&tag=presire0207-22&linkId=316efe14edfc68d79079b3ec48409b31&language=ja_JP&ref_=as_li_ss_tl nginx実践ガイド<br>IT技術者のための現場ノウハウ]
| style="width: 25%" | <center><html><a href="https://www.amazon.co.jp/nginx%E5%AE%9F%E8%B7%B5%E3%82%AC%E3%82%A4%E3%83%89-impress-top-gear%E3%82%B7%E3%83%AA%E3%83%BC%E3%82%BA-%E6%B8%A1%E8%BE%BA%E9%AB%98%E5%BF%97-ebook/dp/B01N183E3H?__mk_ja_JP=%E3%82%AB%E3%82%BF%E3%82%AB%E3%83%8A&keywords=nginx%E5%AE%9F%E8%B7%B5%E3%82%AC%E3%82%A4%E3%83%89&qid=1683613390&sr=8-1&linkCode=ll1&tag=presire2-22&linkId=043bfdc7a0aebd00eb1db639408b7d42&language=ja_JP&ref_=as_li_ss_tl" target="_blank"><img style="width: 250px; height: auto;" src="https://m.media-amazon.com/images/I/A1nwYPPNb8L._SL1500_.jpg" ></a></html><br>[https://www.amazon.co.jp/nginx%E5%AE%9F%E8%B7%B5%E3%82%AC%E3%82%A4%E3%83%89-impress-top-gear%E3%82%B7%E3%83%AA%E3%83%BC%E3%82%BA-%E6%B8%A1%E8%BE%BA%E9%AB%98%E5%BF%97-ebook/dp/B01N183E3H?__mk_ja_JP=%E3%82%AB%E3%82%BF%E3%82%AB%E3%83%8A&keywords=nginx%E5%AE%9F%E8%B7%B5%E3%82%AC%E3%82%A4%E3%83%89&qid=1683613390&sr=8-1&linkCode=ll1&tag=presire2-22&linkId=043bfdc7a0aebd00eb1db639408b7d42&language=ja_JP&ref_=as_li_ss_tl nginx実践ガイド<br>IT技術者のための現場ノウハウ]</center>
| style="width: 33%" | <html><a href="https://www.amazon.co.jp/nginx%E5%AE%9F%E8%B7%B5%E5%85%A5%E9%96%80-WEB-DB-PRESS-plus/dp/4774178667?__mk_ja_JP=%E3%82%AB%E3%82%BF%E3%82%AB%E3%83%8A&keywords=nginx%E5%AE%9F%E8%B7%B5%E3%82%AC%E3%82%A4%E3%83%89&qid=1683613529&sr=8-4&linkCode=li2&tag=presire0207-22&linkId=2aab94e778651e2e0eddfed8df38af4e&language=ja_JP&ref_=as_li_ss_il" target="_blank"><img border="0" src="//ws-fe.amazon-adsystem.com/widgets/q?_encoding=UTF8&ASIN=4774178667&Format=_SL160_&ID=AsinImage&MarketPlace=JP&ServiceVersion=20070822&WS=1&tag=presire0207-22&language=ja_JP" ></a><img src="https://ir-jp.amazon-adsystem.com/e/ir?t=presire0207-22&language=ja_JP&l=li2&o=9&a=4774178667" width="1" height="1" border="0" alt="" style="border:none !important; margin:0px !important;" /></html><br>[https://www.amazon.co.jp/nginx%E5%AE%9F%E8%B7%B5%E5%85%A5%E9%96%80-WEB-DB-PRESS-plus/dp/4774178667?__mk_ja_JP=%E3%82%AB%E3%82%BF%E3%82%AB%E3%83%8A&keywords=nginx%E5%AE%9F%E8%B7%B5%E3%82%AC%E3%82%A4%E3%83%89&qid=1683613529&sr=8-4&linkCode=ll1&tag=presire0207-22&linkId=80ad46399788e7be696ba90261fbd3ab&language=ja_JP&ref_=as_li_ss_tl nginx実践入門<br>高速/安定稼働を実現する構築と運用のテクニック]
| style="width: 25%" | <center><html><a href="https://www.amazon.co.jp/nginx%E5%AE%9F%E8%B7%B5%E5%85%A5%E9%96%80-WEB-DB-PRESS-plus/dp/4774178667?__mk_ja_JP=%E3%82%AB%E3%82%BF%E3%82%AB%E3%83%8A&keywords=nginx%E5%AE%9F%E8%B7%B5%E3%82%AC%E3%82%A4%E3%83%89&qid=1683613529&sr=8-4&linkCode=ll1&tag=presire2-22&linkId=27b398323efeb2a8b3c7dbc64e799fa1&language=ja_JP&ref_=as_li_ss_tl" target="_blank"><img style="width: 250px; height: auto;" src="https://m.media-amazon.com/images/I/61LbDMjddRL._SL1000_.jpg" ></a></html><br>[https://www.amazon.co.jp/nginx%E5%AE%9F%E8%B7%B5%E5%85%A5%E9%96%80-WEB-DB-PRESS-plus/dp/4774178667?__mk_ja_JP=%E3%82%AB%E3%82%BF%E3%82%AB%E3%83%8A&keywords=nginx%E5%AE%9F%E8%B7%B5%E3%82%AC%E3%82%A4%E3%83%89&qid=1683613529&sr=8-4&linkCode=ll1&tag=presire2-22&linkId=27b398323efeb2a8b3c7dbc64e799fa1&language=ja_JP&ref_=as_li_ss_tl nginx実践入門<br>高速/安定稼働を実現する構築と運用のテクニック]</center>
| style="width: 33%" | <html><a href="https://www.amazon.co.jp/Nginx-HTTP-Server-Harness-infrastructure-ebook/dp/B078JP4HZN?__mk_ja_JP=%E3%82%AB%E3%82%BF%E3%82%AB%E3%83%8A&crid=3B65BLLSDAMIQ&keywords=Nginx+HTTP+Server&qid=1667805465&qu=eyJxc2MiOiIxLjQ3IiwicXNhIjoiMC4wMCIsInFzcCI6IjAuMDAifQ%3D%3D&sprefix=nginx+http+server%2Caps%2C340&sr=8-1&linkCode=li2&tag=presire0207-22&linkId=0edb26cdeb87a7d345a5e49cbf2a52ad&language=ja_JP&ref_=as_li_ss_il" target="_blank"><img border="0" src="//ws-fe.amazon-adsystem.com/widgets/q?_encoding=UTF8&ASIN=B078JP4HZN&Format=_SL160_&ID=AsinImage&MarketPlace=JP&ServiceVersion=20070822&WS=1&tag=presire0207-22&language=ja_JP" ></a><img src="https://ir-jp.amazon-adsystem.com/e/ir?t=presire0207-22&language=ja_JP&l=li2&o=9&a=B078JP4HZN" width="1" height="1" border="0" alt="" style="border:none !important; margin:0px !important;" /></html><br>[https://www.amazon.co.jp/Nginx-HTTP-Server-Harness-infrastructure-ebook/dp/B078JP4HZN?__mk_ja_JP=%E3%82%AB%E3%82%BF%E3%82%AB%E3%83%8A&crid=3B65BLLSDAMIQ&keywords=Nginx+HTTP+Server&qid=1667805465&qu=eyJxc2MiOiIxLjQ3IiwicXNhIjoiMC4wMCIsInFzcCI6IjAuMDAifQ%3D%3D&sprefix=nginx+http+server%2Caps%2C340&sr=8-1&linkCode=ll1&tag=presire0207-22&linkId=314a71169e9b78664ffbe97be08213dc&language=ja_JP&ref_=as_li_ss_tl Nginx HTTP Server<br>Nginxを利用して、高速なページ配信を実現する]
| style="width: 25%" | <center><html><a href="https://www.amazon.co.jp/Nginx-%E3%83%9D%E3%82%B1%E3%83%83%E3%83%88%E3%83%AA%E3%83%95%E3%82%A1%E3%83%AC%E3%83%B3%E3%82%B9-%E9%B6%B4%E9%95%B7-%E9%8E%AE%E4%B8%80/dp/4774176338?__mk_ja_JP=%E3%82%AB%E3%82%BF%E3%82%AB%E3%83%8A&keywords=nginx%E5%AE%9F%E8%B7%B5%E3%82%AC%E3%82%A4%E3%83%89&qid=1683613634&sr=8-3&linkCode=ll1&tag=presire2-22&linkId=fba35fad8e2270d7371a77b5c5a9f44e&language=ja_JP&ref_=as_li_ss_tl" target="_blank"><img style="width: 250px; height: auto;" src="https://m.media-amazon.com/images/I/61ZE51+HyfL._SL1000_.jpg" ></a></html><br>[https://www.amazon.co.jp/Nginx-%E3%83%9D%E3%82%B1%E3%83%83%E3%83%88%E3%83%AA%E3%83%95%E3%82%A1%E3%83%AC%E3%83%B3%E3%82%B9-%E9%B6%B4%E9%95%B7-%E9%8E%AE%E4%B8%80/dp/4774176338?__mk_ja_JP=%E3%82%AB%E3%82%BF%E3%82%AB%E3%83%8A&keywords=nginx%E5%AE%9F%E8%B7%B5%E3%82%AC%E3%82%A4%E3%83%89&qid=1683613634&sr=8-3&linkCode=ll1&tag=presire2-22&linkId=fba35fad8e2270d7371a77b5c5a9f44e&language=ja_JP&ref_=as_li_ss_tl Nginx ポケットリファレンス]</center>
| style="width: 25%" | <center><html><a href="https://www.amazon.co.jp/Nginx-HTTP-Server-Harness-infrastructure-ebook/dp/B078JP4HZN?__mk_ja_JP=%E3%82%AB%E3%82%BF%E3%82%AB%E3%83%8A&crid=3B65BLLSDAMIQ&keywords=Nginx+HTTP+Server&qid=1667805465&qu=eyJxc2MiOiIxLjQ3IiwicXNhIjoiMC4wMCIsInFzcCI6IjAuMDAifQ%3D%3D&sprefix=nginx+http+server%2Caps%2C340&sr=8-1&linkCode=ll1&tag=presire2-22&linkId=27ce6fa58f80207d2bb6d06359b505c7&language=ja_JP&ref_=as_li_ss_tl" target="_blank"><img style="width: 250px; height: auto;" src="https://m.media-amazon.com/images/I/81V8A5I4p4L._SL1500_.jpg" ></a></html><br>[https://www.amazon.co.jp/Nginx-HTTP-Server-Harness-infrastructure-ebook/dp/B078JP4HZN?__mk_ja_JP=%E3%82%AB%E3%82%BF%E3%82%AB%E3%83%8A&crid=3B65BLLSDAMIQ&keywords=Nginx+HTTP+Server&qid=1667805465&qu=eyJxc2MiOiIxLjQ3IiwicXNhIjoiMC4wMCIsInFzcCI6IjAuMDAifQ%3D%3D&sprefix=nginx+http+server%2Caps%2C340&sr=8-1&linkCode=ll1&tag=presire2-22&linkId=27ce6fa58f80207d2bb6d06359b505c7&language=ja_JP&ref_=as_li_ss_tl Nginx HTTP Server<br>Nginxを利用して、高速なページ配信を実現する]</center>
|}
|}
</center>
</center>
<br><br>
== Mainline版 / Stable版 ==
Nginxには、Mainline版とStable版の2つの主要なバージョンがある。<br>
<br>
<u>Mainline版を使用する場合は十分なテストと検証を行い、プロダクション環境ではStable版を使用することを推奨する。</u><br>
<br>
==== Stable版 ====
Stable版は、テスト済みで安定したバージョンである。<br>
<br>
バグが修正され、機能が確立されており、プロダクション環境で使用することを目的としている。<br>
新しい機能は追加されないが、バグ修正とセキュリティアップデートは行われる。<br>
<br>
==== Mainline版 ====
Mainline版は、最新の開発バージョンである。<br>
新しい機能が追加されており、Stable版よりも頻繁に更新される。<br>
<br>
Mainline版は、開発者やテスタが新しい機能をテストして、フィードバックを提供するために使用される。<br>
<br>
ただし、Mainline版は、テストが十分に行われていない可能性があるため、プロダクション環境で使用するには適していない場合がある。<br>
<br>
Mainline版のメリットを以下に示す。<br>
* 最新の機能やバグ修正を早く利用できる。
* 開発チームが新しい機能をテストし、フィードバックを提供するのに役立つ。
<br>
Mainline版のデメリットを以下に示す。<br>
* バグや不具合が発生する可能性がある。
* 新しい機能が予期せず動作しない可能性がある。
* 設定ファイルや構成が変更される可能性がある。
<br><br>
<br><br>


79行目: 109行目:
==== ソースコードからインストール ====
==== ソースコードからインストール ====
NginXのビルドに必要なライブラリをインストールする。<br>
NginXのビルドに必要なライブラリをインストールする。<br>
  sudo zypper install libxslt-devel pcre2-devel gd-devel
  sudo zypper install libxslt-devel pcre2-devel gd-devel zlib-devel \
                     libGeoIP-devel             # GeoIPを使用する場合
                    libopenssl-devel libopenssl-1_1-devel  # OpenSSL 1 を使用する場合
                     libcurl-devel              # Passengerを使用する場合
                    libopenssl-3-devel                    # OpenSSL 3 を使用する場合
                     kernel-source kernel-devel # AIOを使用する場合
                     libGeoIP-devel                         # GeoIPを使用する場合
                     libcurl-devel ruby-devel              # Passengerを使用する場合
                     kernel-source kernel-devel             # AIOを使用する場合
<br>
<br>
必要ならば、[https://www.openssl.org/source/ OpenSSLの公式Webサイト]にアクセスして、OpenSSL(1.X.Y)のソースコードをダウンロードする。<br>
必要ならば、[https://www.openssl.org/source/ OpenSSLの公式Webサイト]にアクセスして、OpenSSL(1.X.Y)のソースコードをダウンロードする。<br>
100行目: 132行目:
*: NginXのソースコードと一緒に配布されていないため、別途インストールする必要がある。<br>
*: NginXのソースコードと一緒に配布されていないため、別途インストールする必要がある。<br>
*: [https://www.phusionpassenger.com/docs/advanced_guides/install_and_upgrade/standalone/install/oss/tarball.html Passengerモジュールの公式webサイト]にアクセスして、ソースコードをダウンロードする。<br>
*: [https://www.phusionpassenger.com/docs/advanced_guides/install_and_upgrade/standalone/install/oss/tarball.html Passengerモジュールの公式webサイト]にアクセスして、ソースコードをダウンロードする。<br>
*: または、[https://github.com/phusion/passenger PassengerのGithub]にアクセスして、ソースコードをダウンロードする。
*: ダウンロードしたファイルを解凍する。<br>
*: ダウンロードしたファイルを解凍する。<br>
*: <code>tar xf passenger-<バージョン>.tar.gz</code>
*: <code>tar xf passenger-<バージョン>.tar.gz</code>
106行目: 139行目:
<br>
<br>
NginX 1.9.11以降から、<code>configure</code>スクリプト実行時において、<br>
NginX 1.9.11以降から、<code>configure</code>スクリプト実行時において、<br>
<code>--add-module=<PATH></code>オプションの代わりに<code>--add-dynamic-module=<PATH></code>オプションを使用して、モジュールを動的モジュールとしてコンパイルすることができる。<br>
--add-module=<PATH>オプションの代わりに<code>--add-dynamic-module=<PATH></code>オプションを使用して、モジュールを動的モジュールとしてコンパイルすることができる。<br>
そして、<code>load_module</code>ディレクティブを使用して、nginx.confファイルで明示的にモジュールをロードすることができる。<br>
そして、<code>load_module</code>ディレクティブを使用して、nginx.confファイルで明示的にモジュールをロードすることができる。<br>
  load_module /path/to/modules/<モジュール名>.so;
  load_module /path/to/modules/<モジュール名>.so;
149行目: 182行目:
  --with-stream=dynamic --with-stream_ssl_module --with-stream_realip_module --with-stream_ssl_preread_module \
  --with-stream=dynamic --with-stream_ssl_module --with-stream_realip_module --with-stream_ssl_preread_module \
  --with-compat \
  --with-compat \
--with-ipv6  \  # ただし、1.24以降は無効
  --user=<任意のユーザ名  例. nginx> \
  --user=<任意のユーザ名  例. nginx> \
  --group=<任意のグループ名  例. nginx>
  --group=<任意のグループ名  例. nginx>
   
   
  # 不要の可能性あり
  # 不要の可能性あり
  --without-poll_module --without-select_module --with-ipv6
  --without-poll_module --without-select_module
   
   
  # Digest認証を使用する場合
  # Digest認証を使用する場合
  --add-module=<Digest認証モジュールのソースコードがあるディレクトリ>
  --add-dynamic-module=<Digest認証モジュールのソースコードがあるディレクトリ>
   
   
  # Passengerを使用する場合
  # Passengerを使用する場合
  --add-module=/<Passengerモジュールのディレクトリ>/src/nginx-module
  --add-dynamic-module=/<Passengerモジュールのディレクトリ>/src/nginx-module
   
   
  # GCCコンパイラを指定する場合
  # GCCコンパイラを指定する場合
963行目: 997行目:
現代では、SSL/TLSを用いてHTTPによるデータ伝送全体を暗号化するHTTPS通信が広く普及しており、かつてより重要性は低下している。<br>
現代では、SSL/TLSを用いてHTTPによるデータ伝送全体を暗号化するHTTPS通信が広く普及しており、かつてより重要性は低下している。<br>
<br>
<br>
==== NnginXにおけるDigest認証モジュールの注意点 ====
==== realmとは ====
realmは、サーバが要求する認証領域や識別領域を示すものである。<br>
通常、この領域 (realm名) は保護されたリソースやWebサイトのドメイン名等で識別される。<br>
<br>
クライアントがリクエストを送信する際に、realmはクライアントに対してどの認証情報が必要かを示し、ユーザに対して正しい認証情報を提供するよう促す。<br>
<br>
例えば、HTTPヘッダにおいて、以下に示すようにrealmが指定される場合がある。<br>
以下の例では、realmは<u>example.com</u>という文字列で、クライアントはこの識別領域での認証を行う必要がある。<br>
<code>nonce</code>や<code>opaque</code>等の他のパラメータも設定されて、セキュリティの向上や攻撃からの保護を担っている。<br>
WWW-Authenticate: Digest realm="example.com", qop="auth", nonce="dcd98b7102dd2f0e8b11d0f600bfb0c093", opaque="5ccc069c403ebaf9f0171e9517f40e41"
<br>
==== NginXにおけるDigest認証モジュールの注意点 ====
Digest認証モジュールは、NginXのソースコードと一緒に配布されていないため、別途インストールする必要がある。<br>
Digest認証モジュールは、NginXのソースコードと一緒に配布されていないため、別途インストールする必要がある。<br>
<br>
<br>
969行目: 1,014行目:
現在の注意点については、[https://github.com/atomx/nginx-http-auth-digest/blob/master/bugs.txt bugs.txt]ファイルと[https://github.com/atomx/nginx-http-auth-digest/issues github issue tracker]を参照すること。<br>
現在の注意点については、[https://github.com/atomx/nginx-http-auth-digest/blob/master/bugs.txt bugs.txt]ファイルと[https://github.com/atomx/nginx-http-auth-digest/issues github issue tracker]を参照すること。<br>
<br>
<br>
==== Digest認証の設定 ====
==== Digest認証の設定 ====
Digest認証のパスワードファイルを作成する。<br>
Digest認証のパスワードファイルを作成する。<br>
1,273行目: 1,319行目:
  sudo systemctl restart nginx php-fpm
  sudo systemctl restart nginx php-fpm
<br><br>
<br><br>


__FORCETOC__
__FORCETOC__
[[カテゴリ:SUSE]]
[[カテゴリ:SUSE]][[カテゴリ:Web]]