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

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

2
リバースSSHトンネル
一部のAPI統合(トロポ、ペイパルなど)をテストするために、リモートサーバーからローカルマシンにWebトラフィックを転送しようとしています。基本的に、私はtunnlr.comが提供するものと同様のものをセットアップしようとしています。 コマンドでsshトンネルを開始しました $ssh –nNT –R :7777:localhost:5000 user@server 次に、サーバーがポート7777でリッスンしていることがわかります。 user@server:$netstat -ant | grep 7777 tcp 0 0 127.0.0.1:7777 0.0.0.0:* LISTEN tcp6 0 0 ::1:7777 :::* LISTEN $user@server:curl localhost:7777 Hello from local machine これでうまくいきます。curlリクエストは実際にはローカルマシンから提供されます。 では、server.com:8888をそのトンネル経由でルーティングできるようにするにはどうすればよいですか? 私はnginxを次のように使ってみました: upstream tunnel { server 0.0.0.0:7777; } server { listen 8888; server_name server.com; location / { access_log …

3
Nginx + Php5-fpmがphpファイルをレンダリングしない
Nginx + Ruby Enterprise Edition + PHP5-fpmとMYSQLをインストールする方法を理解するのに何時間も費やしましたが、最後にすべてがインストールされ、すべて正常に起動したようです。 しかし、何らかの理由でphpファイルが処理されていません。 .htmlファイルは正常に機能しますが、.phpファイルを表示しようとすると、存在していても存在しないように見えます。興味深いことに、存在しない.htmlファイルを表示しようとすると、素晴らしいNginx 404メッセージが表示されますが、.phpファイルを表示すると表示されません。 私の初心者の理解では、設定に問題があるか、NginxとPHP-fpmが互いに通信していないようです。 私はnginx設定ファイルの他の多くの例を見てきましたが、物事の側面は大丈夫だと確信しています。さて...とにかく、これはconfファイルの関連ビットです: location ~ \.php$ { fastcgi_pass 127.0.0.1:9000; fastcgi_index index.php; fastcgi_param SCRIPT_FILENAME /var/www/eman/$fastcgi_script_name; include fastcgi_params; } そして fastcgi_connect_timeout 60; fastcgi_send_timeout 180; fastcgi_read_timeout 180; fastcgi_buffer_size 128k; fastcgi_buffers 4 256k; fastcgi_busy_buffers_size 256k; fastcgi_temp_file_write_size 256k; fastcgi_intercept_errors on; どんな助けでも大歓迎です。 編集:テストphpファイル「http://eman.id.au/test.php」から返されるヘッダーは次のとおりです。 HTTP/1.1 404 Not Found …
8 linux  nginx  php5  php-fpm 

1
nginxが何をしているかをどのように観察できますか?(解決するには:「1024 worker_connectionsでは不十分です」)
nginxで実行されている非常にトラフィックの少ないサイトで、4つのワーカーがあり、それぞれ1024の接続があります。 数時間ごとに「1024 worker_connectionsでは不十分」というエラーログが表示され、サイトの速度が低下したり、不安定になったりします。nginxの再起動により、次の数時間は問題が完全に解決されます。 明らかに奇妙なことが起こっています。アプリケーションの4k同時ユーザーにサービスを提供する方法はありません。 アクセスログ(正常に見える)を見る以外に、nginxが何をしているのかを詳細に観察する方法はありますか? 古い接続が開いたままになり、閉じられないという悪名高い設定の組み合わせはありますか? ありがとう。 編集 このルックス権利はありません # lsof |grep nginx |grep CLOSE_WAIT |wc -l 1271
8 nginx  lsof 

2
nginxリバースプロキシ、キャッシュとストアを使用する場合
プロジェクトのWebスタックを次のように再構築している最中です:nginx-> haproxy->多くの(apache / passenger rails)インスタンス 目標のいくつかは次のとおりです。 ページキャッシュの単一の場所(現在、各Apacheマシンのレールを介して行われています) より高速な静的コンテンツ 内部パイプラインからSSLを削除する ip logging(以前はtcpモードでhaproxyを実行したために失われました) 画像/スタイルシート/ JavaScriptアセットは、適切なヘッダーとともにキャッシュキャッシュされます。ページキャッシングは内部パラメーターに基づいており、一般的なキャッシュコントロールに応答するべきではありません。これらの目的を達成するために、構成は次のようになります。 server { ... location /really_slow_dynamic_content/ { root /var/www/tmp; error_page 404 = @fetch; } location @fetch { internal; proxy_pass haproxy_ip; proxy_store /var/www/tmp${uri}_cache.html; proxy_store_access user:rw group:rw all:r; } location /assets/ { proxy_pass haproxy_ip; proxy_cache assets; } location / { …
8 nginx 


5
Nginx + Apache末尾のスラッシュリダイレクト[終了]
閉まっている。この質問はトピックから外れています。現在、回答を受け付けていません。 この質問を改善してみませんか? サーバー障害のトピックになるように質問を更新します。 5年前休業。 私がしているNginxサーバが上で実行されている80にプロキシとして動作中のポートApache 2.2をリッスンしています127.0.0.1:8080 アクセスするhttp://hostname/subfolder/とうまくいきます。 アクセスhttp://hostname/subfolderするhttp://hostname:8080/subfolder/と間違った方向にリダイレクトされます。 私が見る限り、間違ったリダイレクトはApacheによって返されますがUseCanonicalName、UseCanonicalPhysicalProxy両方ともに設定されていますOff それを修正する方法に関するアイデアはありますか?

4
nginxサブドメインの書き換え
さらに別のnginx書き換えルールの質問 からhttp://www.*.domain.comに書き換える方法を教えてくださいhttp://*.domain.com。 前もって感謝します -Deb 編集: テキスタイルフォーマットが質問から*を削除していないのを確認できなかったのは残念です。今直した。私がする必要があるのは、www.joe.domain.comからjoe.domain.comに行くことです。
8 nginx  rewrite 

1
POSTのみのNGINX基本認証
Mercurialリポジトリを提供するようにnginxを設定しています。基本認証をまったく使用しない場合、または基本認証をすべて使用する場合に機能します。 私がやりたいのは、POSTリクエストで基本認証を使用することです。そのため、誰でもプルアクセスできますが、認証されたユーザーのみがプッシュできます。 私は以下を試しました、 if ($request_method = POST) { auth_basic "Restricted"; auth_basic_user_file /path/to/userfile } しかし、「auth_basicディレクティブはここでは許可されていません」と文句を言います。 どうすればこれを解決できますか?

6
PHP-CGIが空白ページの提供を開始
PHP-CGIは、プロセスを再開するまで、明確な理由もなく空白ページの提供を開始しました。 なぜか知りたい。 残念ながら、PHPの「本番」設定ファイルにはデフォルトでerror_logがありません。NginxのエラーログにもPHPに関連するエラーは表示されませんでした。これはおそらく絶望的なケースですが、念のためお願いします。 これが私のセットアップです Nginx 0.8.2 PHP 5.2.6-3ubuntu4.1とSuhosin-Patch 0.9.6.2(cli)(ビルド:2009年4月23日14:37:14) PHP APC 3.0.19-2 spawn-fcgi v1.6.2(ipv6)-lighttpdのfastcgiラッパー エラーの原因となった可能性のあるアイデアはありますか? 更新 私は問題を切り分けたと思います。私は、Monitを使用して、PHPがブランキングを開始するたびに自動的に再起動しました。PHPエラーログが空白です。 しかし、WP-SuperCacheというWordpressプラグインを無効にすると、PHPが約10時間ごとにリセットされなくなることがわかりました。これまでのところ、私のPHPは3日間実行されています。誰かこれについて何か提案はありますか?

2
Passengerを使用する際にRailsでApacheを介してNginxを使用する場合の長所と短所は何ですか
ロックされています。質問はトピックから外れていますが、歴史的に重要であるため、この質問とその回答はロックされています。現在、新しい回答や相互作用を受け入れていません。 Passengerは最近Nginxのサポートを取得しました。RailsアプリケーションのWebサーバーとしてのApacheと比べて、Nginxの長所と短所は何ですか?


1
nginx-グローバルエラードキュメントを構成できますか?
私はたくさんのserver {}ブロックを持つnginx構成を持っています。それらの間でエラーページを共有したいのですが、それらの多くは異なるドキュメントルートを持っています。私は次のような設定を使用できます error_page 404 /404.html; error_page 500 502 503 504 /50x.html; サーバーブロックの外で共有されますが、同じドキュメントをすべてのルートに配置するか、次のようなルールを設定する必要があります location = /404.html { root /srv/http/errors; } location = /50x.html { root /srv/http/errors; } 私のすべてのサーバーブロックで。 ファイルシステムに何度も何度も何度もコピーしたりせずに、これらのドキュメントを共有する方法はありますか?
7 nginx 

2
NginxにHTTPS経由で不明なサーバー名を拒否させる
Sginを使用して単一のIPから複数のHTTPSドメインを提供するNginxインスタンスがあります。 セットアップの唯一の不具合は、サーバーのベアIPのURL、または対応するHTTPSサーバーブロックがないIPにリストされているドメインが要求されると、Nginxが最初の(デフォルトとして動作する)ドメインで応答することです。この場合、単純に標準の403 Forbiddenを返すほうを好みます-これを行うためにデフォルトのサーバーブロックを設定しますが、クライアント証明書の不一致の警告を回避する方法がわかりません。 (どのようにc | C)ブラウザを混乱させる特定のssl証明書を指定する必要なしに、そのような未知/未定義のドメインへのリクエストを拒否するようにNginxを設定しますか?(つまり、「悪い」証明書でクライアントを混乱させる前に、403でNginxがリクエストを拒否する必要があります-クライアントのPOVから、これはHTTPSサーバーブロックがまったく定義されていない場合と同じです。)
7 nginx  https  sni 

2
PuppetエージェントからPuppetマスター(nginx / ruby​​1.9で実行)SSL証明書の問題
私は2つのマシン、パペットマスター(ホスト名)と1つのpuppetクライアント(ホスト名)を持っていますgit。マスターマシン上のパペットエージェントは問題なく動作します。上のエージェントgitは「400 No required SSL certificate was sent」で失敗します。最初に、シン/ nginx事件であるパペットマスターの設定: puppet:~# ruby -v ruby 1.9.2p0 (2010-08-18 revision 29036) [i486-linux] puppet:~# puppet --version 2.7.9 puppet:~# cat /etc/nginx/sites-enabled/default server { listen puppet:8140; ssl on; ssl_certificate /var/lib/puppet/ssl/certs/puppet.pem; ssl_certificate_key /var/lib/puppet/ssl/private_keys/puppet.pem; ssl_ciphers ALL:-ADH:+HIGH:+MEDIUM:-LOW:-SSLv2:-EXP; ssl_client_certificate /var/lib/puppet/ssl/ca/ca_crt.pem; ssl_verify_client on; proxy_redirect off; proxy_set_header Host $host; proxy_set_header X-Real-IP $remote_addr; proxy_set_header X-Forwarded-For …
3 nginx  ssl  puppet  thin 

1
Apache Benchmarkはパブリックネットワークからは低速で、ローカルでは高速です。これを高速化するために私がすることは何ですか?
私は自分のLinode Ubuntu 14 64ビットサーバーをテストしています。これは、それらから入手できる最も基本的なサーバーです。Apache Benchmarkを使用してサーバーをテストしているほか、Pythonで記述したマルチスレッドスクリプトを使用していますが、これについては後で詳しく説明します。ABを使用すると、サーバー自体からローカルに実行すると1秒あたり約7kの要求がありますが、別のネットワーク/インターネットから実行すると約15になります。応答時間は、ローカルでの1000の同時接続の場合、約150ミリ秒です。リモートでは、100の同時接続の場合、応答時間は約1.5〜2.5秒です。リモートテストを実行しているネットワークには十分な帯域幅があり、実行しているコンピューターには十分なRAMとプロセッサ速度があります。それは高速なビジネスネットワークです。私は他の2台のコンピューターで、米国中の他の2つのネットワークを試しましたが、速度はほぼ同じです。 マルチスレッドスクリプトを実行しているときに、100を超える同時要求を試行するとすぐに一時中断します。これは外部ネットワークからのものです。サーバー上のPythonを3+にアップグレードするか、スクリプトを2.7互換に変更する必要があるため、サーバー上でスクリプトをローカルでまだ試していません。これをローカルでテストし、最大1000個のマルチスレッド接続でスクリプトを実行すると、150ミリ秒の応答時間が得られました。これは、単にurllib2を使用しているだけです。 私はこれを直接nginx(静的ファイル)、nginxの背後にあるpywsgiアプリ、およびpywsgiに対して直接テストしています。pywsgiアプリには、基本的な応答で応答する単純なルートがあるため、高速になります。驚くことではありませんが、nginx-> pywsgiが最良の結果を提供します。これは、おそらくリクエストをバッファリングする方法が原因です。この問題を引き起こしているLinodeのネットワークに固有の何かがありますか?内部テストと外部テストの桁違いの違いにより、何が原因であるのか疑問に思います。唯一の方法は、http / sとsshでフィルタリングするiptablesファイアウォールだけです。 dmesgには、私のテストに関する情報はありません。

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