nginx を最適化する 6 つの方法

nginx を最適化する 6 つの方法

1. Nginxの同時実行性を最適化する

[root@proxy ~]# ab -n 2000 -c 2000 http://192.168.4.5/
192.168.4.5 のベンチマーク (しばらくお待ちください)
ソケット: 開いているファイルが多すぎます (24) //開いているファイルが多すぎることを示すプロンプト

同時実行性を高めるためにNginx設定ファイルを変更する

[root@proxy ~]# vim /usr/local/nginx/conf/nginx.conf
.. ..
worker_processes 2; //CPUコア数と同じ events {
worker_connections 65535; //ワーカーあたりの同時接続の最大数は epoll を使用します。
}
.. ..
[root@proxy ~]# nginx -s reload

2. Linuxカーネルパラメータを最適化する(ファイルの最大数)

[root@proxy ~]# ulimit -a //すべての属性値を表示 [root@proxy ~]# ulimit -Hn 100000 //ハード制限を設定(一時ルール)
[root@proxy ~]# ulimit -Sn 100000 //ソフト制限を設定する(一時的なルール)
[root@proxy ~]# vim /etc/security/limits.conf
 .. ..
* ソフトノーファイル 100000
* ハードノーファイル 100000
#設定ファイルは次のように 4 つの列に分かれています。
#ユーザーまたはグループのハード制限またはソフト制限 制限する必要があるアイテム制限の値

最適化後のサーバーの同時実行性をテストする

[root@proxy ~]# ab -n 2000 -c 2000 http://192.168.4.5/

3. Nginxパケットヘッダーキャッシュを最適化する

[root@proxy ~]# cat lnmp_soft/buffer.sh 
#!/bin/bash
URL=http://192.168.4.5/index.html?
i が {1..5000} の範囲にある場合
する
 URL=${URL}v$i=$i
終わり
curl $URL // 5000サイクル後、長いURLアドレスバーが生成されます [root@proxy ~]# ./buffer.sh
.. ..
<center><h1>414 Request-URI Too Large</h1></center> //ヘッダー情報が大きすぎることを通知する

Nginx 設定ファイルを変更してパケット ヘッダー キャッシュ サイズを増やす

[root@proxy ~]# vim /usr/local/nginx/conf/nginx.conf
.. ..
http {
client_header_buffer_size 1k; // デフォルトのリクエスト ヘッダー情報キャッシュ large_client_header_buffers 4 4k; // 大きなリクエスト ヘッダー情報のキャッシュの数と容量。
}
[root@proxy ~]# nginx -s reload

4. ページを圧縮する

[root@proxy ~]# cat /usr/local/nginx/conf/nginx.conf
http {
.. ..
gzip on; // 圧縮をオンにします gzip_min_length 1000; // 小さなファイルは圧縮されません gzip_comp_level 4; // 圧縮率 gzip_types text/plain text/css application/json application/x-javascript text/xml application/xml application/xml+rss text/javascript;
         //特定のファイルを圧縮します。タイプについては mime.types を参照してください。
.. ..

5. サーバーメモリキャッシュ

http { 
open_file_cache 最大=2000 非アクティブ=20秒;
  open_file_cache_valid 60秒;
  オープンファイルキャッシュの最小使用数は 5 です。
  open_file_cache_errors をオフ;
// サーバーが最大 2000 個のファイル ハンドルをキャッシュするように設定し、20 秒以内に要求のないファイル ハンドルを閉じます。// ファイル ハンドルの有効期間は 60 秒で、60 秒後に期限切れになります。// 5 回以上アクセスされたファイルのみがキャッシュされます。}

6. ブラウザのローカルキャッシュの静的データ

[root@proxy ~]# vim /usr/local/nginx/conf/nginx.conf
サーバー{
  聞く 80;
  server_name ローカルホスト;
  位置 / {
   ルートhtml;
   インデックス index.html index.htm;
  }
場所 ~* \.(jpg|jpeg|gif|png|css|js|ico|xml)$ {
expires 30d; //クライアントのキャッシュ時間を30日間に定義します}
}
[root@proxy ~]# cp /usr/share/backgrounds/day.jpg /usr/local/nginx/html
[root@proxy ~]# nginx -s reload 

これで、nginx 最適化の 6 つの方法についての記事は終了です。より関連性の高い nginx 最適化コンテンツについては、123WORDPRESS.COM の以前の記事を検索するか、以下の関連記事を引き続き参照してください。今後とも 123WORDPRESS.COM をよろしくお願いいたします。

以下もご興味があるかもしれません:
  • nginx 基本チュートリアル
  • Nginx 設定入門チュートリアル
  • Windows での nginx HTTP サーバーの入門チュートリアル
  • Nginx ロードバランシングとは何か、そしてそれをどのように設定するか
  • Nginx 最適化サービスで Web ページ圧縮を実装する方法
  • Nginx がフロントエンド リソースへのクロスドメイン アクセスの問題をどのように解決するかの詳細な説明
  • proxy_pass を設定した後に Nginx が 404 を返す問題を解決する
  • Nginx をベースに特定の IP への短期アクセス数を制限する
  • Nginx の構成と HTTP 実装コード分析との互換性
  • Nginx サービス クイック スタート チュートリアル

<<:  Robots.txtの詳細な紹介

>>:  CSS の両端揃えを実現する div+css レイアウトの 4 つの方法の概要

推薦する

Linuxダイナミックリンクライブラリの使用

通常のプログラムと比較すると、ダイナミック リンク ライブラリにはメイン関数がなく、一連の関数の実装...

MySQLプリコンパイル機能の詳細な説明

この記事では、MySQLのプリコンパイル機能について紹介します。具体的な内容は以下のとおりです。 1...

CSSフィルターにはどんな魔法の用途があるか

背景基本概念CSS filterプロパティは、ぼかしや色の変化などのグラフィック効果を要素に適用して...

Vue のトランジション効果とアニメーショントランジションの使用例の詳細な説明

目次遷移フック関数カスタム遷移クラス名遷移グループの使用まとめまずは例を見てみましょうコードは次のと...

MySQL での正規表現の使用に関する詳細

目次1. はじめに2. 製品テーブルを準備する2.1 ステートメントの順序2.2 大文字と小文字の区...

Node.js http モジュールの使用

目次序文ウェブHTTP サーバーファイルサーバー練習する序文Node.js 開発の目的は、JavaS...

CSS コンテンツ属性を使用して、マウスホバープロンプト (ツールチップ) 効果を実現します。

なぜこのような効果を実現するのでしょうか。実は、この効果もタイトルプロンプトから派生したものですが、...

DockerにRedisをインストールし、パスワードを設定して接続する方法

Redis は分散キャッシュ サービスです。キャッシュは、大規模システムの開発やパフォーマンスの最適...

MySQL での r2dbc の使用に関する詳細な理解

導入MySQL は、私たちが日常業務で使用する非常に一般的なデータベースです。MySQL は現在 O...

検証例 MySQL | 同じ値を持つフィールドを更新すると、binlog に記録されます

1. はじめに数日前、開発仲間から、フィールドを同じ値に更新すると binlog が記録されるかどう...

Vue で配列をクリアするいくつかの方法 (要約)

目次1. はじめに2. データを消去するいくつかの方法2.1 ref() の使用2.2 スライスの使...

JSブラウザイベントモデルの詳細な説明

目次イベントとは簡単な例イベントをバインドする方法フレームワーク内のイベントイベントオブジェクトイベ...

CSS で縦書きテキスト配置を実装する方法 (概要)

HTML でのテキストのデフォルトの配置は水平ですが、特殊な場合にはテキストを垂直に配置する必要が...

IE9beta版ブラウザはHTML5/CSS3をサポート

IE9 は Microsoft の第二の革命だと言う人もいます。これは誇張ではないと思います。IE6...

パスワードログインなしのLinux構成スタンドアロンおよびフルディストリビューションの詳細なチュートリアル

目次1: 単一マシンのパスワードフリーログイン構成1. 仮想マシンのホスト名を設定する2. 仮想マシ...