タグ付けされた質問 「nginx」

Nginx( "eNgine x")は、軽量で高性能なHTTPサーバー、リバースプロキシ、TCPストリームプロキシ、メールプロキシで、BSDライクなライセンスの下でリリースされています。

1
ミスター・タイム・トゥ・ファースト・バイトの奇妙な事件
私はに基づいてLinode 1024 VPSでウェブサーバーを持っています Ubuntu 11.10 Nginx 1.0.5 PHP 5.3.6(PHP-FPM、APCを使用) ワニス3.0.2 また、WordPress 3.3.1に基づいたブログもいくつかあります。それらの1つは、サーバーをテストするための既定の構成、テーマ、および "Hello World"投稿を含む単純なブログです。もう1つは、ほぼ1万件の投稿と1万件以上のコメントを含む、他のサーバーから複製されたブログです。このブログには、1日あたり5kのユニークユーザーがいます。 サーバーは、テストブログの abテストで良い数値を出しますが、クローンブログと同じテストを行うことは不可能です:abテストはサーバーのロードが多すぎるため、プロセスを停止する必要があります。この本当に悪い結果。 htopは、通常の動作では「通常」の負荷も示しますが、abテスト中は通常の大きな負荷を示します。 別の奇妙なことが起こっています(私にとって最も重要なことです):最初のバイトまでの時間が非常に長いですが、その後、サイトの読み込みが非常に速くなります。これはtools.pingdom.comなどのサービスで簡単にテストでき、この結果が得られます。「待機時間」を意味する黄色の領域に注意してください。 なんでこんなことが起こっているの?考えられるアイデア: 不正なPHP-FPM設定 Linode DNSの応答時間はひどいです。ナンセンス-テストブログはDNSをうまく解決し、TTFBは素晴らしい 悪いNginx設定 誰かがさらに情報を必要とする場合に備えて、 ここに、現在のクローンブログnginx構成ファイル (/etc/nginx/sites-available/muycomputerpro.com)があります。 ここに、現在のmy.cnf構成(/etc/mysql/my.cnf)があります(現時点では、キャッシュではなく、これは過去のTTFBに影響を与えていません) ここには、現在のPHP-FPM構成(/etc/php5/fpm/pool.d/www.conf)があります

2
ApacheBenchmark AB-SSLの読み取りに失敗しました-接続を閉じます
私のウェブサイトでabを実行しているとき、私はこれらの応答のトンを受け取ります: SSL read failed - closing connection SSL read failed - closing connection SSL read failed - closing connection また、成功することもあります。MacBook Pro 10.7.2を使用しています。奇妙なのは、誰かが私の隣のOS Lionではなく、非常に似たマシンで同じテストを行い、問題がないことです。 何か案は?私はあちこちで仕事をするために腹を立てるので、これは私のマシン上の何かだと確信しています。 コマンドは単純です: ab -c 100 -n 1000 https://mywebsite.com もう1つ、nginxのログを見ると、abからのリクエストがいくつか表示されるため、abが機能していることがわかります。また、ログには失敗したログは表示されません。
14 apache-2.2  nginx  ssl  ab 

5
このエラーを理解する:apr_socket_recv:接続がピアによってリセットされました(104)
したがって、Apacheベンチマーク(ab)でベンチマークを実行し、大量のリクエストを使用するとします。その後、テストの途中で時々このエラーが発生します。 意味すらわかりません。どうすれば修正できますか?それとも、とにかくサーバーがあまりにも多くのヒットを取得した場合に発生するものですか?問題は、10,000ヒットを実行すると、すべてが完全に実行されることです。もう一度実行すると、4000になり、エラーが発生します。 apr_socket_recv: Connection reset by peer (104) 私のセットアップについて少し:私はnginxが静的なリクエストを取得し、動的なリクエストをApacheに処理しています。問題のファイルはnginxによってキャッシュから提供されるので、おそらくnginxがリクエストを処理する方法に関係していると思いますか? アイデア?

4
nginxとmemcachedはどの程度連携して機能しますか?
Glassfishアプリサーバークラスターで実行されているJava EEベースのWebアプリケーションがあります。着信トラフィックは、主にアプリケーションリソースのXMLベースの表現に対するRESTfulリクエストですが、おそらくトラフィックの5%はJSONまたはXHTML / CSSベースの表現に対するものです。 現在、クラスター内のGlassfishインスタンス全体に着信トラフィックを分散するための負荷分散ソリューションを調査しています。また、memcachedを使用してクラスターをオフロードする方法も検討しています。memcachedは、キーがRESTリソース名(たとえば、「/ user / bob」、「/ group / jazzlovers」)であり、値が対応するXML表現。 有望と思われるアプローチの1つは、1石で両方の鳥を殺し、軽量で高速なnginx HTTPサーバー/リバースプロキシを使用することです。Nginxは、最初にmemcachedでURIを調べて、期限切れになっていないXML表現が既にあるかどうかを確認することにより、各着信要求を処理します。そうでない場合、nginxはGlassfishインスタンスの1つにリクエストを送信します。nginx memcachedモジュールについては、この短い記事で説明しています。 nginxとmemcachedをこのように使用した場合の全体的な印象はどうですか?それらについて学ぶのに最も役立つリソースは何ですか?あなたがそれらを試したが、それらがあなたの目的に合わなかったなら、なぜそうではなく、代わりに何を使いましたか? 注:ここに関連する質問があります。ServerFaultについて知る前に、StackOverflowでこれを尋ねました。 編集:ここまでのすべての回答は、直接的な経験はありませんでしたが、非常に役立ちました。最終的にこの答えはStackOverflowに表示され、nginx / memcachedの設定ではかなり強気でした。
14 nginx  memcached 

1
デフォルトのnginx.confを変更せずにデフォルトのnginx http構成を上書きする
私の意図:/etc/nginx/nginx.conf(debian 8)で定義されているデフォルトの設定を上書きしたいです。アイデアは、将来のシステム更新を容易にし、オーバーライドしなかったオプションの最新の変更を取得できるように、このファイルを完全にそのままにしておくことです。 私がやったこと:/etc/nginx/conf.d/他のいくつかのdebianサービスと同じ方法でカスタム設定を作成しました。 問題:ただし、「X」ディレクティブが重複エラーであるため、一部の構成をオーバーライドすることは不可能のようです。Nginxは、他のサービスが行うのと同じ方法で設定の上書きをサポートしていないようです。 質問:ディレクティブが重複エラーになることなく、nginx httpコンテキストに新しいオプションをオーバーライドして追加する方法はありますか?それとも、アイデアを完全に放棄して大暴れする必要がありますか?nginx.conf 助けてくれて本当にありがとうございます。 この同様の質問は私の問題を本当に解決しません。なぜなら、私のために自動的に設定されたデフォルトのオプションnginxから利益を得たいからです(例worker_processes auto;)

6
NPNではなくALPNを使用するためのopenssl 1.0.2を備えたDebian jessie nginx
私は自分のサーバーでdebian jessieを実行していますが、最近http / 2をサポートする新しいnginx Webサーバー(nginx 1.10)にアップグレードしました。今日のように、うまく機能し、ウェブサーバーはhttp2プロトコルでコンテンツを配信しています。 私は、読んだことがあるクロムがNPNのサポートを落としているだけで2016年5月15日後にALPNすることができます。ALPNは拡張機能で、openssl 1.0.2がインストールされている必要がありますが、debian jessieではopenssl 1.0.1のみです(debianバックポートや他のリポジトリにも、このdebian用のopenssl 1.0.2バージョンはありません)。 そして問題があります-SPDYからhttp2にアップグレードしましたが、数日でhttp2をオフにする必要があり、このバージョンのnignxにはhttp2しかありませんのでSPDYを使用できません。また、debianのこのバージョンはopenssl 1.0.1でスタックし、debian stretchのみがopenssl 1.0.2を持つことを読みました。しかし、リリース日にはほぼ一年があり、クロムはすぐにサポートを廃止するので、http2プロトコルの利点を失いたくありません。 解決策はありますか?このシステムにopenssl 1.0.2をインストールする方法はありますか?独自のビルドを構築する(メンテナンスが悪い)か、バックポートリポジトリがそれを保持するのを待つことはありませんか?また、システムのopensslの2つのバージョンのいずれかを手動でリンクおよび保守する必要がある場合は、このバージョンは必要ありません。 助けてくれてありがとう。

2
nginx uLimit 'worker_connectionsは開いているファイルのリソース制限を超えています:1024'
私はこのエラーを受け取り続けnginx/error.log、それが私を狂わせます: 8096 worker_connections exceed open file resource limit: 1024 私は考えることができるすべてを試してみましたが、ここでnginxを制限しているものを理解することはできません。何が欠けているのか教えてもらえますか? nginx.conf これがあります: worker_processes 4; events { worker_connections 8096; multi_accept on; use epoll; } システムのUlimitを次のsecurity/limits.confように変更しました。 # This is added for Open File Limit Increase * hard nofile 199680 * soft nofile 65535 root hard nofile 65536 root soft nofile 32768 # …
14 linux  nginx  debian  ulimit  files 

6
Nginx-「nodelay」オプションがある場合、「burst」を定義する意味は何ですか
Nginxの設定で、limit_req_zone/ を使用してリクエストの処理速度を制限したいlimit_req instructions場合、このnodelayオプションの使用方法がわかりません。 私の理解では、定義されたレートを超えるリクエストを、遅らせることなく終了します。だから、と同等のようburst=0です。だからこそ、私は次の例を理解できない: limit_req zone=one burst=5 nodelay; burst遅延する可能性のあるリクエストの数を定義するのでburst、nodelayオプションがある場合に定義する意味は何ですか?
14 nginx 

1
`keepalive_timeout`はNginxの設定から削除すべきですか?
どちらがより良い構成/最適化ですか:明示的に制限するkeepalive_timeoutか、Nginxがキープアライブ接続を単独で強制終了できるようにしますか? keepalive_timeoutNginx のディレクティブに関する2つの矛盾する推奨事項を見てきました。それらは次のとおりです。 # How long to allow each connection to stay idle; longer values are better # for each individual client, particularly for SSL, but means that worker # connections are tied up longer. (Default: 65) keepalive_timeout 20; そして # You should remove keepalive_timeout from your formula. # Nginx …
14 nginx  keepalive 

2
nginxでワイルドカード証明書を使用する複数のSSL仮想ホスト
HTTP経由で提供する同じドメイン名を共有する2つのホスト名があります。ワイルドカードSSL証明書を取得し、2つの仮想ホスト構成を作成しました。 ホストA listen 127.0.0.1:443 ssl; server_name a.example.com; root /data/httpd/a.example.com; ssl_certificate /etc/ssl/wildcard.cer; ssl_certificate_key /etc/ssl/wildcard.key; ホストB listen 127.0.0.1:443 ssl; server_name b.example.com; root /data/httpd/b.example.com; ssl_certificate /etc/ssl/wildcard.cer; ssl_certificate_key /etc/ssl/wildcard.key; ただし、どちらのホスト名でも同じ仮想ホストが提供されます。

4
Nginxの起動に失敗するssl no such fileまたはdirectory
ここに私が得ているエラーがあります: nginx構成の再読み込み:nginx:[emerg] SSL_CTX_use_certificate_chain_file( "/ path / to / cert.pem")が失敗しました(SSL:エラー:02001002:system library:fopen:No such file or directory error:20074002:BIO routines:FILE_CTRL:system libエラー:140DC002:SSLルーチン:SSL_CTX_use_certificate_chain_file:system lib)nginx:構成ファイル/etc/nginx/nginx.confテストに失敗しました 私はファイルがその場所にあることを100%確信していますが、Nginxはそこにないと考えているようです。私は合併domain.crtし、intermediate.crtそのためには、手動で。私は一日中この問題に頭を悩ませてきました。誰かがこのエラーを見て解決したことを願っています(そして、ファイルの場所が「そのようなファイルやディレクトリがない」後に一度だけ表示されるという貼り付けのエラーではありません)

4
Nginx Auth_Basicの再試行を制限する方法は?
NginxのAuth_BasicモジュールでWebフォルダーを保護しました。問題は、機能するまでいくつかのパスワードを試すことができることです(ブルートフォース攻撃)。再試行の失敗回数を制限する方法はありますか?
14 security  nginx 

1
量指定子を使用する場合のnginx pcre_compileエラー
エイリアシングに問題があります。ディレクトリの一部として、ファイルの最初の4桁まで追加します。( '../123456.jpg'=>'../123/123456.jpg'および '../12.png'=>'../12/12.png'など) ここに私が持っているものがあります: location ~ ^/i/gallery2/(\d{1,4})(.*)$ { alias /home/web/images/gallery/$1/$1$2; } これは私が得るエラーです: nginx: [emerg] pcre_compile() failed: missing ) in "^/i/gallery2/(\d" これを機能させる方法はありますか?「{1,4}」に問題があるように見えますが、私が望む別の方法はありますか?
14 nginx  regex 

1
Nginxの複数の場所の問題
現在、1つのリポジトリから3つのアプリケーションを3つに分割しようとしていますが、URL構造は維持しているため、基本的に同じドメインの下の異なる場所を異なるアプリケーションで配信する必要があります。 私が苦労しているのは、アプリの1つが存在しないURLのフォールバックである必要があるため、最初のアプリが一致せず、2番目のアプリが一致しない場合、3番目がリクエストを処理する必要があるということです 私が持っている構造は次のとおりです。 / etc / nginx / sites-enabled / main_site、ここでは、server_nameと私が手に入れたログは別として、include /etc/nginx/subsites-enabled/*3つの構成ファイルがあり、各アプリに1つずつあります。 3つの構成ファイルにはそれぞれ、場所ブロックが含まれています。 正規表現でネガティブな先読みを試みました(基本的に他のアプリが処理するURLをハードコードしようとしています)が失敗しました。 要約すると、 /および/ communityは、/ etc / nginx / subsites-enabled / example.org / home(いくつかのperlスクリプト)によって配信される必要があります / newsは/etc/nginx/subsites-enabled/example.org/news(wordpress)によって配信される必要があります その他はすべて/etc/nginx/subsites-enabled/example.org/app(ケーキアプリ)で配信する必要があります perlビットは正常に動作します。私が抱えている問題は、アプリがニュースを引き継いでいる(おそらく。静的アセットが機能しないなど)。 私の構成は次のとおりです。 /etc/nginx/sites-enabled/example.org: server { listen 80; server_name example.org; error_log /var/log/nginx/example.org.log; include /etc/nginx/subsites-enabled/example.org/*; } /etc/nginx/subsites-enabled/example.org/home: location = / { rewrite ^.*$ …
14 nginx 

2
複数のnginx構成ファイルでサーバーの場所を定義できますか?
同じホスト上で複数のrubyアプリを実行しています: ~/app1 ~/app2 ~/app3 そして、次のようなサブディレクトリを使用してこれらのアプリをnginxプロキシする必要があります: http://example.com/app1 http://example.com/app2 http://example.com/app3 nginxがこれらの場所を複数のファイルで定義できるので、すべてのアプリに1つのモノリシックな構成ファイルを持たせるのではなく、アプリで各構成を維持できるようにサポートしてくれるかどうか興味があります。 ~/app1/nginx.conf ~/app2/nginx.conf ~/app3/nginx.conf 3つの構成ファイルのそれぞれで単一のロケーションディレクティブを使用してサーバーを定義しようとした私の素朴な試みはconflicting server name "example.com" on [::]:80, ignored、次のような構成になりました。 upstream app1 { server 127.0.0.1:4567; } server { listen [::]:80; listen 80; servername example.com location /app1 { proxy_pass http://app1; proxy_http_version 1.1; proxy_set_header Upgrade $http_upgrade; proxy_set_header Connection "upgrade"; proxy_set_header Host $http_host; proxy_set_header …
14 nginx 

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.