Rumah  >  Artikel  >  Operasi dan penyelenggaraan  >  Bagaimana untuk mengoptimumkan nginx di bawah sistem Linux

Bagaimana untuk mengoptimumkan nginx di bawah sistem Linux

王林
王林ke hadapan
2023-05-12 20:34:231068semak imbas

Pengenalan kepada nginx:

  • Nginx Nginx (enjin x) ialah HTTP berprestasi tinggi dan pelayan web proksi terbalik,Nginx ialah pelayan web yang ringan/pelayan proksi terbalik

  • Nginx ialah bintang yang sedang meningkat naik, dan daya tarikannya telah membuatkan ramai orang melabur di dalamnya. Konfigurasinya mudah dan prinsip pelaksanaannya mudah. Tiada yang lebih baik daripada melakukan perkara mengimbangi beban.

Kaedah khusus untuk mengoptimumkan nginx dalam sistem Linux

1 Optimize Nginx concurrency

rreee

Ubah suai konfigurasi Nginx. fail , tingkatkan jumlah konkurensi

 [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)                //提示打开文件数量过多

2. Optimumkan parameter kernel Linux (bilangan maksimum fail)

 [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

 Uji konkurensi pelayan selepas pengoptimuman

 [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列,分别如下:
 #用户或组    硬限制或软限制    需要限制的项目   限制的值

3. Optimumkan cache pengepala paket Nginx

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

Ubah suai fail konfigurasi Nginx dan tingkatkan saiz cache pengepala paket

 [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        //提示头部信息过大

4 Mampatkan halaman

 [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

5. Cache memori pelayan

 [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
 .. ..

6 tempatan

 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次会被缓存
 }

Apakah itu sistem Linux

Linux ialah sistem pengendalian seperti UNIX yang bebas untuk digunakan dan disebarkan dengan bebas Ia adalah berbilang pengguna berasaskan POSIX -tasking, multi-threading dan Sistem pengendalian berbilang CPU yang menggunakan Linux untuk menjalankan perisian alat Unix utama, aplikasi dan protokol rangkaian.

Atas ialah kandungan terperinci Bagaimana untuk mengoptimumkan nginx di bawah sistem Linux. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
Artikel ini dikembalikan pada:yisu.com. Jika ada pelanggaran, sila hubungi admin@php.cn Padam