Rumah > Operasi dan penyelenggaraan > Nginx > Contoh analisis konfigurasi anti-panas Nginx dan pengoptimuman perkhidmatan

Contoh analisis konfigurasi anti-panas Nginx dan pengoptimuman perkhidmatan

王林
Lepaskan: 2023-05-15 10:31:12
ke hadapan
976 orang telah melayarinya

      Sembunyikan nombor versi nginx

      Lihat nombor versi

      Kaedah 1: curl Perintah

      boleh digunakan dalam CentOS untuk memaparkan maklumat pengepala mesej respons menggunakan command curl -I http://192.168.80.130.

      gulung -I http://192.168.80.130

      Contoh analisis konfigurasi anti-panas Nginx dan pengoptimuman perkhidmatan

      Kaedah 2: Lihat

      di web halaman

      1. #Tukar ke direktori html dan seret imej ke dalamnya
      cd /usr/local/nginx/html

      2 #Lihat di halaman web
      http:/ /192.168.59.118 /game.png

      Contoh analisis konfigurasi anti-panas Nginx dan pengoptimuman perkhidmatan

      Sembunyikan maklumat versi

      Kaedah 1: Ubah suai fail konfigurasi

      1.#修改配置文件
      vim /usr/local/nginx/conf/nginx.conf
       
          ```handlebars
      http {
          include       mime.types;
          default_type  application/octet-stream;
          server_tokens off;                        #添加,关闭版本号
          ......
      }
       
      2.#重启nginx
      systemctl restart nginx
       
      3.#查看版本是否被隐藏
      curl -I http://192.168.80.130
      Salin selepas log masuk

      Contoh analisis konfigurasi anti-panas Nginx dan pengoptimuman perkhidmatan

      Contoh analisis konfigurasi anti-panas Nginx dan pengoptimuman perkhidmatan

      Kaedah 2: Ubah suai fail kod sumber, susun semula dan pasang

      Anda boleh menyesuaikan nombor versi, yang boleh mengelirukan

      1. #切换至nginx安装包所在目录
      cd /opt/
      2. #停止nginx服务
      systemctl stop nginx.service
      3. #切换至安装目录
      cd nginx-1.12.0/
      4. #切换至内核目录
      cd src/core/
      5. #进入配置文件
      vim nginx.h
      
      #define NGINX_VERSION      "老铁"
      #define NGINX_VER          "666/" NGINX_VERSION
      
      6. #切换至文件目录
      cd ../../
      
      7. #编译
      ./configure \
      --prefix=/usr/local/nginx \
      --user=nginx \
      --group=nginx \
      --with-http_stub_status_module
      
      8. #安装
      make && make install -j4
      
      9. #将配置文件下的之前关闭版本信息开启
      vim /usr/local/nginx/conf/nginx.conf
      server_tokens on;
      
      10. #重启nginx
      systemctl restart nginx
      
      11. #查看版本信息
      curl -I http://192.168.59.118
      Salin selepas log masuk

      Ubah suai pengguna dan kumpulan

      1. #修改配置文件
      vim /usr/local/nginx/conf/nginx.conf
      
      user  dayu dayu; #取消注释,修改用户为 dayu ,组为 dayu
      
      2. #创建非登录用户
      useradd -s /sbin/nologin dayu
      
      3. #重启服务
      systemctl restart nginx
      
      4. #查看是否修改成功
      ps aux | grep nginx
      Salin selepas log masuk

      Contoh analisis konfigurasi anti-panas Nginx dan pengoptimuman perkhidmatan

      Contoh analisis konfigurasi anti-panas Nginx dan pengoptimuman perkhidmatan

      Contoh analisis konfigurasi anti-panas Nginx dan pengoptimuman perkhidmatan

      Masa cache

      Bila nginx mengembalikan data halaman web kepada klien Akhirnya, masa cache boleh ditetapkan untuk memudahkan pemulangan terus apabila meminta kandungan yang sama pada masa hadapan, mengelakkan permintaan berulang dan mempercepatkan akses Secara umumnya, masa cache ditetapkan untuk halaman web statik, dan tiada masa cache ditetapkan untuk halaman web dinamik.

      1. #修改配置文件
      vim /usr/local/nginx/conf/nginx.conf
              #添加以下内容
              location ~ \.(jpg|png|bmp|gif)$ {
                  root   html;
                  expires 1d;
              }
      
      
      2. #查看是否有语法错误
      nginx -t
      
      3. #重启服务
      systemctl restart nginx.service 
      
      4.#在网页中查看服务
      http://192.168.80.130/good.jpg
      
       Cahce-Control:max-age=86400 表示缓存时间是 86400 秒。
      也就是缓存一天的时间,一天之内浏览器访问这个页面,都是用缓存中的数据,
      而不需要向 Nginx 服务器重新发出请求,减少了服务器的使用带宽。
      Salin selepas log masuk

      Contoh analisis konfigurasi anti-panas Nginx dan pengoptimuman perkhidmatan

      Contoh analisis konfigurasi anti-panas Nginx dan pengoptimuman perkhidmatan

      Pecah Log

      Apabila masa berjalan Nginx meningkat, log yang dijana akan meningkat secara beransur-ansur menjalankan status Nginx, anda perlu sentiasa memberi perhatian kepada fail log Nginx. Fail log yang terlalu besar adalah bencana untuk pemantauan dan menyusahkan untuk analisis dan penyelesaian masalah perlu dipotong dengan kerap.

      1. #写脚本
      vim /usr/local/nginx/nginx_log.sh 
      
      #!/bin/bash
      #this is for divide nginx log
      d=$(date +%F -d -1day)                                       #显示前一天的时间
      path="/var/log/nginx"   
      pid="/usr/local/nginx/logs/nginx.pid"
      
      [ -d $path ] ||mkdir -p $path                                #创建日志文件目录
      mv /usr/local/nginx/logs/access.log ${path}/www.yxp.com-$d   #移动并重命名日志文件
      kill -USR1 $(cat $pid)                                       #重建新日志文件
      find $path -mtime +30 -delete                                #删除30天之前的日志文件
      
      2. #赋予权限
      chmod +x /usr/local/nginx/nginx_log.sh 
      
      3. #计划任务
      [root@localhost nginx]#crontab -e
      
      30 1 * * * /usr/local/nginx/nginx_log.sh
      Salin selepas log masuk

      Contoh analisis konfigurasi anti-panas Nginx dan pengoptimuman perkhidmatan

      Contoh analisis konfigurasi anti-panas Nginx dan pengoptimuman perkhidmatan

      Contoh analisis konfigurasi anti-panas Nginx dan pengoptimuman perkhidmatan

      Konfigurasikan Nginx untuk melaksanakan tamat masa sambungan

      HTTP mempunyai KeepAlive mod , yang memberitahu pelayan web untuk memastikan sambungan TCP terbuka selepas memproses permintaan. Jika permintaan lain daripada klien yang sama diterima, pelayan akan menggunakan sambungan tidak tertutup ini tanpa membuat sambungan lain.

      KeepAlive kekal terbuka untuk satu tempoh masa, pada masa itu mereka menduduki sumber. Mengambil terlalu banyak akan menjejaskan prestasi.

      vim /usr/ local/nginx/conf/nginx. conf
      http {
      ......
      keepalive_ timeout 65 180;
      client header timeout 80;
      client_ body_ timeout 80;
      ......
      }
      systemctl restart nginx
      Salin selepas log masuk

      keepalive_ tamat masa

      • Nyatakan tamat masa KeepAlive. Nyatakan tempoh maksimum masa setiap sambungan TCP boleh dikekalkan, selepas itu pelayan akan menutup sambungan.

      • Nilai lalai Nginx ialah 65 saat. Sesetengah penyemak imbas hanya mengekalkan maksimum 60 saat, jadi ia boleh ditetapkan kepada 60 saat. Jika ia ditetapkan kepada 0, sambungan keepalive dilumpuhkan.

      • Parameter kedua (pilihan) menentukan nilai masa dalam pengepala respons Keep-Alive: timeout=t ime. Pengepala ini membenarkan sesetengah pelayar menutup sambungan secara aktif, supaya pelayan tidak perlu menutup sambungan. Tanpa parameter ini, Nginx tidak akan menghantar pengepala respons Keep-Alive.

      client_ header_ timeout

      Tamat masa untuk klien menghantar pengepala permintaan lengkap ke pelayan. Jika pelanggan tidak menghantar pengepala permintaan yang lengkap dalam masa yang ditentukan, Nginx mengembalikan HTTP 408 (Permintaan Tamat Masa).

      client_ body_ timeout

      Menentukan tamat masa untuk menghantar requestbody selepas pelanggan mewujudkan sambungan dengan pelayan. Jika pelanggan tidak menghantar apa-apa dalam masa yang ditetapkan, Nginx mengembalikan HTTP 408 (Permintaan Tamat Masa).

      Contoh analisis konfigurasi anti-panas Nginx dan pengoptimuman perkhidmatan

      Contoh analisis konfigurasi anti-panas Nginx dan pengoptimuman perkhidmatan

      更改Nginx运行进程数

      在高并发场景,需要启动更多的Nginx进程以保证快速响应,以处理用户的请求,避免造成阻塞

      更改进程数的配置方法

      修改配置文件,修改进程配置参数

      修改配置文件的worker_processes参数

      • 一般设为CPU的个数或者核数

      • 在高并发的情况下可设置为CPU个数或者核数的2倍

      增加进程数,可减少系统的开销,提升服务速度

      使用ps aux查看运行进程数的变化情况

      [root@www conf]# cat /proc/cpuinfo | grep -c "physical"
      4
      [root@www conf]# vi nginx.conf
      worker_ processes 4;
      [root@www conf]# systemctl restart nginx
      [root@www conf]# ps aux | grep nginx
      Salin selepas log masuk

      默认情况,Nginx的多个进程可能跑在一 个CPU上,可以分配不同的进程给不同的CPU处理,充分利用硬件多核多CPU。
      在一台4核物理服务器,进行配置,将进程进行分配。

      [root@www conf]# vi nginx.conf
      worker_ processes 4;
      worker_ cpu_ affinity 0001 0010 0100 1000;
       
      1代表CPU的位置
      Salin selepas log masuk

      Contoh analisis konfigurasi anti-panas Nginx dan pengoptimuman perkhidmatan

      Contoh analisis konfigurasi anti-panas Nginx dan pengoptimuman perkhidmatan

      Contoh analisis konfigurasi anti-panas Nginx dan pengoptimuman perkhidmatan

      配置Nginx实现网页优化压缩功能

      • Nginx的ngx_http_ gzip_module压缩模块提供对文件内容压缩的功能

      • 允许Nginx服务器将输出内容在发送客户端之前进行压缩,以节约网站带宽,提升用户的访问体验,默认已经安装

      • 可在配置文件中加入相应的压缩功能参数对压缩性能进行优化

      压缩功能参数

      1. #修改配置文件
         gzip on;                          #取消注释,开启gzip压缩功能
         gzip_min_length 1k;              #最小压缩文件大小
         gzip_buffers 4 16k;              #压缩缓冲区,大小为4个16k缓冲区
         gzip_http_version 1.1;           #压缩版本(默认1.1,前端如果是squid2.5请使用1.0)
         gzip_comp_level 6;               #压缩比率
         gzip_vary on;                    #支持前端缓存服务器存储压缩页面
         gzip_types text/plain text/javascript application/x-javascript text/css text/xml application/xml application/xml+rss image/jpg image/jpeg image/png image/gif application/x-httpd-php application/javascript application/json;       #压缩类型,表示哪些网页文档启用压缩功能
      
      2. #重启服务
      systemctl restart nginx.service 
      
      
      3. #网页查看
      http://192.168.59.118/game.png
      Salin selepas log masuk

      Contoh analisis konfigurasi anti-panas Nginx dan pengoptimuman perkhidmatan

      Contoh analisis konfigurasi anti-panas Nginx dan pengoptimuman perkhidmatan

      Contoh analisis konfigurasi anti-panas Nginx dan pengoptimuman perkhidmatan

      Contoh analisis konfigurasi anti-panas Nginx dan pengoptimuman perkhidmatan

      配置防盗链

      在企业网站服务中,一般都要配置防盗链功能,以避免网站内容被非法盗用,造成经济损失,也避免了不必要的带宽浪费。

      Nginx 的防盗链功能也非常强大,在默认情况下,只需要进行很简单的配置,即可实现防盗链处理。

      vim /usr/ local/nginx/conf/nginx. conf
      http {
      ......
         server {
           ......
       
          location ~* \. (jpglgiflswf)$ {
       
            valid_ referers none blocked * . kgc. com kgc . com;
       
              if ( $invalid referer ) {
       
              rewrite ^/ http: I /www. kgc. com/error。pngi
       
                 #return 403;
       
               }
       
            }
       
        ......
       
         }
      }
      Salin selepas log masuk

      ~* \. (jpgIgifIswf)$ :这段正则表达式表示匹配不区分大小写,以.jpg或.gif 或.swf结尾的文件:
       
      valid_ referers :设置信任的网站,可以正常使用图片:
       
      none:允许没有http_refer的请求访问资源(根据Referer的定义,它的作用是指示一个请求是从哪里链接过来的,如果直接在浏览器的地址栏中输入一个资源的URL地址,那么这种请求是不会包含Referer 字段的),如http:/ /www.dayu.com/ game.jpg
       
      我们使用http://www. dayu.com访问显示的图片,可以理解成http://www. dayu.com/game.jpg这个请求是从http://www. dayu.com这个链接过来的。
       
      blocked: 允许不是http://开头的, 不带协议的请求访问资源;
       
      *. dayu. com: 只允许来自指定域名的请求访问资源,如http://www. dayu.com
       
      if语句:如果链接的来源域名不在valid_ referers所列出的列表中,$invalid_ referer为true, 则执行后面的操作,即进行重写或返回403 页面。

      Contoh analisis konfigurasi anti-panas Nginx dan pengoptimuman perkhidmatan

      Contoh analisis konfigurasi anti-panas Nginx dan pengoptimuman perkhidmatan

      第二台机器配置内容:

      Contoh analisis konfigurasi anti-panas Nginx dan pengoptimuman perkhidmatan

      Contoh analisis konfigurasi anti-panas Nginx dan pengoptimuman perkhidmatan

      Contoh analisis konfigurasi anti-panas Nginx dan pengoptimuman perkhidmatan

      Contoh analisis konfigurasi anti-panas Nginx dan pengoptimuman perkhidmatan

      Contoh analisis konfigurasi anti-panas Nginx dan pengoptimuman perkhidmatan

       现在还是可以正常显示的

      Contoh analisis konfigurasi anti-panas Nginx dan pengoptimuman perkhidmatan

      Kini gambar anti-kecurian muncul

      Tambahan: Soalan temu bual: Modul nginx manakah yang telah digunakan dan apakah pengoptimuman yang telah dilakukan

      gzip ## # Pemampatan data tapak web
      tulis semula ### Penulisan semula alamat
      status stub_ ### Status perkhidmatan nginx statistik
      ssl menyokong https, ### Anda mesti menggunakan alat openss1 atau TLS dahulu untuk menjana yang berkaitan sijil dan fail kunci peribadi . Kemudian panggil sijil dan kunci peribadi
      hulu dalam konfigurasi modul ssl ### Gunakan nginx sebagai kluster web proksi terbalik dan tentukan kumpulan pelayan kluster
      strim ### Digunakan untuk menentukan proksi songsang 4 lapisan
      auth_ basic ### Pengesahan pengguna
      fastcgi ### Majukan permintaan ke php
      --dengan-nama modul ### Dayakan modul
      --tanpa-nama modul ### Lumpuhkan modul

      Nombor versi tersembunyi, pemampatan, caching, anti-pautan panas, penyelenggaraan berterusan, pengoptimuman proses kerja dan sambungan proses, pembahagian log, proksi terbalik

      Atas ialah kandungan terperinci Contoh analisis konfigurasi anti-panas Nginx dan pengoptimuman perkhidmatan. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

      Label berkaitan:
      sumber:yisu.com
      Kenyataan Laman Web ini
      Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn
      Tutorial Popular
      Lagi>
      Muat turun terkini
      Lagi>
      kesan web
      Kod sumber laman web
      Bahan laman web
      Templat hujung hadapan