Table des matières
Masquer le numéro de version de nginx
Voir la version Non.
Méthode 1 : Modifier le fichier de configuration
更改Nginx运行进程数
配置Nginx实现网页优化压缩功能
压缩功能参数
配置防盗链
Supplémentaire : Questions d'entretien : Quels modules nginx ont été utilisés et quelles optimisations ont été effectuées
Maison Opération et maintenance Nginx Exemple d'analyse de la configuration de l'anti-hotlink et de l'optimisation des services de Nginx

Exemple d'analyse de la configuration de l'anti-hotlink et de l'optimisation des services de Nginx

May 15, 2023 am 10:31 AM
nginx

      Masquer le numéro de version de nginx

      Voir la version Non.

      Méthode 1 : commande curl

      Vous pouvez utiliser la commande curl -I http://192.168.80.130 dans CentOS pour afficher les informations d'en-tête du message de réponse.

      curl -I http://192.168.80.130

      Exemple danalyse de la configuration de lanti-hotlink et de loptimisation des services de Nginx

      Méthode 2 : Dans Afficher sur la page Web

      1 #Basculez vers le répertoire html et faites-y glisser une image
      cd /usr/local/nginx/html
      #🎜🎜. #2. #Afficher sur la page Web
      http://192.168.59.118/game.png

      Exemple danalyse de la configuration de lanti-hotlink et de loptimisation des services de Nginx

      informations de version cachées# 🎜🎜 #

      Méthode 1 : Modifier le fichier de configuration

      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
      Copier après la connexion

      Exemple danalyse de la configuration de lanti-hotlink et de loptimisation des services de Nginx

      Exemple danalyse de la configuration de lanti-hotlink et de loptimisation des services de NginxMéthode 2 : Modifiez le fichier de code source, recompilez et installez

      Vous pouvez personnaliser le numéro de version, ce qui peut prêter à confusion

      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
      Copier après la connexion

      Modifier les utilisateurs et les groupes

      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
      Copier après la connexion

      #🎜 🎜#

      Exemple danalyse de la configuration de lanti-hotlink et de loptimisation des services de Nginx

      Exemple danalyse de la configuration de lanti-hotlink et de loptimisation des services de Nginx

      Cache timeExemple danalyse de la configuration de lanti-hotlink et de loptimisation des services de Nginx

      Quand nginx renvoie le données de la page Web au client, le temps de cache peut être défini pour faciliter le retour direct lors de la demande du même contenu à l'avenir, évitant ainsi les demandes répétées et accélérant l'accès. Généralement, le temps de cache est défini pour les pages Web statiques, et aucun temps de cache. est défini pour les pages Web dynamiques.

      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 服务器重新发出请求,减少了服务器的使用带宽。
      Copier après la connexion

      Exemple danalyse de la configuration de lanti-hotlink et de loptimisation des services de Nginx

      Log FractionnementExemple danalyse de la configuration de lanti-hotlink et de loptimisation des services de Nginx

      À mesure que la durée d'exécution de Nginx augmente, le les journaux générés augmenteront progressivement. Afin de comprendre facilement l'état d'exécution de Nginx, vous devez toujours faire attention au fichier journal de Nginx. Les fichiers journaux trop volumineux sont un désastre pour la surveillance et peu pratiques pour l'analyse et le dépannage. Les fichiers journaux doivent être supprimés régulièrement.

      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
      Copier après la connexion

      Exemple danalyse de la configuration de lanti-hotlink et de loptimisation des services de Nginx

      Exemple danalyse de la configuration de lanti-hotlink et de loptimisation des services de Nginx

      Configurer Nginx pour implémenter la connexion timeout Exemple danalyse de la configuration de lanti-hotlink et de loptimisation des services de Nginx

      HTTP a un mode KeepAlive, qui indique au serveur Web de maintenir la connexion TCP ouverte après le traitement d'une requête. Si d'autres requêtes du même client sont reçues, le serveur utilisera cette connexion non fermée sans établir une autre connexion.

      KeepAlive reste ouvert pendant un certain temps, pendant lequel ils consomment des ressources. En prendre trop affectera les performances.

      vim /usr/ local/nginx/conf/nginx. conf
      http {
      ......
      keepalive_ timeout 65 180;
      client header timeout 80;
      client_ body_ timeout 80;
      ......
      }
      systemctl restart nginx
      Copier après la connexion

      keepalive_ timeout

      Spécifiez le délai d'expiration de KeepAlive. Spécifiez la durée maximale pendant laquelle chaque connexion TCP peut être maintenue, après quoi le serveur fermera la connexion.
      • La valeur par défaut de Nginx est de 65 secondes. Certains navigateurs ne maintiennent qu'un maximum de 60 secondes, elle peut donc être définie sur 60 secondes. S'il est défini sur 0, les connexions keepalive sont désactivées.
      • Le deuxième paramètre (facultatif) spécifie la valeur temporelle dans l'en-tête de réponse Keep-Alive : timeout=time. Cet en-tête permet à certains navigateurs de fermer activement la connexion, afin que le serveur n'ait pas à fermer la connexion. Sans ce paramètre, Nginx n'enverra pas l'en-tête de réponse Keep-Alive.
      • client_ header_ timeout

      Le délai d'attente pour que le client envoie un en-tête de requête complet au serveur . Si le client n'envoie pas un en-tête de requête complet dans le délai spécifié, Nginx renvoie HTTP 408 (Request Timed Out).

      client_ body_ timeout

      Spécifiez le délai d'attente pour l'envoi du corps de requête une fois que le client a établi une connexion avec le serveur. Si le client n'envoie rien dans le délai spécifié, Nginx renvoie HTTP 408 (Request Timed Out).

      Exemple danalyse de la configuration de lanti-hotlink et de loptimisation des services de Nginx

      更改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
      Copier après la connexion

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

      [root@www conf]# vi nginx.conf
      worker_ processes 4;
      worker_ cpu_ affinity 0001 0010 0100 1000;
       
      1代表CPU的位置
      Copier après la connexion

      Exemple danalyse de la configuration de lanti-hotlink et de loptimisation des services de Nginx

      Exemple danalyse de la configuration de lanti-hotlink et de loptimisation des services de Nginx

      Exemple danalyse de la configuration de lanti-hotlink et de loptimisation des services de Nginx

      配置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
      Copier après la connexion

      Exemple danalyse de la configuration de lanti-hotlink et de loptimisation des services de Nginx

      Exemple danalyse de la configuration de lanti-hotlink et de loptimisation des services de Nginx

      Exemple danalyse de la configuration de lanti-hotlink et de loptimisation des services de Nginx

      Exemple danalyse de la configuration de lanti-hotlink et de loptimisation des services de Nginx

      配置防盗链

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

      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;
       
               }
       
            }
       
        ......
       
         }
      }
      Copier après la connexion

      ~* \. (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 页面。

      Exemple danalyse de la configuration de lanti-hotlink et de loptimisation des services de Nginx

      Exemple danalyse de la configuration de lanti-hotlink et de loptimisation des services de Nginx

      第二台机器配置内容:

      Exemple danalyse de la configuration de lanti-hotlink et de loptimisation des services de Nginx

      Exemple danalyse de la configuration de lanti-hotlink et de loptimisation des services de Nginx

      Exemple danalyse de la configuration de lanti-hotlink et de loptimisation des services de Nginx

      Exemple danalyse de la configuration de lanti-hotlink et de loptimisation des services de Nginx

      Exemple danalyse de la configuration de lanti-hotlink et de loptimisation des services de Nginx

       现在还是可以正常显示的

      Exemple danalyse de la configuration de lanti-hotlink et de loptimisation des services de Nginx

      Maintenant, l'image antivol apparaît

      Supplémentaire : Questions d'entretien : Quels modules nginx ont été utilisés et quelles optimisations ont été effectuées

      gzip ### Compression des données du site Web
      réécriture ### Réécriture d'adresse
      stub_ status ### Statistiques sur l'état du service nginx
      ssl prend en charge https, ### Vous devez d'abord utiliser l'outil openss1 ou TLS pour générer le certificat et les fichiers de clé privée pertinents. Appelez ensuite le certificat et la clé privée dans la configuration du module SSL
      upstream ### Utilisez nginx comme cluster Web proxy inverse et définissez le pool de serveurs du cluster
      stream ### Utilisé pour définir un proxy inverse à 4 couches
      auth_ basic ### Authentification de l'utilisateur
      fastcgi ​ ### Transférer la requête vers php
      --with-module name ​ ### Activer le module
      --without-module name ​ ### Désactiver le module

      Masquer le numéro de version, la compression, le cache , anti-hotlinking, maintenance continue, optimisation du nombre de processus de travail et de connexions de processus, fractionnement des journaux et proxy inverse

      Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

      Déclaration de ce site Web
      Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn

      Outils d'IA chauds

      Undresser.AI Undress

      Undresser.AI Undress

      Application basée sur l'IA pour créer des photos de nu réalistes

      AI Clothes Remover

      AI Clothes Remover

      Outil d'IA en ligne pour supprimer les vêtements des photos.

      Undress AI Tool

      Undress AI Tool

      Images de déshabillage gratuites

      Clothoff.io

      Clothoff.io

      Dissolvant de vêtements AI

      Video Face Swap

      Video Face Swap

      Échangez les visages dans n'importe quelle vidéo sans effort grâce à notre outil d'échange de visage AI entièrement gratuit !

      Outils chauds

      Bloc-notes++7.3.1

      Bloc-notes++7.3.1

      Éditeur de code facile à utiliser et gratuit

      SublimeText3 version chinoise

      SublimeText3 version chinoise

      Version chinoise, très simple à utiliser

      Envoyer Studio 13.0.1

      Envoyer Studio 13.0.1

      Puissant environnement de développement intégré PHP

      Dreamweaver CS6

      Dreamweaver CS6

      Outils de développement Web visuel

      SublimeText3 version Mac

      SublimeText3 version Mac

      Logiciel d'édition de code au niveau de Dieu (SublimeText3)

      Comment configurer le nom de domaine du serveur cloud dans nginx Comment configurer le nom de domaine du serveur cloud dans nginx Apr 14, 2025 pm 12:18 PM

      Comment configurer un nom de domaine NGINX sur un serveur cloud: Créez un enregistrement A pointant vers l'adresse IP publique du serveur cloud. Ajoutez des blocs d'hôtes virtuels dans le fichier de configuration Nginx, en spécifiant le port d'écoute, le nom de domaine et le répertoire racine du site Web. Redémarrez Nginx pour appliquer les modifications. Accéder à la configuration du test de nom de domaine. Autres notes: Installez le certificat SSL pour activer HTTPS, assurez-vous que le pare-feu autorise le trafic Port 80 et attendez que la résolution DNS prenne effet.

      Comment vérifier si Nginx est démarré Comment vérifier si Nginx est démarré Apr 14, 2025 pm 01:03 PM

      Comment confirmer si Nginx est démarré: 1. Utilisez la ligne de commande: SystemCTl Status Nginx (Linux / Unix), netStat -ano | Findstr 80 (Windows); 2. Vérifiez si le port 80 est ouvert; 3. Vérifiez le message de démarrage NGINX dans le journal système; 4. Utilisez des outils tiers, tels que Nagios, Zabbix et Icinga.

      Comment vérifier le nom du conteneur Docker Comment vérifier le nom du conteneur Docker Apr 15, 2025 pm 12:21 PM

      Vous pouvez interroger le nom du conteneur Docker en suivant les étapes: répertorier tous les conteneurs (Docker PS). Filtrez la liste des conteneurs (à l'aide de la commande grep). Obtient le nom du conteneur (situé dans la colonne "Noms").

      Comment vérifier la version nginx Comment vérifier la version nginx Apr 14, 2025 am 11:57 AM

      Les méthodes qui peuvent interroger la version Nginx sont: utilisez la commande nginx -v; Afficher la directive de version dans le fichier nginx.conf; Ouvrez la page d'erreur Nginx et affichez le titre de la page.

      Comment configurer Nginx dans Windows Comment configurer Nginx dans Windows Apr 14, 2025 pm 12:57 PM

      Comment configurer Nginx dans Windows? Installez Nginx et créez une configuration d'hôte virtuelle. Modifiez le fichier de configuration principale et incluez la configuration de l'hôte virtuel. Démarrer ou recharger nginx. Testez la configuration et affichez le site Web. Activer sélectivement SSL et configurer les certificats SSL. Définissez sélectivement le pare-feu pour permettre le trafic Port 80 et 443.

      Comment démarrer le serveur Nginx Comment démarrer le serveur Nginx Apr 14, 2025 pm 12:27 PM

      Le démarrage d'un serveur Nginx nécessite différentes étapes en fonction des différents systèmes d'exploitation: Système Linux / Unix: Installez le package NGINX (par exemple, en utilisant Apt-Get ou Yum). Utilisez SystemCTL pour démarrer un service NGINX (par exemple, sudo systemctl start nginx). Système Windows: téléchargez et installez les fichiers binaires Windows. Démarrer Nginx à l'aide de l'exécutable Nginx.exe (par exemple, nginx.exe -c conf \ nginx.conf). Peu importe le système d'exploitation que vous utilisez, vous pouvez accéder au serveur IP

      Comment créer des conteneurs pour Docker Comment créer des conteneurs pour Docker Apr 15, 2025 pm 12:18 PM

      Créer un conteneur dans Docker: 1. Tirez l'image: docker pull [Nom du miroir] 2. Créer un conteneur: docker run [Options] [Nom du miroir] [Commande] 3. Démarrez le conteneur: docker start [Nom du conteneur]

      Comment démarrer un conteneur par Docker Comment démarrer un conteneur par Docker Apr 15, 2025 pm 12:27 PM

      Étapes de démarrage du conteneur Docker: Tirez l'image du conteneur: Exécutez "Docker Pull [Mirror Name]". Créer un conteneur: utilisez "Docker Create [Options] [Mirror Name] [Commandes et paramètres]". Démarrez le conteneur: exécutez "docker start [nom de conteneur ou id]". Vérifiez l'état du conteneur: vérifiez que le conteneur s'exécute avec "Docker PS".

      See all articles