Nginx

このエントリーをはてなブックマークに追加
190名無しさん@お腹いっぱい。:2014/03/06(木) 10:08:37.02
ドメインごとにログを分けるには自分でログファイルを作成しなきゃだめなんですよね?
パーミッションのオススメ設定は?
191名無しさん@お腹いっぱい。:2014/03/06(木) 10:32:01.76
特にない。
お好きなように。
192名無しさん@お腹いっぱい。:2014/03/10(月) 11:37:53.54
nginxモジュールをテスト含めて一本書いたけど、
日本語のドキュメントが全くなくて大変だった。。。
193名無しさん@お腹いっぱい。:2014/03/10(月) 12:39:33.19
日本語ドキュメントの作者が現われた瞬間である
194名無しさん@お腹いっぱい。:2014/03/10(月) 14:28:29.67
www
195名無しさん@お腹いっぱい。:2014/03/11(火) 00:30:26.86
ロシア語じゃないだけまし
196名無しさん@お腹いっぱい。:2014/03/11(火) 01:04:46.02
英語のドキュメントも割と少なくて困った。

設定ファイル中に埋め込まれるいわゆる変数ひとつとっても、
速度とのトレードオフで扱いが大変になっていたり、
英語苦手な俺が少ない英語ドキュメントで理解するのはきつかった。

日本語ドキュメントは圧倒的に英語力が足りないので、
理解に時間を要した箇所について、チラ裏程度にこっそり書いて行く予定。
197名無しさん@お腹いっぱい。:2014/03/11(火) 01:29:34.93
>>192
チェーンバッファの書き換えの正しいやり方について教えて下さい。
198名無しさん@お腹いっぱい。:2014/03/11(火) 02:42:38.01
>>197
レスポンス書き出しの時に何かと出てくるngx_chain_t構造体の事かな?
今回はアクセスフェーズに挟み込んで独自の認証を組み込むモジュールだったから、
レスポンス書き出しに関しては触れてないです。すみません。
199名無しさん@お腹いっぱい。:2014/03/11(火) 02:51:47.82
ちょっとコード確認してきましたが構造体を見る限り、
中身はngx_buf_tの単方向連結リストだから、
ngx_buf.h内に定義されてるマクロやら関数やらを使うのが正解なのかな?
(使いどころにもよるだろうけど)

というわけで圧倒的に知識不足でスマソ
200名無しさん@お腹いっぱい。:2014/03/11(火) 05:06:34.55
Cの文法理解したあとすぐにngixのソース読むのってきついですか?
201名無しさん@お腹いっぱい。:2014/03/11(火) 07:40:14.09
やってみたら。
202名無しさん@お腹いっぱい。:2014/03/11(火) 11:31:29.44
>>200
nginxのコードのすべて読み解くとかだったら根気が重要かなー

モジュール書くのに必要な箇所しか読んでないけど、
普段C言語触ってないような俺でもコードはすんなり読めたから、
nginxのコード自体は読みやすく出来てると思う。
203名無しさん@お腹いっぱい。:2014/03/11(火) 13:02:19.89
ありがとう
がんばってみます
204197:2014/03/11(火) 22:30:14.84
>>199

レスありがとうございます。
filterを作ってるのですが、絵鏡ガイドを見てもチェーンを追加する方法しか
書かれてなくて困っています。
入ってきたinチェーンを破棄し、書き換えた新チェーンにゴッソリ入れ替えて
も大丈夫なのでしょうか。
ちなみにApacheも同じチェーン構造をしているらしいのですが、Apacheも同じ
ように処理するのでしょうか?
205名無しさん@お腹いっぱい。:2014/03/12(水) 00:12:46.92
>>204
期待に添えるレスではないかもせれませんが、
まず、Apacheモジュールは作ったことがないのでわかりません。

chainの書き換えに関してはSERVER_REWRITEフェーズあたりにハンドルさせて、
Requestプールを指定したメモリ領域を使って、書換を行う分には問題は起きないように見えます。
ですが、実際に試したわけではないので確証は持てません。

 
206名無しさん@お腹いっぱい。:2014/03/13(木) 11:56:24.14
過疎人x
207名無しさん@お腹いっぱい。:2014/03/14(金) 00:07:47.45
handlerにてr->urlの書き換えを行ったのですが、 書き換え後のURLで再びhandlerが呼び出されて二重に処理が実行されてしまいます。 これを防ぐ手段はありませんでしょうか? よろしくお願いします。
208名無しさん@お腹いっぱい。:2014/03/14(金) 02:11:42.91
>>207
uri書き換え処理をNGX_HTTP_REWRITE_PHASEに登録したハンドラで行ってみてください。
209名無しさん@お腹いっぱい。:2014/03/14(金) 09:19:43.67
>>208 レスありがとうございます。
調べてみるとhandlerを通常のREWRITEフェーズとSERVER_REWRITEフェースに
二重に登録していました。

handlerのdirectiveはlocation内でcallされる仕様のため、
通常のREWRITEフェーズのみに絞るとうまくいきました。
ありがとうございます。
210名無しさん@お腹いっぱい。:2014/03/16(日) 22:47:10.72
GoogleのウェブマスターツールにあるエラーURL欄にスラッシュ無しのURLが表示されて困っています。
実際にアクセスするとエラーページが表示されます。

/yasai/daikon
( 本来のurlは /yasai/daikon/ )

自動でスラッシュを付けたいので
confファイルに

try_files $uri $uri/ =404;

を追記してアクセスしてみたのですが、404ページが表示されてしまいます。

80、8080 どちらの下に追加してもエラーが出ます。

どのように対処すればいいでしょうか?
211名無しさん@お腹いっぱい。:2014/03/18(火) 06:02:49.27
自己解決しました。
正規表現を使えばいいだけでした。
ハイフンの無い連続した英数字だけだったので以下を追記しました。

rewrite /yasai/([0-9a-z]*)$ /yasai/$1/;
212名無しさん@お腹いっぱい。:2014/03/21(金) 11:03:37.72
Basic認証を特定のリモートホストからは無効にするにはどうすればよいでしょうか?
213名無しさん@お腹いっぱい。:2014/03/21(金) 11:30:10.77
>>212

これでいいかな?

「nginx 一部のアドレスにbasic認証を掛けない。」
http://d.hatena.ne.jp/podhmo/touch/20110311/1299817584
214名無しさん@お腹いっぱい。:2014/05/09(金) 12:43:05.11
なんて発音してる?
エンジンエックスで伝わらなくて
ああ「んぎんくす のことかよ」とか言われたらやだよな
215名無しさん@お腹いっぱい。:2014/05/09(金) 12:52:38.66
公式がengine-xなんだからエンジンエックスだろ
216名無しさん@お腹いっぱい。:2014/05/24(土) 00:17:31.62
nginx [えんじんえっくす] は Igor Sysoev によって作られた HTTP とリバースプロキシのサーバで、メールプロキシサーバでもあります。
217名無しさん@お腹いっぱい。:2014/06/24(火) 13:13:50.74
「サイオステクノロジー、高速Webサーバー『Nginx』の商用版を7月販売」を読んで驚きました。
Nginxの伸びを改めて感じさせられたからです。

http://itpro.nikkeibp.co.jp/article/NEWS/20140617/564699/

 Webサーバーの世界で長く1位の座に座り続けてきたApacheはLinuxと並ぶオープンソース・ソフトの成功例だと
認識していたのですが、現実は変わり始めたようです。

上記記事には「オーストリアのQ-Successが提供するWeb技術の調査サービス『W3Techs.com』のレポートでは
記事執筆現在(2014年6月17日)、アクセス数上位1000サイトでの利用率はNginxが39.3%でApacheの33.8%を抑えて1位
アクセス数上位1万サイトでの利用率でもNginxが39.2%でApacheの39.2%と並ぶ」という一節がありました。

 果たしてこれからWebサーバーの世界はどうなっていくのでしょうか。NginxがWebサーバーの代名詞に変わるのか
Apacheが巻き返すのか、それとも第三の勢力が登場するのか。目が離せません。

http://itpro.nikkeibp.co.jp/article/COLUMN/20140617/564807/
218名無しさん@お腹いっぱい。:2014/06/25(水) 03:22:10.58
大分今更じゃね?日経だしそんなもんか。
まぁ日本で話題になるようになったのはつい最近な印象で
情報遅いなぁとは思ってたけど。
219名無しさん@お腹いっぱい。:2014/06/25(水) 04:27:42.03
そのわりには日本語情報が少ない
220名無しさん@お腹いっぱい。:2014/06/25(水) 12:42:15.69
こんなあからさまな捏造記事信じるやつ居るんだw

Nginx と Apache でシェア8割!?
すげーな!

Apache とシェア争いしてる IIS はどこ行ったの?
大量の google系のサーバーは無視?
泡沫サーバーという意味でお仲間の lighttpd は?

Nginxユーザーは頭の中お花畑だな
221名無しさん@お腹いっぱい。:2014/06/26(木) 13:14:18.06
>>220
データの真偽はともかく「アクセス数上位1000サイトでの利用率」と書いてあるのに
全世界のhttpサーバの話と勘違いして脊髄反射しちゃったのは何でなんだろうな?
222名無しさん@お腹いっぱい。:2014/06/26(木) 13:16:10.46
「google系のサーバー」ってどんなやつ?
223名無しさん@お腹いっぱい。:2014/06/26(木) 13:30:58.50
224名無しさん@お腹いっぱい。:2014/06/26(木) 13:37:52.63
>>223
ありがとう。
一般にはリリースされてないのね。
225名無しさん@お腹いっぱい。:2014/06/29(日) 00:49:22.69
ITpro編集長日記は記事の表面だけなぞってドヤ顔してるホント頭悪いページだな
理解浅いし話題遅いし編集部の評価を下げるだけのゴミ

元ネタ記事も低レベルの広告記事で参考リンクくらい貼れよと

Usage of web servers broken down by ranking
ttp://w3techs.com/technologies/cross/web_server/ranking

AlexaのポピュラーなWebサイトランキングとやらで対象を決めてるらしいが
サブドメインとかはシラネとか詳細不明で要するに中身はよく分からんw
ttp://w3techs.com/technologies

他の掲載データ

Usage of web servers for websites
ttp://w3techs.com/technologies/overview/web_server/all

Historical yearly trends in the usage of web servers for websites
ttp://w3techs.com/technologies/history_overview/web_server/ms/y

こういうのをエビデンスとか言い出すアホが出てくるとやっかいだが
ブラウザシェアと同様そんなのもあるんだと聞き流せるならいいんじゃね
226名無しさん@お腹いっぱい。:2014/10/03(金) 19:39:06.45
サーバ引っ越しのついでにapacheから乗り換えてみようかと思っています。
旧サーバに複数バーチャルがあり、ドメイン1つ以外はまだapacheのサーバに向いています。

ローカルマシンのhostsに設定すると、まだDNS解決していないドメインもアクセス出来るのですが
動作確認の為に自分以外にもアクセスしてもらう必要があり、
nginxに向いているドメインをaaa.com
apacheに向いているドメインをbbb.com、ccc.comとした場合
http://aaa.com/bbb
http://aaa.com/ccc
のような形でアクセスさせるにはどうしたらいいでしょうか
227名無しさん@お腹いっぱい。:2014/10/03(金) 19:42:13.65
いまのバーチャル用設定は下記の通りです。
server {
listen 80;
server_name aaa.com;
error_log /var/log/nginx/aaa.com/error.log warn;
try_files $uri $uri/ /index.php?q=$uri&$args;

location / {
root /var/www/vhosts/aaa.com/httpdocs;
index index.html index.php;
}

location /bbb/ {
alias /var/www/vhosts/bbb.com/httpdocs;
index index.html index.php;
fastcgi_pass unix:/var/run/php-fpm/php-fpm.sock;
fastcgi_index index.php;
fastcgi_param SCRIPT_FILENAME /var/www/vhosts/bbb.com/httpdocs/$fastcgi_script_name;
include fastcgi_params;
}

}
228名無しさん@お腹いっぱい。:2014/10/03(金) 19:46:49.82
ブラウザからaaa.com/bbbにアクセスすると404エラーを吐いて
エラーログに
2014/10/03 19:43:18 [error] 11496#0: *10 FastCGI sent in stderr: "Primary script unknown" while reading response header from upstream, client: 自分のIP
6, server: aaa.com, request: "GET /bbb/ HTTP/1.1", upstream: "fastcgi://unix:/var/run/php-fpm/php-fpm.sock:", host: "aaa.com"
と出ます。他には設定ファイルからではなくln -sででbbb.comのドキュメントルートにリンク貼ってみたりしましたが同じエラーが表示されました。
エラー回避方法または他の実現方法ありましたらご教示ください
229名無しさん@お腹いっぱい。:2014/10/03(金) 21:44:31.12
ディレクトリ以外の設定まったく同じにしてhtmlからやり直せ
230名無しさん@お腹いっぱい。:2014/11/09(日) 14:49:49.47
windows版もここで相談OKなのかな?
231名無しさん@お腹いっぱい。:2015/01/11(日) 21:53:41.64
複数のドメインで同じスクリプトを動かすために、
設定ファイルの「server_name」で正規表現を使ったのですが、
そうすると$_SERVER['SERVER_NAME']で取得できる値も、
正規表現で記述した内容に置き換わってしまいます。

$_SERVER['HTTP_HOST']なら正常にドメインを取得できましたが、
利用している外部ライブラリでも$_SERVER['SERVER_NAME']を
多用していたので、できれば$_SERVER['SERVER_NAME']のまま
元のドメインの情報を取得する方法はありますでしょうか?

「server_name_in_redirect」という設定があったので、
それを「off」にもしてみましたが、「on」でも「off」でも
取得できる値は変わりませんでした。

もし対処法が分かる方がいれば教えてください。
232名無しさん@お腹いっぱい。:2015/01/11(日) 22:02:54.33
別ドメインからのインラインフレームの呼び出しの禁止と
許可ドメインの設定に関して、
Apacheの.htaccessファイルでは以下のように記述して、
正常に動作していました。

Header set X-Frame-Options "SAMEORIGIN"
Header set X-Frame-Options "ALLOW-FROM http://hogehoge.com"

Nginxの設定ファイルでも同様に以下のようにしたのですが、

add_header X-Frame-Options "SAMEORIGIN";
add_header X-Frame-Options "ALLOW-FROM http://hogehoge.com";

別ドメインからの呼び出しは、許可したい「hogehoge.com」からも
含めて全部弾かれてしまいました。

許可ドメインを設定する方法ってこの記述ではないのでしょうか?
233名無しさん@お腹いっぱい。:2015/01/15(木) 20:36:35.44
クラウドフレアはエンジンXらしい
234名無しさん@お腹いっぱい。:2015/01/15(木) 21:31:08.71
「エンジンX」って表記されると何だかわからんな
235名無しさん@お腹いっぱい。:2015/01/15(木) 22:43:57.86
X-ウィンドウズ
236名無しさん@お腹いっぱい。:2015/02/06(金) 01:38:27.13
質問失礼します。
Nginx-rtmpにて、配信を行おうと思ったのですが、
テストという事で配信レート20Mbpsに設定、配信開始後
/str/data.zip を人物Aに転送した場合、20Mbps
/str/live   を人物Aに転送した場合、3Mbps
とRTMPライブストリーミングでの転送速度が極端に遅くなってしまいます。

なお、Twitch では速度低下することなく、問題なく配信できておりますので
RTMPプロトコル、アップロード側のプロバイダ規制はかかってないと考えています。

原因わかる方よろしくお願いします。
237名無しさん@お腹いっぱい。:2015/02/09(月) 08:10:20.12
リバースプロキシを使ってる時ってmemcachedがあまり役に立ってない気がするんですが、みなさんはどういうふうに分業させてますか?
238名無しさん@お腹いっぱい。:2015/03/02(月) 00:42:30.42
動画サイトのコンテンツをリバースプロキシでキャッシュしたいのですが、
キャッシュサーバを2台で冗長性を持たせるとキャッシュ効果も落ちてしまうのかなと思い、構成に悩んでいます。
たとえば2台のリバースプロクシのキャッシュを共有・同期する方法は有るのでしょうか?
それとももっと良い方法があったりするのでしょうか?
239名無しさん@お腹いっぱい。
頻繁にアクセスされるファイルならほっといても両方にキャッシュされるし、
たまにしかアクセスされないならキャッシュしてもあんま意味ないし、
同期なんかせず普通にしてればいいんじゃね?