「インストール - Nginx(RHEL)」の版間の差分
ナビゲーションに移動
検索に移動
(→概要) |
|||
57行目: | 57行目: | ||
|} | |} | ||
</center> | </center> | ||
<br><br> | <br><br> | ||
2023年12月3日 (日) 04:41時点における版
概要
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/
- 初心者向けの設定情報の少なさ
- 設定等の情報が少ない。
参考書 | |||
---|---|---|---|
nginx実践ガイド IT技術者のための現場ノウハウ |
nginx実践入門 高速/安定稼働を実現する構築と運用のテクニック |
Nginx ポケットリファレンス |
Nginx HTTP Server Nginxを利用して、高速なページ配信を実現する |
インストールと起動
以下のコマンドを入力して、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