目次
この記事では主に Nginx シーン アプリケーション テクノロジを共有し、皆様のお役に立てれば幸いです。 " >この記事では主に Nginx シーン アプリケーション テクノロジを共有し、皆様のお役に立てれば幸いです。
静的リソース Web サービスとしての Nginx" >静的リソース Web サービスとしての Nginx
Nginx はプロキシ サービスとして機能します" > Nginx はプロキシ サービスとして機能します
フォワード プロキシ" >フォワード プロキシ
リバース プロキシ" >リバース プロキシ
負荷分散サービスとしてのNginx" >負荷分散サービスとしてのNginx
ホームページ バックエンド開発 PHPチュートリアル Nginxシナリオアプリケーション技術共有

Nginxシナリオアプリケーション技術共有

Jan 29, 2018 am 11:17 AM
nginx 共有 応用技術

この記事では主に Nginx シーン アプリケーション テクノロジを共有し、皆様のお役に立てれば幸いです。

静的リソース Web サービスとしての Nginx

設定コンテキスト: http、サーバー、または場所。

には、リソース圧縮、クロスドメイン アクセス、アンチリーチングなどのシナリオが含まれる場合があります。

リソース圧縮設定のコンテキスト: http、サーバーまたは場所
クロスドメイン設定のコンテキスト: http、サーバーまたは場所
アンチホットリンク設定のコンテキスト: サーバー、場所

設定リファレンス

<span style="font-size: 14px;">vi /etc/nginx/conf.d/default.conf<br></span>
ログイン後にコピー
ログイン後にコピー
ログイン後にコピー
ログイン後にコピー
rree

Nginx はプロキシ サービスとして機能します

フォワード プロキシ

フォワード プロキシはクライアント プロキシです。クライアントは、ターゲット アドレスのアクセス要件を満たすためにプロキシ サーバーをセットアップします。

Nginx はこのプロキシ サーバーとして機能できます

構成リファレンス

<span style="font-size: 14px;">server {<br>    ...<br>    <br>    # 开启sendfile,提高网络包的传输效率<br>    sendfile on;<br>    <br>    # 配置图片资源的存放路径及压缩方式<br>    location ~ .*\.(jpg|gif|png)$ {<br>        gzip on;<br>        gzip_http_version 1.1;<br>        gzip_comp_level 2;<br>        gzip_types text/plain application/javascript application/x-javascript text/css application/xml text/javascript application/x-httpd-php image/jpeg image/gif image/png;<br>        # 图片防盗链配置 <br>        # 不指定referer 协议不正确 放行指定IP 放行SEO优化<br>        valid_referers none blocked 39.104.116.91 ~/google\./;<br>        if ($invalid_referer) {<br>            return 403;<br>        }<br>        root /opt/app/code/images;<br>    }<br><br>    # 配置txt|xml资源的存放路径及压缩方式<br>    location ~ .*\.(txt|xml)$ {<br>        gzip on;<br>        gzip_http_version 1.1;<br>        gzip_comp_level 1;<br>        gzip_types text/plain application/javascript application/x-javascript text/css application/xml text/javascript application/x-httpd-php image/jpeg image/gif image/png;<br>        root /opt/app/code/doc;<br>    }<br>    # 缓存与跨域场景配置<br>    location ~ .*\.(html|htm)$ {<br>        #给返回报文添加Cache-Control、Expires头,控制缓存<br>        #expires 24h;<br>        #允许跨域到指定域<br>        add_header Access-Control-Allow-Origin http://somehost.com;<br>        add_header Access-Control-Allow-Methods GET,POST,PUT,DELETE,OPTIONS;<br>        root /opt/app/code;<br>    }<br><br>}<br></span>
ログイン後にコピー
<span style="font-size: 14px;">vi /etc/nginx/conf.d/default.conf<br></span>
ログイン後にコピー
ログイン後にコピー
ログイン後にコピー
ログイン後にコピー

リバース プロキシ

リバース プロキシはサーバー側プロキシです。実サーバーのアドレスをクライアントから隠します。

構成リファレンス

<span style="font-size: 14px;">server {<br>    ...<br>    # 可能会涉及到DNS域名解析<br>    resolver 8.8.8.8;<br>    location / {<br>        # 原封不动的让自己转发客户端的请求<br>        proxy_pass http://$http_host$request_uri;<br>    }<br>}<br></span>
ログイン後にコピー
<span style="font-size: 14px;">vi /etc/nginx/conf.d/default.conf<br></span>
ログイン後にコピー
ログイン後にコピー
ログイン後にコピー
ログイン後にコピー
e
<span style="font-size: 14px;">server {<br>location / {<br>        #Real Server地址<br>        proxy_pass http://127.0.0.1:8080;<br>        include proxy_params;<br>    }<br>}<br></span>
ログイン後にコピー

負荷分散サービスとしてのNginx

リファレンス構成

<span style="font-size: 14px;"># 其他代理配置独立出去,方便复用<br>vi /etc/nginx/proxy_param<br></span>
ログイン後にコピー
<span style="font-size: 14px;"># default就可以了。除非返回301的场景,可能需要改写<br>proxy_redirect defalut;<br><br>#配置header信息,让Real Server了解实际客户端信息<br>proxy_set_header Host $http_host;<br>proxy_set_header X-Real-IP $remote_addr;<br><br>#一些代理超时设置<br>proxy_connect_timeout 30;<br>proxy_send_timeout 60;<br>proxy_read_timeout 60;<br><br>#代理缓冲区设置<br>proxy_buffer_size 32k;<br>proxy_buffering on;<br>proxy_buffers 4 128k;<br>proxy_busy_buffers_size 256k;<br>proxy_max_temp_file_size 256k;<br></span>
ログイン後にコピー

サーバーの追加パラメータ

上流グループのサーバーの背後には、次のパラメータがサポートされています:

パラメータ 説明
down ロードバランシングに参加しません
バックアップ 予約されたバックアップサーバ。他のノードがサービスを提供していない場合にのみサービスを提供します
max_fails 許可されるリクエストの失敗数
fail_timeout max_fails が失敗した後にサービスが一時停止される時間
max_conns 受信する接続の最大数を制限する

負荷分散スケジューリングアルゴリズム

方法 説明書
ホイールクエリ は、順番に異なるバックエンドサーバーに1つずつ割り当てられます
重み付きポーリング 重みの値が大きいほど、割り当てられる確率が高くなります
ip_hash 同じ IP は同じバックエンド サーバーに固定アクセスします
least_conn 接続数が最も少ないマシン
url_hash ハッシュ結果にURLパラメータの
ハッシュキー値 ハッシュカスタムキー
<span style="font-size: 14px;">vi /etc/nginx/conf.d/default.conf<br></span>
ログイン後にコピー
ログイン後にコピー
ログイン後にコピー
ログイン後にコピー
<span style="font-size: 14px;">upstream backend {<br>    server 192.168.1.101:8001;<br>    server 192.168.1.102:8002;<br>    server 192.168.1.102:8003 down;<br>    server 192.168.1.103:8004 backup;<br>}<br>server {<br>    ...<br>    location / {<br>        # 代理到upstream组<br>        proxy_pass http://backend;<br>        include proxy_params;<br>    }<br>}<br></span>
ログイン後にコピー
rree
<span style="font-size: 14px;"># 加权轮询<br>upstream backend {<br>    server 192.168.1.101:8001 weight=5;<br>    server 192.168.1.102:8002;<br>    server 192.168.1.102:8003 down;<br>    server 192.168.1.103:8004 backup;<br>}<br></span>
ログイン後にコピー

関連推奨事項:

nginx速度制限接続数制限の詳細な説明

nginx 設定 Re Act 静的ページチュートリアル

phpでNginxを使用してリバースプロキシを実装する方法

以上がNginxシナリオアプリケーション技術共有の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。

ホット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ヘンタイを無料で生成します。

ホットツール

メモ帳++7.3.1

メモ帳++7.3.1

使いやすく無料のコードエディター

SublimeText3 中国語版

SublimeText3 中国語版

中国語版、とても使いやすい

ゼンドスタジオ 13.0.1

ゼンドスタジオ 13.0.1

強力な PHP 統合開発環境

ドリームウィーバー CS6

ドリームウィーバー CS6

ビジュアル Web 開発ツール

SublimeText3 Mac版

SublimeText3 Mac版

神レベルのコード編集ソフト(SublimeText3)

nginxでクラウドサーバードメイン名を構成する方法 nginxでクラウドサーバードメイン名を構成する方法 Apr 14, 2025 pm 12:18 PM

クラウドサーバーでnginxドメイン名を構成する方法:クラウドサーバーのパブリックIPアドレスを指すレコードを作成します。 NGINX構成ファイルに仮想ホストブロックを追加し、リスニングポート、ドメイン名、およびWebサイトルートディレクトリを指定します。 nginxを再起動して変更を適用します。ドメイン名のテスト構成にアクセスします。その他のメモ:SSL証明書をインストールしてHTTPSを有効にし、ファイアウォールがポート80トラフィックを許可し、DNS解像度が有効になることを確認します。

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 am 11:57 AM

nginxバージョンを照会できるメソッドは次のとおりです。nginx-vコマンドを使用します。 nginx.confファイルでバージョンディレクティブを表示します。 nginxエラーページを開き、ページタイトルを表示します。

Dockerでミラーを作成する方法 Dockerでミラーを作成する方法 Apr 15, 2025 am 11:27 AM

Docker画像を作成する手順:ビルド命令を含むDockerFileを書きます。 Docker Buildコマンドを使用して、ターミナルで画像を作成します。画像にタグを付け、Dockerタグコマンドを使用して名前とタグを割り当てます。

nginxサーバーを開始する方法 nginxサーバーを開始する方法 Apr 14, 2025 pm 12:27 PM

NGINXサーバーを起動するには、異なるオペレーティングシステムに従って異なる手順が必要です。Linux/UNIXシステム:NGINXパッケージをインストールします(たとえば、APT-GetまたはYumを使用)。 SystemCtlを使用して、NGINXサービスを開始します(たとえば、Sudo SystemCtl Start NGinx)。 Windowsシステム:Windowsバイナリファイルをダウンロードしてインストールします。 nginx.exe実行可能ファイルを使用してnginxを開始します(たとえば、nginx.exe -c conf \ nginx.conf)。どのオペレーティングシステムを使用しても、サーバーIPにアクセスできます

Nginxが起動されているかどうかを確認する方法は? Nginxが起動されているかどうかを確認する方法は? Apr 14, 2025 pm 12:48 PM

Linuxでは、次のコマンドを使用して、nginxが起動されるかどうかを確認します。SystemCTLステータスNGINXコマンド出力に基づいて、「アクティブ:アクティブ(実行)」が表示された場合、NGINXが開始されます。 「アクティブ:非アクティブ(dead)」が表示されると、nginxが停止します。

Linuxでnginxを開始する方法 Linuxでnginxを開始する方法 Apr 14, 2025 pm 12:51 PM

Linuxでnginxを開始する手順:nginxがインストールされているかどうかを確認します。 systemctlを使用して、nginxを開始してnginxサービスを開始します。 SystemCTLを使用して、NGINXがシステムスタートアップでNGINXの自動起動を有効にすることができます。 SystemCTLステータスNGINXを使用して、スタートアップが成功していることを確認します。 Webブラウザのhttp:// localhostにアクセスして、デフォルトのウェルカムページを表示します。

nginx403を解く方法 nginx403を解く方法 Apr 14, 2025 am 10:33 AM

Nginx 403禁止エラーを修正する方法は?ファイルまたはディレクトリの許可を確認します。 2。HTACCESSファイルを確認します。 3. nginx構成ファイルを確認します。 4。nginxを再起動します。他の考えられる原因には、ファイアウォールルール、Selinux設定、またはアプリケーションの問題が含まれます。

See all articles