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

Nginx( "エンジンx")は、BSDライクなライセンスの下でリリースされたWebサーバー、リバースプロキシ、TCPストリームプロキシ、およびメールプロキシです。


5
GridFSは、本番環境で十分な速度と信頼性を備えていますか?
新しいWebサイトを開発し、通常のファイルシステムストレージと比較して多くの利点があるため、すべてのユーザーアップロードのストレージとしてGridFSを使用したいと思います。 nginxが提供するGridFSのベンチマークは、nginxが提供する通常のファイルシステムほど高速ではないことを示しています。 nginxのベンチマーク すでに実稼働環境でGridFSを使用している人、または新しいプロジェクトに使用する人はいますか?
86 mongodb  nginx  gridfs 

6
Nginxをアップストリームプロキシとして使用するようにDockerポートマッピングを構成するにはどうすればよいですか?
アップデートII 今は2015年7月16日で、状況は再び変わりました。Jason Wilderからこの自動魔法のコンテナを発見しました: https://github.com/jwilder/nginx-proxyそしてそれdocker runはコンテナにかかる限りでこの問題を解決します。これが、この問題を解決するために使用しているソリューションです。 更新 今は2015年7月で、Dockerコンテナのネットワーク化に関して状況は劇的に変化しています。現在、この問題を(さまざまな方法で)解決するさまざまな製品があります。 この投稿を使用してdocker --link、サービスディスカバリへのアプローチの基本を理解する必要があります。これは、基本的なものであり、非常にうまく機能し、実際には他のほとんどのソリューションよりも派手なダンスを必要としません。特定のクラスター内の別々のホストでコンテナーをネットワーク化することは非常に困難であり、一度ネットワーク化するとコンテナーを再起動できないという制限がありますが、同じホスト上のコンテナーをネットワーク化するための迅速で比較的簡単な方法を提供します。これは、この問題を解決するために使用する可能性のあるソフトウェアが実際に内部で何をしているのかを知る良い方法です。 さらに、Dockerの初期のnetwork、Hashicorpのconsul、Weaveworks weave、Jeff Lindsayのprogrium/consul&gliderlabs/registrator、およびGoogleのもチェックすることをお勧めします。Kubernetes。 そこもだCoreOSの利用供物etcd、fleetとflannel。 そして、あなたは本当にあなたが実行するには、クラスターをスピンアップすることができパーティーしたい場合Mesosphere、またはDeis、またはをFlynn。 (私のように)ネットワーキングに不慣れな場合は、老眼鏡を取り出し、Wi-Hi-Fiで「PaintThe Sky With Stars — The Best of Enya」をポップして、ビールを割る必要があります。何をしようとしているのかを正確に理解する少し前に。ヒント:にを実装しようとしService Discovery LayerていますCluster Control Plane。土曜日の夜を過ごすのにとてもいい方法です。 それは楽しみがたくさんですが、私はダイビングの直前に、一般的にネットワーキングについてのより良い自分自身を教育するために時間を取らよかっ私は最終的には慈悲深いデジタルオーシャンチュートリアルの神々からのカップルの記事を見つけました:。Introduction to Networking TerminologyとUnderstanding ... Networking。ダイビングする前に、まずそれらを数回読むことをお勧めします。 楽しんで! 元の投稿 Dockerコンテナのポートマッピングがわからないようです。具体的には、同じサーバー上の別のポートでリッスンしているNginxから別のコンテナーにリクエストを渡す方法。 私は次のようなNginxコンテナ用のDockerfileを持っています: FROM ubuntu:14.04 MAINTAINER Me <me@myapp.com> RUN apt-get update && apt-get install -y htop …
86 nginx  docker 

4
Goのウェブサーバーの前でNginxを使用する利点は何ですか?[閉まっている]
クローズ。この質問は意見に基づいています。現在、回答を受け付けていません。 この質問を改善したいですか?この投稿を編集して、事実と引用で回答できるように質問を更新してください。 4年前に閉鎖されました。 この質問を改善する 多くのユーザーがいるJSONデータを返すWebサービスをいくつか書いています。 go httpサーバーを使用する場合と比較して、サーバーの前でNginxを使用する利点は何ですか?

4
force_sslはRailsで何をしますか?
前の質問で、nginx sslターミネーションを設定し、Railsに暗号化されたデータを処理させないようにする必要があることがわかりました。 では、なぜ次のものが存在するのでしょうか。 config.force_ssl = true これは本番構成ファイルでコメントアウトされています。しかし、私のrailsアプリが暗号化されたデータを処理しないように、nginxがすべてのSSLを処理することが期待されている場合、どうしconfig.force_ssl = trueますか? 常にnginxを使用することがわかっている場合は、本番環境でコメントアウトしたままにしておく必要がありますか?

3
Dockerポートへのvhostの割り当て
カスタムドメイン(* .foo)へのすべてのWebリクエストがDockerホストのIPアドレスにマップされるように、ワイルドカードDNSを設定しています。Apache(またはNginx)インスタンスを実行している複数のコンテナーがある場合、各コンテナーはApacheポート(80)をいくつかの外部インバウンドポートにマップします。 私がやりたいのは、カスタムDNSサーバーを介して(Dockerホストの)正しいIPアドレスに既にマップされているcontainer-1.fooにリクエストを送信することですが、デフォルトのポート80リクエストを正しいDocker外部にプロキシします指定されたコンテナからの正しいApacheインスタンスがカスタムドメインに基づいて応答できるようにポートします。同様に、container-2.fooは2番目のコンテナのapacheにプロキシします。 これに対する事前に構築されたソリューションはありますか、DockerホストでNginxプロキシを実行するのが最善の策ですか、それともDockerコンテナを管理する可能性のあるnode.jsプロキシを作成する必要があります(Web経由で開始/停止/再構築) )、または...?Dockerコンテナーをより自然なイベントのように使用し、無関係なポートやコンテナーのジャグリングを使用しないようにするためのオプションはありますか?
83 nginx  proxy  dns  docker 

4
ApacheのSetEnvに似たNginx変数?
ApacheでSetEnvを使用して、PHPでを使用して回復する仮想ホストにいくつかの変数を設定し$_SERVER[the_variable]ます。 現在、Perl CatalystとNginxに切り替えていますが、Nginxの「env」ディレクティブは同じではないようです。それは動作しません。どうすればそれを達成できますか? これは、誰かがより良いアプローチを提案できる場合や、以前のシステムがNginxで機能しない場合に備えて、背景画像です。 私は多くのドメインで同じアプリを使用しています。すべてのデータは、同じ構造の異なるデータベースから取得されます。 データベース名は、その環境変数で仮想ホストにハードコードされています。 私がデータベース名を知っているように、すべてのクエリは最初のクエリから適切なデータベースに送られます。 同じ変数をディレクティブに含めるだけで、同じデータベースを使用して複数のドメインを持つことができます。
82 apache  perl  nginx  catalyst 

6
ちょっと「ファイルブラウザ」モードを有効にするようにnginxを設定するにはどうすればよいですか?
以前にURLを入力したときにこれを見たhttp://test.com/test/ことがあれば、htmlページを表示する代わりに、指定された場所にあるすべてのファイルを参照するためのインターフェイスのような「ファイルブラウザ」が表示されます。 ロケーションコンテキストで有効にできるのはnginxモジュールかもしれないと思います。 nginx.confファイル: worker_processes 1; events { worker_connections 1024; } http { include mime.types; default_type application/octet-stream; sendfile on; keepalive_timeout 65; server { listen 80; server_name 122.97.248.252; location /test { root /home/yozloy/html/; autoindex on; } error_page 500 502 503 504 /50x.html; location = /50x.html { root html; } } } を更新します …
82 nginx 

4
gunicornとnginxを使用したDjangoのデプロイ
これは幅広い質問ですが、私は標準的な答えを得たいと思います。私が使用してサイトに展開しようとしているgunicornとnginxのでDjangoに。たくさんのチュートリアルを読んだ後、私は成功しましたが、私が従った手順が問題なくサイトを運営するのに十分であるか、あるいはそれを行うためのより良い方法があるかどうかはわかりません。その不確実性は迷惑です。 だから私は初心者のために非常に詳細でよく説明された答えを探しています。私が知っていることと私が知らないことをあまり説明したくありません。なぜなら、これは答えを少し歪める可能性があり、他の人々はあなたの答えからより少ない程度で利益を得る可能性があるからです。しかし、私が言及してもらいたいいくつかのことは次のとおりです。 どの「セットアップ」が最も効果的だと思いますか?virtualenvを使用して、Djangoプロジェクトをこの環境内に移動しましたが、仮想環境用のフォルダーとプロジェクト用のフォルダーがある別のセットアップを見ました。 複数のサイトを単一のサーバーでホストできるように設定するにはどうすればよいですか? なぜ一部の人が使用gunicorn_django -b 0.0.0.0:8000を提案し、他の人が提案するのgunicorn_django -b 127.0.0.1:8000ですか?後者をAmazonEC2インスタンスでテストしましたが、前者が問題なく機能している間は機能しませんでした。 nginxの設定ファイルの背後にあるロジックは何ですか?大幅に異なる構成ファイルを使用したチュートリアルが非常に多いため、どちらが優れているか混乱しています。たとえば、使用する人もいれば、を使用する人alias /path/to/static/folderもいroot /path/to/static/folderます。たぶん、あなたはあなたの好みの設定ファイルを共有することができます。 なぜ我々は間のシンボリックリンクを作成しますsite-availableとsites-enabledでは/etc/nginx? いくつかのベストプラクティスはいつも歓迎されています:-) ありがとう


3
nginx-アップストリームサーバーからカスタムヘッダーを読み取ります
nginxをリバースプロキシとして使用していて、アップストリームサーバー(Apache)の応答からカスタムヘッダーを読み取ろうとしていますが、成功しません。Apacheの応答は次のとおりです。 HTTP/1.0 200 OK Date: Fri, 14 Sep 2012 20:18:29 GMT Server: Apache/2.2.17 (Ubuntu) X-Powered-By: PHP/5.3.5-1ubuntu7.10 Connection: close Content-Type: application/json; charset=UTF-8 My-custom-header: 1 My-custom-headerから値を読み取り、それをif句で使用したいと思います。 location / { // ... // get My-custom-header value here // ... } これは可能ですか?前もって感謝します。


1
NGINX open()が失敗しました(20:ディレクトリではありません)hls vod with secure link module
HLSストリーミングのnginx設定に問題があります。私はkaltura nginx vodモジュールを使用してngx_http_secure_link_module、ストリームを保護するために追加しようとします。奇妙なことに、有効にすると404エラーが発生しますngx_http_secure_link_module(以下のログ)。これは、末尾にindex.m3u8が付いているファイルを見つけられないためだと思いますが、セキュアリンクブロックをコメントアウトすると、正常に動作します。 またlocation ~ \.m3u8$ {}、ブロック内にエイリアスを追加しようとしましたが、機能しませんでした。何が悪いのですか?ストリームを保護するには? 私のストリームリンク: https://stream.example.com/hls/c14de868-3130-426a-a0cc-7ff6590e9a1f/index.m3u8?md5=0eNJ3SpBd87NGFF6Hw_zMQ&expires=1609448340 私のNGINX設定: server { listen 9000; server_name localhost; # root /srv/static; location ^~ /hls/ { # the path to c14de868-3130-426a-a0cc-7ff6590e9a1f file alias /srv/static/videos/1/; # file with cors settings include cors.conf; vod hls; # 1. Set secret variable set $secret "s3cr3t"; # 2. …

2
nginxの場所でプレフィックスURLを書き換えます
このような私のnginx設定ファイル: server { listen 80; listen 443 ssl; server_name XXX.com; error_log /log/nginx/xxx.com_error.log; access_log /log/nginx/xxx.com_access.log main; root /data/www/; index index.php index.html index.htm; location ~ \.php$ { add_header X-Frame-Options SAMEORIGIN; fastcgi_pass 127.0.0.1:9000; fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name; include fastcgi_params; } } 以下を満たすためにnginxを設定する必要があります: URLが1の場合は、しない接頭辞を持っている「/api/mobile/index.php",and要求のポートは80で、HTTPS 2にリダイレクトURLが場合は、持っている接頭辞を」上に行く/api/mobile/index.php",just だから私は設定ファイルにコンテンツを追加します: location ~ ^(?!/api/mobile/index\.php).*$ { if ($server_port = "80") { …
10 php  nginx 

7
file_get_contentsが間違った結果を得る
更新 問題を解決して回答を投稿しました。ただし、私のソリューションは100%理想的ではありません。私はむしろのみ除去するであろうsymlinkからcacheとclearstatcache(true, $target)か、clearstatcache(true, $link)それは動作しません。 また、シンボリックリンクのキャッシュを最初から防ぐか、シンボリックリンクを生成した直後にキャッシュから削除します。残念ながら、私はそれで運がありませんでした。何らかの理由でclearstatcache(true)シンボリックリンクを作成しても機能しない場合でも、キャッシュされます。 私は私の答えを改善し、それらの問題を解決できるすべての人に賞金を喜んで授与します。 編集する clearstatcache実行するたびにファイルを生成してコードを最適化しようとしたので、シンボリックリンクごとに1回だけキャッシュをクリアする必要があります。何らかの理由で、これは機能しません。clearstatcacheがsymlinkパスに含まれるたびに呼び出す必要がありますが、なぜですか?私のソリューションを最適化する方法がなければなりません。 で使用PHP 7.3.5していnginx/1.16.0ます。file_get_contentsを使用すると、誤った値が返されることがありますsymlink。問題は、シンボリックリンクを削除して再作成した後、その古い値がキャッシュに残っていることです。正しい値が返されることもあれば、古い値が返されることもあります。ランダムに見えます。 私はキャッシュをクリアするか、キャッシュを防止しようとしました: function symlink1($target, $link) { realpath_cache_size(0); symlink($target, $link); //clearstatcache(true); } キャッシュを無効にしたくないのですが、file_get_contentsで100%の精度が必要です。 編集する 私のソースコードは長すぎて複雑であるため、投稿できません。問題を再現する最小限の再現可能な例(index.php)を作成しました。 <h1>Symlink Problem</h1> <?php $dir = getcwd(); if (isset($_POST['clear-all'])) { $nos = array_values(array_diff(scandir($dir.'/nos'), array('..', '.'))); foreach ($nos as $no) { unlink($dir.'/nos/'.$no.'/id.txt'); rmdir($dir.'/nos/'.$no); } foreach (array_values(array_diff(scandir($dir.'/ids'), array('..', '.'))) as …

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