「インストール - Nginx(RHEL)」の版間の差分

提供:MochiuWiki - SUSE, Electronic Circuit, PCB
ナビゲーションに移動 検索に移動
(Wiki がページ「インストール - Nginx(CentOS)」を「インストール - Nginx(RHEL)」に、リダイレクトを残さずに移動しました)
1行目: 1行目:
== 概要 ==
== 概要 ==
 
NginXとは、Apacheと並ぶWebサーバソフトウェアの1つであり、処理速度や機能面で注目を集めている。<br>
<br>
NginXのメリットを、以下に示す。<br>
* 高速である。
* 大量処理が得意である。
* Webサイトの利用を向上させる機能が豊富である。
* 設定が容易である。
<br>
Webサーバに同時に複数のアクセスがあった場合、下表に示すように動作の違いがある。<br>
<center>
{| class="wikitable" | style="background-color:#fefefe;"
|+ 動作方法の違いによる処理速度の向上
|-
! style="background-color:#66CCFF;" |
! style="background-color:#66CCFF;" | Apache 2
! style="background-color:#66CCFF;" | NginX
|-
| style="background-color:#EDEDED;" | 同時・複数アクセスへの対処方法
| 1アクセスに対して、1つの対応 || 複数のアクセスに対して、1つの対応にまとまる
|-
| style="background-color:#EDEDED;" | アクセス急増時のサーバへの負荷
| 一気に負荷が増す || アクセスに比例して負荷は急激に増えない
|-
| style="background-color:#EDEDED;" | その結果のWebサーバの挙動
| 動作が遅くなり、ダウンしやすくなる || 処理速度を維持して、ダウンしにくい
|}
</center>
<br>
例えば、Webサーバの負担を軽くして処理速度を上げる手段として、リバースプロキシやロードバランサー等があり、これらを実現する場合、Nginxが向いている。<br>
<br>
NginXのデメリットを、以下に示す。<br>
* 大量の動的コンテンツの処理に不向き
*: 一般的には、大量の動的コンテンツの公開(動画を中心としたWebサイト等)には向かないことがNginXのデメリットとして挙げられる。
*: ただし、比較的小規模のWebサイトを運営する場合は、それほど神経質にならなくてもよい。
*: <br>
* 機能追加のしやすさ
*: 専用のモジュールを追加することにより、Nginxも機能を拡張することができる。
*: ただし、Apacheの方が、実装方法について比較的充実し、情報が豊富でわかりやすい。
*: <br>
*: Apache モジュール一覧
*: https://httpd.apache.org/docs/trunk/ja/mod/
*: NGINX 3rd Party Modules
*: https://www.nginx.com/resources/wiki/modules/
*: <br>
* 初心者向けの設定情報の少なさ
*: 設定等の情報が少ない。
<br>
<center>
{| class="wikitable"
! colspan="4" style="background-color:#44CC99;" | 参考書
|- style="text-align: center; background-color:white;"
| style="width: 25%" | <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=presire22-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=presire22-22&language=ja_JP" ></a><img src="https://ir-jp.amazon-adsystem.com/e/ir?t=presire22-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=presire22-22&linkId=316efe14edfc68d79079b3ec48409b31&language=ja_JP&ref_=as_li_ss_tl nginx実践ガイド<br>IT技術者のための現場ノウハウ]
| style="width: 25%" | <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=presire22-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=presire22-22&language=ja_JP" ></a><img src="https://ir-jp.amazon-adsystem.com/e/ir?t=presire22-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=presire22-22&linkId=80ad46399788e7be696ba90261fbd3ab&language=ja_JP&ref_=as_li_ss_tl nginx実践入門<br>高速/安定稼働を実現する構築と運用のテクニック]
| style="width: 25%" | <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=li2&tag=presire22-22&linkId=7bd61f1c362b86b9c860a3ccf34f1f3f&language=ja_JP&ref_=as_li_ss_il" target="_blank"><img border="0" src="//ws-fe.amazon-adsystem.com/widgets/q?_encoding=UTF8&ASIN=4774176338&Format=_SL160_&ID=AsinImage&MarketPlace=JP&ServiceVersion=20070822&WS=1&tag=presire22-22&language=ja_JP" ></a><img src="https://ir-jp.amazon-adsystem.com/e/ir?t=presire22-22&language=ja_JP&l=li2&o=9&a=4774176338" width="1" height="1" border="0" alt="" style="border:none !important; margin:0px !important;" /></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=presire22-22&linkId=85ec8e6ff1903fc755c7504f6ff942fe&language=ja_JP&ref_=as_li_ss_tl Nginx ポケットリファレンス]
| style="width: 25%" | <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=presire22-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=presire22-22&language=ja_JP" ></a><img src="https://ir-jp.amazon-adsystem.com/e/ir?t=presire22-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=presire22-22&linkId=314a71169e9b78664ffbe97be08213dc&language=ja_JP&ref_=as_li_ss_tl Nginx HTTP Server<br>Nginxを利用して、高速なページ配信を実現する]
|}
</center>
<br><br>


== リポジトリの設定 ==
== リポジトリの設定 ==

2023年12月3日 (日) 04:39時点における版

概要

NginXとは、Apacheと並ぶWebサーバソフトウェアの1つであり、処理速度や機能面で注目を集めている。

NginXのメリットを、以下に示す。

  • 高速である。
  • 大量処理が得意である。
  • Webサイトの利用を向上させる機能が豊富である。
  • 設定が容易である。


Webサーバに同時に複数のアクセスがあった場合、下表に示すように動作の違いがある。

動作方法の違いによる処理速度の向上
Apache 2 NginX
同時・複数アクセスへの対処方法 1アクセスに対して、1つの対応 複数のアクセスに対して、1つの対応にまとまる
アクセス急増時のサーバへの負荷 一気に負荷が増す アクセスに比例して負荷は急激に増えない
その結果のWebサーバの挙動 動作が遅くなり、ダウンしやすくなる 処理速度を維持して、ダウンしにくい


例えば、Webサーバの負担を軽くして処理速度を上げる手段として、リバースプロキシやロードバランサー等があり、これらを実現する場合、Nginxが向いている。

NginXのデメリットを、以下に示す。

  • 大量の動的コンテンツの処理に不向き
    一般的には、大量の動的コンテンツの公開(動画を中心としたWebサイト等)には向かないことがNginXのデメリットとして挙げられる。
    ただし、比較的小規模のWebサイトを運営する場合は、それほど神経質にならなくてもよい。

  • 機能追加のしやすさ
    専用のモジュールを追加することにより、Nginxも機能を拡張することができる。
    ただし、Apacheの方が、実装方法について比較的充実し、情報が豊富でわかりやすい。

    Apache モジュール一覧
    https://httpd.apache.org/docs/trunk/ja/mod/
    NGINX 3rd Party Modules
    https://www.nginx.com/resources/wiki/modules/

  • 初心者向けの設定情報の少なさ
    設定等の情報が少ない。


参考書
q?_encoding=UTF8&ASIN=B01N183E3H&Format=_SL160_&ID=AsinImage&MarketPlace=JP&ServiceVersion=20070822&WS=1&tag=presire22-22&language=ja_JP
nginx実践ガイド
IT技術者のための現場ノウハウ
q?_encoding=UTF8&ASIN=4774178667&Format=_SL160_&ID=AsinImage&MarketPlace=JP&ServiceVersion=20070822&WS=1&tag=presire22-22&language=ja_JP
nginx実践入門
高速/安定稼働を実現する構築と運用のテクニック
q?_encoding=UTF8&ASIN=4774176338&Format=_SL160_&ID=AsinImage&MarketPlace=JP&ServiceVersion=20070822&WS=1&tag=presire22-22&language=ja_JP
Nginx ポケットリファレンス
q?_encoding=UTF8&ASIN=B078JP4HZN&Format=_SL160_&ID=AsinImage&MarketPlace=JP&ServiceVersion=20070822&WS=1&tag=presire22-22&language=ja_JP
Nginx HTTP Server
Nginxを利用して、高速なページ配信を実現する



リポジトリの設定

リポジトリを追加するので、nginx.repoファイルを作成する。

sudo nano /etc/yum.repos.d/nginx.repo


上記で作成したnginx.repoファイルに以下の内容を書き込み保存する。

[nginx]
name=nginx repo
baseurl=http://nginx.org/packages/mainline/centos/7/$basearch/
gpgcheck=0
enabled=1



インストールと起動

以下のコマンドを入力して、Nginxをインストールする。

sudo yum install nginx


インストールしたNginxのバージョンを確認する。

nginx -v


自動起動設定とNginxの起動を行う。

sudo systemctl enable nginx
sudo systemctl start nginx


デフォルトページの表示の確認をする。
http://CentOSのコンピュータ名/
上記のindex.htmlのデフォルトのパス

/usr/share/nginx/html/index.html

Nginxの設定ファイルのパス

/etc/nginx/conf.d/default.conf


簡単なリバースプロキシ
/etc/nginx/conf.d 以下に XXX.confという命名でファイルを作成する。
ココでは server.conf とし、80 番で受けたリクエストを 8000 番に転送する。

sudo nano /etc/nginx/conf.d/server.conf


server {
   listen 80;
   # アクセス可能なIPアドレスもしくはドメイン
   server_name hogehoge.com;
   proxy_set_header X-Real-IP $remote_addr;
   proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
   proxy_set_header Host $http_host;
   proxy_redirect off;
   proxy_max_temp_file_size 0;
   location / {
      proxy_pass http://localhost:8000;
   }
}



Nginxの基本コマンド

起動

sudo systemctl start nginx


停止

sudo systemctl stop nginx


再起動

sudo systemctl restart nginx


再起動しても設定ファイルが反映されない場合

sudo nginx -s reload


状態の確認

sudo systemctl status nginx