コンパイル、インストールから設定ファイルの説明まで、中国語でnginxの詳細な説明

コンパイル、インストールから設定ファイルの説明まで、中国語でnginxの詳細な説明

この記事では、コンパイルとインストールから設定ファイルの説明まで、Nginx について詳しく紹介します。各ステップは詳細に説明されており、Nginx をインストールするためのガイドとして使用できます。

さて、早速本題に入りましょう。

1. nginxをインストールする

1.1 Nginxの安定バージョンを選択する

独自のモジュールをカスタマイズするために nginx をコンパイルしてインストールします。マシンは CentOS 6.2 x86_64 です。まず、不足している依存関係をインストールします。

# yum -y gcc をインストール gcc-c++ libtool zlib zlib-devel openssl openssl-devel pcre pcre-devel

これらのパッケージが yum で利用できない場合は、ソース コードをダウンロードしてコンパイルし、インストールすることができます。コンパイル中にデフォルトのインストール ディレクトリに注意して、以下の nginx のインストール時にこれらの動的ライブラリ ファイル (ldconfig) が確実に見つかるようにしてください。

https://www.jb51.net/softs/35633.html から nginx-1.6.3.tar.gz の安定バージョンをダウンロードし、/usr/local/src に解凍します。

その後の準備として、さらに 2 つのプラグイン モジュールをダウンロードします。

nginx_upstream_check_module-0.3.0.tar.gz —— バックエンドサーバーのステータスを確認する

nginx-goodies-nginx-sticky-module-ng-bd312d586752.tar.gz—— セッションスティッキー問題を解決するためのバックエンド負荷分散

/usr/local/src に解凍後、ディレクトリ名を nginx-sticky-module-ng-1.2.5 に変更することをお勧めします。upstream_check モジュールと併用する場合は、追加のパッチが必要です。nginx ロードバランシングの実際の設定を参照してください。

プラグインと nginx のバージョン間の互換性に注意してください。一般的に、プラグインは新しいほど良いです。新しい nginx を追いかける必要はありません。安定性が最優先です。

nginx-1.4.7、nginx-sticky-module-1.1、nginx_upstream_check_module-0.2.0、この組み合わせも問題ありません。

sticky-1.1 および nginx-1.6 バージョンは、更新によりコンパイルに追いつくことができませんでした。 (これらのモジュールがデフォルトで含まれている Tengine を直接使用できます)

[root@cachets nginx-1.6.3]# pwd
nginx-1.6.3 のリポジトリ
[root@cachets nginx-1.6.3]# ./configure --prefix=/usr/local/nginx-1.6 --with-pcre \
> --with-http_stub_status_module --with-http_ssl_module \
> --with-http_gzip_static_module --with-http_realip_module \
> --add-module=../nginx_upstream_check_module-0.3.0

[root@cachets nginx-1.6.3]# make && make install

1.2 一般的なNginxコンパイルオプションの説明

nginx のよく使用されるモジュールのほとんどは、./configure --help をコンパイルするとデフォルトでインストールされ、--without で始まるモジュールもインストールされます。

--prefix=PATH: nginx のインストールディレクトリを指定します。デフォルト /usr/local/nginx
--conf-path=PATH : nginx.conf 設定ファイルへのパスを設定します。 nginx では、コマンドラインで -c オプションを使用することで、異なる設定ファイルで起動できます。デフォルトはprefix/conf/nginx.confです
--user=name: nginx ワーカー プロセスのユーザーを設定します。インストールが完了したら、いつでも nginx.conf 構成ファイル内のユーザー ディレクティブを変更できます。デフォルトのユーザー名はnobodyです。 --group=nameも同様です
--with-pcre: PCRE ライブラリのソース コード パスを設定します。yum 経由でインストールされている場合は、--with-pcre を使用してライブラリ ファイルを自動的に検索します。 --with-pcre=PATH を使用する場合は、PCRE Web サイトから pcre ライブラリ (バージョン 4.4 - 8.30) のソース コードをダウンロードして解凍する必要があります。残りは Nginx の ./configure と make によって実行されます。 Perl 正規表現は、location ディレクティブと ngx_http_rewrite_module モジュールで使用されます。
--with-zlib=PATH : zlib (バージョン 1.1.3 - 1.2.5) のソース コードを抽出するディレクトリを指定します。ネットワーク転送圧縮モジュール ngx_http_gzip_module がデフォルトで有効になっている場合は、zlib が必要です。
--with-http_ssl_module: https プロトコル モジュールを使用します。デフォルトでは、このモジュールはビルドされません。 opensslとopenssl-develがインストールされていることが前提です
--with-http_stub_status_module: Nginxの現在のステータスを監視するために使用されます
--with-http_realip_module: このモジュールを使用すると、クライアント要求ヘッダー(X-Real-IPやX-Forwarded-Forなど)内のクライアントIPアドレス値を変更でき、バックエンドサーバーが元のクライアントのIPアドレスを記録できるようになります。
--add-module=PATH : nginx-sticky-module-ng やキャッシュ モジュールなどのサードパーティの外部モジュールを追加します。新しいモジュールが追加されるたびに、再コンパイルする必要があります (Tengine は再コンパイルせずに新しいモジュールを追加できます)
別のコンパイルソリューションを次に示します。

./configure \
> --prefix=/usr \
> --sbin-path=/usr/sbin/nginx \
> --conf-path=/etc/nginx/nginx.conf \
> --error-log-path=/var/log/nginx/error.log \
> --http-log-path=/var/log/nginx/access.log \
> --pid-path=/var/run/nginx/nginx.pid \
> --lock-path=/var/lock/nginx.lock \  
> --user=nginx \
> --group=nginx \
> --with-http_ssl_module \
> --with-http_stub_status_module \
> --with-http_gzip_static_module \
> --http-client-body-temp-path=/var/tmp/nginx/client/ \
> --http-proxy-temp-path=/var/tmp/nginx/proxy/ \
> --http-fastcgi-temp-path=/var/tmp/nginx/fcgi/ \
> --http-uwsgi-temp-path=/var/tmp/nginx/uwsgi \
> --with-pcre=../pcre-7.8
> --with-zlib=../zlib-1.2.3

1.3 Nginx の起動とシャットダウン

## 設定ファイルが正しいか確認する# /usr/local/nginx-1.6/sbin/nginx -t 
# ./sbin/nginx -V # コンパイルオプションを確認できます## 起動、シャットダウン# ./sbin/nginx # デフォルトの設定ファイルは conf/nginx.conf、-c で指定します# ./sbin/nginx -s stop
またはpkill nginx

## 再起動しても起動時に指定した設定ファイルは変更されません# ./sbin/nginx -s reload
または kill -HUP `cat /usr/local/nginx-1.6/logs/nginx.pid`

もちろん、nginx をシステム サービスとして管理し、nginx を /etc/init.d/ にダウンロードし、内部のパスを変更して実行権限を付与することもできます。

# サービス nginx {開始|停止|ステータス|再起動|リロード|構成テスト}

1.4 Nginx yum インストール

yum で rpm パッケージをインストールするのは、コンパイルしてインストールするよりもはるかに簡単です。多くのモジュールがデフォルトでインストールされますが、将来サードパーティのモジュールをインストールしたい場合、方法がないという欠点があります。

# vi /etc/yum.repo.d/nginx.repo 
[nginx] 
名前=nginx-リポジトリ 
ベースURL=http://nginx.org/packages/centos/$releasever/$basearch/ 
gpgcheck=0 
有効=1

残りは yum install nginx で実行できます。または、 yum install nginx-1.6.3 を使用して特定のバージョンをインストールすることもできます (パッケージ内に対応するバージョンが表示されている場合、デフォルトは最新の安定バージョンです)。

2. nginx.conf 設定ファイル

Nginx 構成ファイルは主に 4 つの部分に分かれています。

メイン(グローバル設定)

サーバー(ホスト設定)

アップストリーム(アップストリームサーバーの設定、主にリバースプロキシと負荷分散関連の構成)

場所(URLが特定の場所と一致した後の設定)

各セクションにはいくつかの指示が含まれています。

メイン部分に設定された指示は、他のすべての部分の設定に影響します。

サーバー部分の指示は主に仮想ホストのドメイン名、IP、ポートを指定するために使用されます。

アップストリーム ディレクティブは、一連のバックエンド サーバーをセットアップし、リバース プロキシとバックエンド サーバーの負荷分散をセットアップするために使用されます。

場所部分は、Web ページの場所 (たとえば、ルート ディレクトリ "/"、"/images" など) を一致させるために使用されます。

それらの関係は次のとおりです: server は main を継承し、location は server を継承します。

アップストリームはディレクティブを継承せず、またディレクティブから継承されることもありません。他の場所に適用する必要のない独自の特別な指示があります。

現在、nginx はいくつかのディレクティブ コンテキストをサポートしています。

2.1 Nginx の一般的な設定

次の nginx.conf は、フロントエンドでリバース プロキシ サーバーとして nginx の例を実装し、js や png などの静的ファイルを処理し、jsp などの動的リクエストを他のサーバー tomcat に転送します。

ユーザー www www;
ワーカープロセス 2;

error_log ログ/error.log;
#error_log ログ/error.log 通知;
#error_log ログ/error.log 情報;

pid ログ/nginx.pid;


イベント {
  epoll を使用します。
  ワーカー接続数 2048;
}


http {
  mime.types を含めます。
  デフォルトタイプ アプリケーション/オクテットストリーム;

  #log_format main '$remote_addr - $remote_user [$time_local] "$request" '
  # '$status $body_bytes_sent "$http_referer" '
  # '"$http_user_agent" "$http_x_forwarded_for"';

  #access_log ログ/access.log メイン;

  ファイル送信オン;
  # tcp_nopush オン;

  キープアライブタイムアウト65;

 # gzip 圧縮機能を gzip オンに設定します。
  gzip_min_length 1k;
  gzip_バッファ 4 16k;
  gzip_http_バージョン1.0;
  gzip_comp_レベル6;
  gzip_types text/html text/plain text/css text/javascript application/json application/javascript application/x-javascript application/xml;
  gzip_vary オン;
 
 # http_proxy は client_max_body_size を 10m に設定します。
  クライアントボディバッファサイズ 128k;
  プロキシ接続タイムアウト 75;
  プロキシ送信タイムアウト 75;
  プロキシ読み取りタイムアウト 75;
  プロキシバッファサイズ 4k;
  プロキシバッファ 4 32k;
  proxy_busy_buffers_size 64k;
  proxy_temp_file_write_size 64k;
  proxy_temp_path /usr/local/nginx/proxy_temp 1 2;

 # 負荷分散バックエンドサーバーリストを設定するアップストリームバックエンド{ 
       #ip_ハッシュ; 
       サーバー 192.168.10.100:8080 max_fails=2 fail_timeout=30s ; 
       サーバー 192.168.10.101:8080 max_fails=2 fail_timeout=30s ; 
  }

 # 非常に重要な仮想ホスト構成サーバー {
    聞く 80;
    サーバー名 itoatest.example.com;
    ルート /apps/oaapp;

    文字セット utf-8;
    access_log ログ/host.access.log メイン;

    #すべて / 負荷分散 + リバースプロキシの場所 / {
      ルート /apps/oaapp;
      インデックス index.jsp index.html index.htm;

      proxy_pass http://backend; 
      proxy_redirect オフ;
      # バックエンドWebサーバーはX-Forwarded-Forを通じてユーザーの実際のIPを取得できる
      proxy_set_header ホスト $host;
      proxy_set_header X-Real-IP $remote_addr; 
      proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
      proxy_next_upstream エラー タイムアウト invalid_header http_500 http_502 http_503 http_504;
      
    }

    #静的ファイル、nginx はそれを独自に処理し、バックエンドから tomcat を要求しません
    場所 ~* /download/ { 
      ルート /apps/oa/fs; 
      
    }
    場所 ~ .*\.(gif|jpg|jpeg|bmp|png|ico|txt|js|css)$  
    {  
      ルート /apps/oaapp;  
      有効期限は7日です。 
    }
    場所 /nginx_status {
      stub_status オン;
      access_log オフ;
      192.168.10.0/24 を許可します。
      すべてを否定する;
    }

    場所 ~ ^/(WEB-INF)/ {  
      すべてを否定する;  
    }
    #エラーページ 404 /404.html;

    # サーバーのエラーページを静的ページ /50x.html にリダイレクトします
    #
    エラーページ 500 502 503 504 /50x.html;
    場所 = /50x.html {
      ルートhtml;
    }
  }

 ## その他の仮想ホスト、サーバーディレクティブの開始}

2.2 一般的なNginxコマンドの説明

2.2.1 Nginxのメイングローバル設定

実行中のプロセス数、実行中の ID など、実行時に特定のビジネス機能 (HTTP サービスや電子メール サービス プロキシなど) に関連しない nginx の一部のパラメータ。

woker_processes 2

構成ファイルの最上位のメイン セクションでは、ワーカー ロールのワーカー プロセスの数を指定します。マスター プロセスは、リクエストを受信して​​ワーカーに配布し、処理します。この値は、CPU コアの数grep ^processor /proc/cpuinfo | wc -lに簡単に設定できます。これも自動値です。SSL と gzip が有効になっている場合は、I/O 操作を減らすために、論理 CPU の数と同じか 2 倍に設定する必要があります。 nginx サーバーに他のサービスがある場合は、それらを適切に削減することを検討できます。

worker_cpu_affinity

本文にも書いてあります。同時実行性の高い状況では、CPU スティッキネスを設定することで、複数の CPU コア間の切り替えによって発生するレジスタのオンサイト再構築によって生じるパフォーマンスの低下を軽減できます。たとえば、 worker_cpu_affinity 0001 0010 0100 1000; (クアッド コア) など。

worker_connections 2048

イベントセクションに書かれています。各ワーカー プロセスが同時に処理 (開始) できる接続の最大数 (クライアントまたはバックエンド プロキシ サーバーとのすべての接続を含む)。リバース プロキシ サーバーとして、nginx は最大接続数 = worker_processes * worker_connections/4 という計算式を使用するため、ここでのクライアント接続の最大数は 1024 です。状況に応じて 8192 まで増やすことができますが、以下の worker_rlimit_nofile 設定を超えることはできません。 nginxをhttpサーバーとして使用する場合、計算式は2で割ります。

worker_rlimit_nofile 10240

本文中に書きました。デフォルトは設定されていません。オペレーティング システムの上限値 65535 に制限される場合があります。

use epoll

イベントセクションに書かれています。 Linux オペレーティング システムでは、nginx はデフォルトで epoll イベント モデルを使用します。これにより、nginx は Linux オペレーティング システムで非常に効率的になります。同時に、Nginx は OpenBSD または FreeBSD オペレーティング システムで、epoll に似た効率的なイベント モデルである kqueue を使用します。 Select は、オペレーティング システムがこれらの効率的なモデルをサポートしていない場合にのみ使用されます。

2.2.2 Nginx http サーバー

http サービスの提供に関連するいくつかの構成パラメータ。たとえば、keepalive を使用するかどうか、gzip 圧縮を使用するかどうかなどです。

sendfile on

効率的なファイル転送モードを有効にします。sendfile ディレクティブは、nginx が sendfile 関数を呼び出してファイルを出力するかどうかを指定し、ユーザー空間からカーネル空間へのコンテキスト切り替えを減らします。一般的なアプリケーションの場合はオンに設定してください。ダウンロードなどのディスク IO 負荷の高いアプリケーションで使用する場合は、オフに設定してディスクとネットワークの I/O 処理速度のバランスを取り、システム負荷を軽減することができます。

keepalive_timeout 65

長い接続タイムアウトは秒単位です。このパラメータは非常に敏感で、ブラウザの種類、バックエンド サーバーのタイムアウト設定、オペレーティング システムの設定が関係します。これについては別の記事で説明します。長い接続で多数の小さなファイルが要求される場合、接続を再確立するオーバーヘッドを削減できます。ただし、大きなファイルをアップロードする場合は、65 秒以内にアップロードしないと失敗します。セットアップ時間が長すぎてユーザー数が多い場合、接続を長時間維持すると多くのリソースが消費されます。

send_timeout

クライアントへの応答のタイムアウトを指定するために使用されます。このタイムアウトは、2 つの接続アクティビティ間の時間に制限されます。この時間後にクライアントからのアクティビティがない場合、Nginx は接続を閉じます。

client_max_body_size 10m

クライアントが要求できる単一ファイルの最大バイト数。大きなファイルをアップロードする場合は制限を設定してください

client_body_buffer_size 128k

バッファプロキシがクライアント要求に対してバッファリングする最大バイト数

モジュールhttp_proxy

このモジュールは、キャッシュ機能を含むリバースプロキシサーバーとしてのnginxの機能を実装します(記事も参照)

proxy_connect_timeout 60

バックエンド サーバーとの Nginx 接続タイムアウト (プロキシ接続タイムアウト)

proxy_read_timeout 60

接続が成功した後、バックエンド サーバーとの 2 つの正常な応答操作間のタイムアウト (プロキシ受信タイムアウト)

proxy_buffer_size 4k

プロキシ サーバー (nginx) がバックエンド リアル サーバーからユーザー ヘッダー情報を読み取って保存するために使用するバッファーのサイズを設定します。デフォルトでは、proxy_buffers のサイズと同じです。実際には、このディレクティブ値をより小さい値に設定できます。

proxy_buffers 4 32k

proxy_buffers バッファでは、nginx はバックエンドのリアルサーバーからの応答を単一の接続に対してキャッシュします。平均 Web ページ サイズが 32k 未満の場合は、次のように設定します。

proxy_busy_buffers_size 64k

高負荷時のバッファサイズ (proxy_buffers*2)

proxy_max_temp_file_size

proxy_buffers がバックエンド サーバーからの応答コンテンツを保持できない場合、その一部はハードディスク上の一時ファイルに保存されます。この値は、最大一時ファイル サイズを設定するために使用され、デフォルトでは 1024M です。proxy_cache とは関係ありません。この値より大きい場合は、上流サーバーから送り返されます。無効にするには 0 に設定します。

proxy_temp_file_write_size 64k

プロキシされたサーバーの応答を一時ファイルにキャッシュする場合、このオプションは一時ファイルへの各書き込みのサイズを制限します。 proxy_temp_path (コンパイル時に使用可能) は、書き込み先のディレクトリを指定します。

proxy_pass,proxy_redirect見location 部分。

モジュールhttp_gzip :

gzip on : ネットワーク転送を削減するために gzip 圧縮出力を有効にします。
gzip_min_length 1k: 圧縮されたページに許可される最小バイト数を設定します。ページのバイト数は、content-length ヘッダーから取得されます。デフォルト値は 20 です。バイト数は 1k より大きく設定することをお勧めします。1k 未満の場合、圧縮率が高くなる可能性があります。
gzip_buffers 4 16k: gzip 圧縮結果データ ストリームを格納するためのキャッシュを複数ユニット取得するようにシステムを設定します。 4 16k は、メモリが 16k 単位で要求されることを意味します。メモリは、16k 単位で元のデータの 4 倍のサイズが要求されます。
gzip_http_version 1.0: http プロトコルのバージョンを識別するために使用されます。初期のブラウザは Gzip 圧縮をサポートしていないため、ユーザーには文字化けした文字が表示されます。そのため、このオプションは初期のバージョンをサポートするために追加されています。Nginx をリバースプロキシとして使用し、Gzip 圧縮を有効にしたい場合は、端末通信が http/1.0 であるため、1.0 に設定してください。
gzip_comp_level 6 : gzip 圧縮率。1 は圧縮率が最も低く、処理速度が最も速いことを意味し、9 は圧縮率が最も高いが処理速度が最も遅いことを意味します (転送速度は速くなりますが、CPU 消費量は多くなります)。
gzip_types: 圧縮用の MIME タイプを一致させます。指定されているかどうかに関係なく、「text/html」タイプは常に圧縮されます。
gzip_proxied any: Nginx をリバース プロキシとして使用する場合に有効になります。バックエンド サーバーから返される結果の圧縮を有効にするか無効にするかを決定します。一致の前提条件は、バックエンド サーバーが「Via」を含むヘッダーを返す必要があることです。
gzip_vary on: http ヘッダーに関連します。応答ヘッダーに Vary: Accept-Encoding が追加され、フロントエンド キャッシュ サーバーが gzip 圧縮されたページをキャッシュできるようになります。たとえば、Squid を使用して Nginx で圧縮されたデータをキャッシュします。

2.2.3 Nginx サーバーの仮想ホスト

http サービスではいくつかの仮想ホストがサポートされています。各仮想ホストには対応するサーバー構成項目があり、その中に仮想ホストに関連する構成が含まれています。メールサービスプロキシを提供する場合は、複数のサーバーを構築することもできます。各サーバーは、リスニング アドレスまたはポートによって区別されます。

listen

デフォルトのリスニング ポートは 80 です。ポートが 1024 未満の場合は、root として起動する必要があります。 listen *:80、listen 127.0.0.1:80 などの形式になります。

server_name

localhost や www.example.com などのサーバー名は、正規表現を使用して一致させることができます。

モジュールhttp_stream

このモジュールは、クライアント IP からバックエンド サーバーへの負荷分散を実現するために、単純なスケジューリング アルゴリズムを使用します。アップストリームの後にロード バランサーの名前が続き、バックエンドの実サーバーは、host:port options; の形式で {} 内に構成されます。プロキシされるバックエンドが 1 つだけの場合は、proxy_pass に直接書き込むこともできます。

2.2.4 Nginx の場所

http サービスにおいて、特定の URL に対応する一連の構成項目。

root /var/www/html

サーバーのデフォルトの Web サイト ルートの場所を定義します。 locationURL がサブディレクトリまたはファイルに一致する場合、root は効果がなく、通常はサーバー ディレクティブ内または / の下に配置されます。

index index.jsp index.html index.htm

パスの下のデフォルトのアクセスファイル名を定義します。通常はルートの後に配置されます。

proxy_pass http:/backend

リクエストは、上流のロードバランサーに対応するバックエンド、つまりリバースプロキシによって定義されたサーバーリストにリダイレクトされます。 proxy_pass http://ip:port も使用できます。

proxy_redirect オフ;
proxy_set_header ホスト $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;

とりあえずこの4つのポイントを設定しましょう。さらに深く掘り下げていくと、それぞれ非常に複雑な内容になりますので、別の記事で説明します。

ロケーションマッチングルールの記述に関しては、特に重要かつ基本的と言えます。nginx 構成ロケーションの概要と書き換えルールの記述に関する記事を参照してください。

2.3 その他

2.3.1 アクセス制御の許可/拒否

Nginx のアクセス制御モジュールはデフォルトでインストールされており、記述も非常に簡単です。特定の IP または IP セグメントへのアクセスを許可または拒否する複数の許可ルールと拒否ルールを設定できます。いずれかのルールが満たされると、マッチングは停止します。のように:

場所 /nginx-status {
 stub_status オン;
 access_log オフ;
# auth_basic "NginxStatus";
# auth_basic_user_file /usr/local/nginx-1.6/htpasswd;

 192.168.10.100 を許可します。
 172.29.73.0/24 を許可します。
 すべてを否定する;
}

アクセス パスのログイン パスワードを設定するために、httpd-devel ツール htpasswd を使用することもよくあります。

# htpasswd -c htpasswd 管理者
新しいパスワード:
新しいパスワードを再入力してください:
ユーザー管理者のパスワードの追加

# htpasswd htpasswd admin //管理者パスワードを変更する # htpasswd htpasswd sean //別の認証ユーザーを追加する

これにより、デフォルトで CRYPT を使用して暗号化されたパスワード ファイルが生成されます。上記の nginx-status の 2 行のコメントを開き、nginx を再起動して有効にします。

2.3.2 Nginx ディレクトリの自動インデックスをリストする

デフォルトでは、Nginx はディレクトリ全体のリスト表示を許可しません。この機能を使用するには、nginx.conf ファイルを開き、location、server、または http セクションに autoindex on; を追加します。他の 2 つのパラメータも追加することをお勧めします。

autoindex_exact_size off;

デフォルトではオンになっており、ファイルの正確なサイズがバイト単位で表示されます。オフに変更すると、ファイルのおおよそのサイズがkB、MB、またはGBで表示されます。

autoindex_localtime on;

デフォルトはオフで、表示されるファイル時間は GMT 時間です。オンに変更すると、表示されるファイル時間はファイルのサーバー時間になります。

場所 /画像 {
 ルート /var/www/nginx-default/images;
 自動インデックスオン;
 autoindex_exact_size をオフ;
 autoindex_localtime をオン;
 }

以上が、コンパイルとインストールから設定ファイルの説明まで、中国語でnginxの詳細な紹介の主な内容です。皆様のお役に立てれば幸いです。以下の関連記事には、nginxのコンパイル、インストール、設定に関する優れた記事がさらにあります。引き続きお読みください。

以下もご興味があるかもしれません:
  • Nginx サーバー構成 HTTPS nginx.config 構成ファイル (チュートリアル)
  • Alibaba Cloud 上の ThinkPHP の nginx.config 設定例の詳細な説明
  • Nginx 設定ファイル nginx.conf の詳細な説明
  • Nginx 設定ファイル (nginx.conf) 設定の詳細 (概要)
  • Nginxサーバーのnginx.conf設定ファイルの詳細な説明
  • Nginx 設定ファイル nginx.conf の一般的な設定方法
  • Nginx 設定ファイル nginx.conf の共通パラメータの中国語での比較的完全な説明
  • Nginx の nginx.conf 設定ファイルに関する中国語のコメント
  • nginx 設定ファイル nginx.conf に関する中国語のコメント

<<:  jsオブジェクト指向カプセル化カスケードドロップダウンメニューリストの実装手順

>>:  InnoDB エンジンの redo ファイルのメンテナンス方法

推薦する

Linuxは、単一のIPをバインドするためにデュアルネットワークカードを実装するためにボンドを使用します。サンプルコード

ネットワークの高可用性を実現するには、複数のネットワーク カードを仮想ネットワーク カードにバインド...

上下に空白行があるフォームを挿入する解決策

ウェブページを作成するときに、フォームを挿入した後、フォームの上下に空白行が表示されることがよくあり...

HTML フローティング フレーム (iframe 読み込み HTML) の設定と使用の例

コードをコピーコードは次のとおりです。 <!DOCTYPE html PUBLIC "...

CSS で画像アダプティブ コンテナを実装するいくつかの方法 (要約)

多くの場合、画像をコンテナのサイズに合わせて調整する必要があります。 1. imgタグ方式幅と高さを...

時刻を保存するために適切な MySQL の datetime 型を選択する方法

データベースを構築してプログラムを書くとき、日付と時刻の使用は避けられません。データベースには、ti...

clipboard.js の使用法の概要

目次(1)はじめに: (2)クリップボードの内容をコピーする方法は次のとおりです。 (3)関数演算に...

Node.js でメモリ効率の高いアプリケーションを作成する方法

目次序文問題: 大きなファイルのコピーNodeJS のストリームとバッファバッファストリーム解決策 ...

Vueキャッシュ機能の使い方

目次vue2のキャッシュ機能Vue キャッシュ関数の変換最適化要約するvue2のキャッシュ機能vue...

Windows 10 システムに mysql-8.0.13 (zip インストール) をインストールする詳細なチュートリアル

インストール環境の説明•システムバージョン: windows10 •MySQL バージョン: mys...

Centos7 ベースの Varnish キャッシュ プロキシ サーバーを展開する

1. ワニスの概要1. ワニスの紹介Varnish は、新しいソフトウェア アーキテクチャを使用し、...

モバイル端末での Vue2.x Picker のグローバル呼び出し実装

目次ピッカーコンポーネントとはピッカーコンポーネントの問題解決オプションの説明解決ディレクトリ部門P...

Linux で特定のユーザーまたはユーザー グループに対して SSH を有効または無効にする方法

会社の基準により、特定のユーザーだけに Linux システムへのアクセスを許可することができます。あ...

Windows Server 2008R2、2012、2016、2019 の違い

目次共通バージョンの紹介共通バージョンのダウンロードアドレスとインストール以下に簡単な違いを示します...

MySQLでバッチを更新するいくつかの方法

通常、フィールド値を更新するには次の SQL ステートメントを使用します。 mytable を更新し...

アダプティブ Web デザインの手法 (モバイル フォンでの優れたアクセス エクスペリエンス)

1. HTML ヘッダーにビューポート タグを追加します。ウェブサイトの HTML ファイルの先頭...