検索
ホームページ運用・保守NginxNginx アンチホットリンクとサービス最適化構成の分析例

      #nginx のバージョン番号を非表示にする

      バージョン番号を表示する

      方法 1:curlコマンド

      CentOS でコマンドcurl -I http://192.168.80.130 を使用すると、応答メッセージのヘッダー情報を表示できます。

      curl -I http://192.168.80.130

      Nginx アンチホットリンクとサービス最適化構成の分析例

      方法 2: Web で

      を表示するページ
      1. #html ディレクトリに切り替えて、画像をそこにドラッグします

      cd /usr/local/nginx/html

      2. #Web ページで表示します
      http:// 192.168.59.118 /game.png

      Nginx アンチホットリンクとサービス最適化構成の分析例

      バージョン情報を非表示にする

      方法 1: 構成ファイルを変更する

      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

      Nginx アンチホットリンクとサービス最適化構成の分析例

      Nginx アンチホットリンクとサービス最適化構成の分析例

      方法 2: ソース コード ファイルを変更し、再コンパイルしてインストールする

      混乱を招く可能性があるバージョン番号をカスタマイズできます

      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

      ユーザーとグループを変更する

      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

      Nginx アンチホットリンクとサービス最適化構成の分析例

      Nginx アンチホットリンクとサービス最適化構成の分析例

      Nginx アンチホットリンクとサービス最適化構成の分析例##キャッシュ時間

      When nginx Web ページのデータをクライアントに返します 最後に、キャッシュ時間を設定すると、将来同じコンテンツをリクエストするときに直接返されやすくなり、リクエストの繰り返しが回避され、アクセスが高速化されます。一般に、キャッシュ時間は静的な Web ページに設定されます。動的 Web ページにはキャッシュ時間は設定されません。

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

      Nginx アンチホットリンクとサービス最適化構成の分析例

      Nginx アンチホットリンクとサービス最適化構成の分析例ログのセグメント化

      Nginx の実行時間が増加するにつれて、生成されるログは徐々に増加します。 Nginx の実行状況を簡単に把握するには、Nginx のログ ファイルに常に注意を払う必要があります。ログ ファイルが大きすぎると監視が困難になり、分析やトラブルシューティングにも不便になります。ログ ファイルは定期的にカットする必要があります。

      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

      Nginx アンチホットリンクとサービス最適化構成の分析例

      Nginx アンチホットリンクとサービス最適化構成の分析例

      接続タイムアウトを実装するように Nginx を構成するNginx アンチホットリンクとサービス最適化構成の分析例

      HTTP には KeepAlive がありますmode は、リクエストの処理後に TCP 接続を開いたままにするよう Web サーバーに指示します。同じクライアントから他のリクエストを受信した場合、サーバーは別の接続を確立せずに、この閉じられていない接続を使用します。

      KeepAlive は一定期間開いたままになり、その間リソースを占有します。取りすぎるとパフォーマンスに影響します。

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

      keepalive_ timeout

      KeepAlive タイムアウト (タイムアウト) を指定します。各 TCP 接続を維持できる最大時間を指定します。その後、サーバーは接続を閉じます。
      • Nginx のデフォルト値は 65 秒ですが、一部のブラウザでは最大 60 秒しか維持できないため、60 秒に設定できます。 0 に設定すると、キープアライブ接続は無効になります。
      • 2 番目のパラメーター (オプション) は、応答ヘッダー Keep-Alive: timeout=time の時間値を指定します。このヘッダーにより、一部のブラウザーは接続をアクティブに閉じることができるため、サーバーは接続を閉じる必要がなくなります。このパラメータがないと、Nginx は Keep-Alive 応答ヘッダーを送信しません。
      • client_ header_ timeout

      クライアントが完全なリクエスト ヘッダーをサーバーに送信するまでのタイムアウト期間。クライアントが指定された時間内に完全なリクエスト ヘッダーを送信しない場合、Nginx は HTTP 408 (リクエスト タイムアウト) を返します。

      client_ body_ timeout

      クライアントがサーバーとの接続を確立した後に requestbody を送信するときのタイムアウトを指定します。クライアントが指定された時間内に何も送信しない場合、Nginx は HTTP 408 (リクエストがタイムアウトしました) を返します。

      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

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

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

      Nginx アンチホットリンクとサービス最適化構成の分析例

      Nginx アンチホットリンクとサービス最適化構成の分析例

      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

      Nginx アンチホットリンクとサービス最適化構成の分析例

      Nginx アンチホットリンクとサービス最適化構成の分析例

      Nginx アンチホットリンクとサービス最適化構成の分析例

      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;
       
               }
       
            }
       
        ......
       
         }
      }

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

      Nginx アンチホットリンクとサービス最適化構成の分析例

      Nginx アンチホットリンクとサービス最適化構成の分析例

      第二台机器配置内容:

      Nginx アンチホットリンクとサービス最適化構成の分析例

      Nginx アンチホットリンクとサービス最適化構成の分析例

      Nginx アンチホットリンクとサービス最適化構成の分析例

      Nginx アンチホットリンクとサービス最適化構成の分析例

      Nginx アンチホットリンクとサービス最適化構成の分析例

       现在还是可以正常显示的

      Nginx アンチホットリンクとサービス最適化構成の分析例

      盗難防止の画像が表示されます

      追加のインタビュー質問: どの nginx モジュールが使用され、どのような最適化が行われたか

      gzip
      Web サイトのデータ圧縮
      rewrite
      アドレス書き換え
      stub_ status
      統計的な nginx サービス ステータス
      ssl は https、
      をサポートします まず openss1 または TLS ツールを使用して関連する証明書を生成する必要がありますおよび秘密鍵ファイル。次に、SSL モジュール構成で証明書と秘密キーを呼び出します
      upstream
      nginx をリバース プロキシ Web クラスターとして使用し、クラスター サーバー プールを定義します
      stream
      4 層リバース プロキシの定義に使用します

      auth_basic
      ユーザー認証###fastcgi ### リクエストを php###--with-module name に転送します ### モジュールを有効にします ###--without-module name ### モジュールを無効にしますmodule### # ##隠しバージョン番号、圧縮、キャッシュ、アンチリーチング、継続的メンテナンス、作業プロセスとプロセス接続の数の最適化、ログのセグメント化、リバースプロキシ ######

      以上がNginx アンチホットリンクとサービス最適化構成の分析例の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

      声明
      この記事は亿速云で複製されています。侵害がある場合は、admin@php.cn までご連絡ください。
      究極の対決:Nginx vs. Apache究極の対決:Nginx vs. ApacheApr 18, 2025 am 12:02 AM

      Nginxは、高い並行リクエストの処理に適していますが、Apacheは複雑な構成と機能的拡張が必要な​​シナリオに適しています。 1.Nginxは、イベント駆動型の非ブロッキングアーキテクチャを採用しており、高電流環境に適しています。 2。Apacheはプロセスまたはスレッドモデルを採用して、複雑な構成のニーズに適したリッチモジュールエコシステムを提供します。

      Nginx in Action:例と現実世界のアプリケーションNginx in Action:例と現実世界のアプリケーションApr 17, 2025 am 12:18 AM

      Nginxは、Webサイトのパフォーマンス、セキュリティ、およびスケーラビリティを改善するために使用できます。 1)逆プロキシおよびロードバランサーとして、Nginxはバックエンドサービスを最適化し、トラフィックを共有できます。 2)イベント駆動型および非同期アーキテクチャを通じて、nginxは高い並行接続を効率的に処理します。 3)構成ファイルでは、静的ファイルサービスやロードバランシングなどのルールの柔軟な定義を可能にします。 4)最適化の提案には、GZIP圧縮の有効化、キャッシュの使用、およびワーカープロセスの調整が含まれます。

      Nginxユニット:さまざまなプログラミング言語をサポートしますNginxユニット:さまざまなプログラミング言語をサポートしますApr 16, 2025 am 12:15 AM

      Nginxunitは複数のプログラミング言語をサポートし、モジュラー設計を通じて実装されています。 1。言語モジュールの読み込み:構成ファイルに従って対応するモジュールをロードします。 2。アプリケーションの起動:呼び出し言語が実行されたときにアプリケーションコードを実行します。 3。リクエスト処理:リクエストをアプリケーションインスタンスに転送します。 4。応答返品:処理された応答をクライアントに返します。

      nginxとapacheを選択する:あなたのニーズに合った適切nginxとapacheを選択する:あなたのニーズに合った適切Apr 15, 2025 am 12:04 AM

      NginxとApacheには独自の利点と短所があり、さまざまなシナリオに適しています。 1.Nginxは、高い並行性と低リソース消費シナリオに適しています。 2。Apacheは、複雑な構成とリッチモジュールが必要なシナリオに適しています。コア機能、パフォーマンスの違い、ベストプラクティスを比較することで、ニーズに最適なサーバーソフトウェアを選択するのに役立ちます。

      nginxを開始する方法nginxを開始する方法Apr 14, 2025 pm 01:06 PM

      質問:nginxを開始する方法は?回答:nginxスタートアップnginx検証nginxはnginxを開始しました他のスタートアップオプションを自動的に開始

      Nginxが開始されるかどうかを確認する方法Nginxが開始されるかどうかを確認する方法Apr 14, 2025 pm 01:03 PM

      nginxが開始されるかどうかを確認する方法:1。コマンドラインを使用します:SystemCTLステータスnginx(Linux/unix)、netstat -ano | FindStr 80(Windows); 2。ポート80が開いているかどうかを確認します。 3.システムログのnginx起動メッセージを確認します。 4. Nagios、Zabbix、Icingaなどのサードパーティツールを使用します。

      nginxを閉じる方法nginxを閉じる方法Apr 14, 2025 pm 01:00 PM

      NGINXサービスをシャットダウンするには、次の手順に従ってください。インストールタイプを決定します:Red Hat/Centos(SystemCtl Status Nginx)またはDebian/Ubuntu(Service Nginx Status)サービスを停止します:Red Hat/Centos(SystemCtl Stop Nginx)またはDebian/Ubuntu(Service Nginx Stop)無効自動起動(オプション):Debuntos/Centos/Centos/Centos/Centos/Centos (syst

      Windowsでnginxを構成する方法Windowsでnginxを構成する方法Apr 14, 2025 pm 12:57 PM

      Windowsでnginxを構成する方法は? nginxをインストールし、仮想ホスト構成を作成します。メイン構成ファイルを変更し、仮想ホスト構成を含めます。 nginxを起動またはリロードします。構成をテストし、Webサイトを表示します。 SSLを選択的に有効にし、SSL証明書を構成します。ファイアウォールを選択的に設定して、ポート80および443のトラフィックを許可します。

      See all articles

      ホットAIツール

      Undresser.AI Undress

      Undresser.AI Undress

      リアルなヌード写真を作成する AI 搭載アプリ

      AI Clothes Remover

      AI Clothes Remover

      写真から衣服を削除するオンライン AI ツール。

      Undress AI Tool

      Undress AI Tool

      脱衣画像を無料で

      Clothoff.io

      Clothoff.io

      AI衣類リムーバー

      AI Hentai Generator

      AI Hentai Generator

      AIヘンタイを無料で生成します。

      ホットツール

      VSCode Windows 64 ビットのダウンロード

      VSCode Windows 64 ビットのダウンロード

      Microsoft によって発売された無料で強力な IDE エディター

      MantisBT

      MantisBT

      Mantis は、製品の欠陥追跡を支援するために設計された、導入が簡単な Web ベースの欠陥追跡ツールです。 PHP、MySQL、Web サーバーが必要です。デモおよびホスティング サービスをチェックしてください。

      ZendStudio 13.5.1 Mac

      ZendStudio 13.5.1 Mac

      強力な PHP 統合開発環境

      Dreamweaver Mac版

      Dreamweaver Mac版

      ビジュアル Web 開発ツール

      MinGW - Minimalist GNU for Windows

      MinGW - Minimalist GNU for Windows

      このプロジェクトは osdn.net/projects/mingw に移行中です。引き続きそこでフォローしていただけます。 MinGW: GNU Compiler Collection (GCC) のネイティブ Windows ポートであり、ネイティブ Windows アプリケーションを構築するための自由に配布可能なインポート ライブラリとヘッダー ファイルであり、C99 機能をサポートする MSVC ランタイムの拡張機能が含まれています。すべての MinGW ソフトウェアは 64 ビット Windows プラットフォームで実行できます。