Linux システムで nginx を最適化する方法

王林
リリース: 2023-05-12 20:34:23
転載
1112 人が閲覧しました

nginx の概要:

  • Nginx Nginx (engine x) は、高性能 HTTP およびリバース プロキシ Web サーバーです。Nginx は軽量 Web サーバー/リバース プロキシ サーバーです。

  • 新星としての Nginx の魅力は、多くの人々を惹きつけて投資を受け入れてきました。構成も実装原理もシンプルです。負荷分散を行うことほど良いことはありません。

Linux システムで nginx を最適化するための具体的な方法

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

 [root@proxy ~]# ab -n 2000 -c 2000 http://192.168.4.5/
 Benchmarking 192.168.4.5 (be patient)
 socket: Too many open files (24)                //提示打开文件数量过多
ログイン後にコピー

Nginx 構成を変更するファイルの同時実行量を増やします。

 [root@proxy ~]# vim /usr/local/nginx/conf/nginx.conf
 .. ..
 worker_processes  2;                    //与CPU核心数量一致
 events {
 worker_connections 65535;        //每个worker最大并发连接数
 use 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
     .. ..
 *               soft    nofile            100000
 *               hard    nofile            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?
 for i in {1..5000}
 do
     URL=${URL}v$i=$i
 done
 curl $URL                                //经过5000次循环后,生成一个长的URL地址栏
 [root@proxy ~]# ./buffer.sh
 .. ..
 414 Request-URI Too Large        //提示头部信息过大
ログイン後にコピー

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          max=2000  inactive=20s;
         open_file_cache_valid    60s;
         open_file_cache_min_uses 5;
         open_file_cache_errors   off;
 //设置服务器最大缓存2000个文件句柄,关闭20秒内无请求的文件句柄
 //文件句柄的有效时间是60秒,60秒后过期
 //只有访问次数超过5次会被缓存
 }
ログイン後にコピー

6. ブラウザは静的データをキャッシュしますローカルでの

 [root@proxy ~]# vim /usr/local/nginx/conf/nginx.conf
 server {
         listen       80;
         server_name  localhost;
         location / {
             root   html;
             index  index.html index.htm;
         }
 location ~* \.(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
ログイン後にコピー

Linux システムとは

Linux は、無料で使用し、自由に普及できる UNIX に似たオペレーティング システムです。POSIX ベースのマルチユーザー、マルチ-タスク、マルチスレッド、および Linux を使用して主要な Unix ツール ソフトウェア、アプリケーション、およびネットワーク プロトコルを実行するマルチ CPU オペレーティング システム。

以上がLinux システムで nginx を最適化する方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

関連ラベル:
ソース:yisu.com
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート