Nginx
軽量かつ高性能なWebサーバ/リバースプロキシ/メールプロキシであるNginxと
その関連の話題を扱うスレッドです。
公式サイト
http://www.nginx.org/
nginx Wiki
http://wiki.nginx.org/ >>100
apacheを使わない方法は無いでしょうか? >>101
結局代わりに何か別のCGIサーバを入れることになるから
そのくらいなら慣れてるApacheでいいじゃん。 >>103
Apacheで要求性能を満たせるんならいいんじゃないですかねぇ……。 アレがやりたいからまるっと教えろとかゆー能無しってうざいよねw >>103
CGIを使う時はApacheを併用する方がいいって事ですね。
Apache = 悪
みたいな考えになってました。
ありがとうございます。 >>106
> CGIを使う時はApacheを併用する方がいいって事ですね。
そうは言ってないっしょ。 「Webアプリケーションは全てCGIである」という固定観念を捨てるところからだな
これがWebProg板になると「WebアプリケーションはCGIかPHPしかない」になってますます頭が痛いw CGIとPHP(サーバモジュール)は並べられるものだから正しくはあるんだろうけど…w 最近知りました!
wordpress用の設定方法載せてるページを参考にして、立ててみた
爆速過ぎる!!
ただ、リバースプロキシも立てたいんだが、ちょっと難しい‥
参考になるWeb教えてください
楽しいWebサーバだね!
もうちょいいじってみる >>111
以下の本で全て解決すると思う。
騙されたと思って本屋で立ち読みしてみるといい。
WordPress 高速化&スマート運用必携ガイド
http://www.amazon.co.jp/gp/aw/d/4844362526/ >>112
111です。ありがとう!
早速本屋いってみる! Nginx+php-fpmで既に動いているほぼ同構成の鯖から設定コピってきて
server_nameだけ変えて動かした
index index.php index.html と指定しててindex.phpがあるのに
/ を指定すると403が出る
散々頭ひねってるうちにserver_name指定を外して再起動させたら
/ で index.phpを参照するようになった
んで、もっかいserver_name指定をして再起動させても
/ で index.phpを参照する
どういうことなの…… myapp.example.comで受けてtomcatにproxy_passで渡してるんだけど、
URLがmyapp.example.com/myapp/ みたいになってしまう。
ディレクトリの myapp を消すにはどうしたらいい? Nginx、パフォーマンスいいって言うけど、Wordpress動かすためにphp-fpm立ち上げたりCGI動かすためにFastCGI立ち上げたりRails動かすためにunicorn使ってたりしたらけっきょくapacheの方がリソース少なくて済む、とかありえる? そうか、そりゃプロセス増えるもんなー。
ありがとう!
でもどれぐらいでどうパフォーマンスでるか試したいからやってみるわ!
むずかしい! >CGI動かすためにFastCGI立ち上げたり
えっ? >>119
なんか間違ってたらヒントだけでも下さいお願いします先輩 自分のサイトまだnginx/0.8.55のままなんだけど
1.4.0とか最新にしたらパフォーマンスが上がりますか? メモ:
Tengine
http://tengine.taobao.org/
# taobaoが開発しているnginxベースのwebサーバ 画像変換にngx_small_lightというモジュール見つけたけど、うまく動かねぇ。
コレ、結構良さげなんだけどなぁ。 Nginx入れてみたんですけどルートディレクトリって
root /usr/share/nginx/html
上記しか指定出来ないんですか?
バーチャルホストで運用しようと思って
ドメイン.confファイル作って違うディレクトリをルートディレクトリに指定したんですけど
[error] 11969#0: *1 "指定したディレクトリ/index.php" is forbidden (13: Permission denied), client: 192.168.2.113, server: ドメイン, request: "GET / HTTP/1.1", host: "ドメイン"
[error] 12016#0: *2 FastCGI sent in stderr: "Primary script unknown" while reading response header from upstream,
client: 192.168.2.113, server: ドメイン, request: "GET /owncloud/status.php HTTP/1.1", upstream: "fastcgi://127.0.0.1:9000", host: "ドメイン"
色々いじっても上記エラーのどちらかが出てうまく表示しないんです
ちなみにドメイン.confの内容は
http://pastebin.com/25Z9kxRX
こんな感じにしてます すいません自己解決しました
public_html〜のパーミッションは確認してたのですが
/home/webmaster〜部分のパーミッションの確認を怠っていました
初期状態で700になっていたのでchmod 755 webmasterで変更するとうまいこといきました そのエラーメッセージからどうして最初の質問に行き着くの?
Permission denied を見て0.5秒で原因わからんのなら
Nginx含めてUNIXサーバー触る資格ねーわ >>128
もちろんこのエラーからパーミッションの問題とは気付きましたが
127でも書いた通りちょっとした見落としでした
なぜそれで
>Permission denied を見て0.5秒で原因わからんのなら
>Nginx含めてUNIXサーバー触る資格ねーわ
ここまで言われなくてはいけないのでしょうか?
128さんはUNIXやNginxに始めて触れた時点で全ての機能や情報を網羅していたんですか?
誰でも最初は失敗→調べる→解決を繰り返してやっとまともに使えるようになって行くんだと思ってますが
間違ってますでしょうか? こんなつまらん煽りにマジレスしてる暇あったら勉強してろ >>128>>130
Perlスレから出てくるなよ CentOSの/var/www/html/aaaというフォルダにWebサイトのデータを置いたとします。
外部からアクセスさせるとき、 http://domain.com/aaa/ と http://aaa.domain.com/ の両方のURLでアクセスできるように設定したいです。
nginxでは、どのように設定すればOKでしょうか? server {
listen 80;
listen [::]:80;
server_name domain.com ;
location / {
root /var/www/html;
index index.html;
}
}
server {
listen 80;
listen [::]:80;
server_name aaa.domain.com ;
location / {
root /var/www/html/aaa;
index index.html;
}
} >>133 仕事早! どうもありがとうございます。 Nginxどんどんハッテンしてきているよね(´・ω・`) 昔よくあった、ホームディレクトリが~/のURLになる設定はできるんだけど、
ここでPHPを動かせないんでしょうか?
http://hogehoge.com/~user/test.php
みたいなものを動かしたいんです。 nginx リバースプロキシ設定直後は、
webpagetestの結果が劇的に改善されたんだけれども、
最近は、ファーストバイトがFに戻ってしまいました。
なんかメンテナンス必要なんですかね?
キャッシュをたまに削除しないといけないとかありますか?
(ちょっと話がずれますが、ブラウザでの大量のキャッシュで
ネットサーフィンのパフォーマンスが険しく下がったことがありましたので) 最近Nginx使ってくれって言われる事が多くなった
理由は、今っぽいかららしいww
Apacheとの動きの違いわかってて言ってるならわかるんだけどなーなんだかなー 「あの2ちゃんねるはApacheで十二分にアクセスをさばいていますよ
Nginxなんてお呼びじゃないですよ」で簡単に説得できそうだね >>141
アルファブロガー()の記事見せられてほら!ってwww
比較対象がApache2.2って同時期だとNginx0.1の頃じゃないか、、mod_*系てんこ盛り設定だしwww
Nginxはいいものだけど、お前がビルドしてメンテできんのかと担当者に問いたかった
いっそOpenBSDでも使うかwww >比較対象がApache2.2って同時期だとNginx0.1の頃じゃないか
は?Apache2.4出たの結構最近だよ?
2.2の時代って結構長かったよ? nginxは、低コストで数さばけるけど、早いわけじゃない印象
多分apacheも機能減らしてビルドし直せば変わるんじゃないかな
メモリに余裕があるなら、apacheの方が使いやすいと思う。 カツカツな環境ならApacheより少しは早いだろうけど
メンテナンス性を犠牲にしすぎ
1個試しでサービスインしたけど、もう2度と使わん >>145
よく言った
nginxの殲滅、Apache100%の世の中が来るまで戦うがいい 静的コンテンツならpublicfileのが速くないか? >>143
2.2.0は2005年くらいじゃなかった?
>>145
epelに入ってるってことは、RedHatの標準repoにもうすぐ入るのでは、、?
入ってくれないとメンテする気にならんよなぁ メンテナンス性を考えたら野良ビルドなんて基本的に唾棄すべき そうだな
野良ビルドという名の生肉を食う奴は全員腹を下して死ね
俺はお前らをバカにしつつ焼肉(ディストリ謹製のパッケージ)を堪能する
自分でコンパイルなんかする賎民とは違うんだよ ディストリビューションが用意したパッケージにさえ従えばいい
パッケージ化されてないソフトは信頼性がないので入れない
そのルールをぶち壊す奴は許してはいけない
Nginxから離れるけどPerlとかRubyとかで本体やモジュールを簡単にインストールするツールがあるのはほんと迷惑
あれも安定性を犯す有害なもの >>152
とはいえruby1.8.7は流石に辛いからなぁ
EL7はよ出て欲しい
それかruby19とかruby20とか追加して欲しいねぇ
>>153
すまん 自称情強が好んで使ってるイメージnginxって
10万以下のpvなら国内vps最低プランで適当にやって動くだろうに >>155
Apache卒業者向きな希ガス
Apacheじゃできない理由があればいいのだけれど。Mail Proxyとか publicfileなんて化石の名前久しぶりにみた。 なんか腐臭… いやもっと時間が経って爽やかな感じか.
奈良で家を建てようとすると遺跡ばっかりみたいなスレになってきたな apacheはソース読む気になれない
nginxならなんとか Node.js + socket.io で WebSocket のテストをしてるんだけど、
これ将来本番環境にデプロイすることになったら、フロントに nginx 使うことになるかなぁ 外部からのwebアクセスをrblの仕組みで制限することはできないでしょうか。
許可するIPアドレス群をrblみたいに定義して、それをホワイトリストで食わせるという風で
postfix だとrblでブラックもホワイトも自由自在ぽいのですが
webアクセスでもrblを利用したいのです locationごとの設定で、
$document_root
とかの変数に今何が入っているかを
ログに出力して確認したいんだけど
いい方法ある? >>166
ttp://ytsuda.hateblo.jp/entry/2013/06/13/212749
ggrks C10K問題どころかC1000KでもApacheで余裕な2chを見れば
nginxなど不要なことがわかる 同じサーバースペックで同等のアクセスを捌けるかって話でしょ 同時に100万アクセスってことだから別におかしくないよ 2chってApacheだったのか
nginxって結構使われてると思うんだけどこのスレあまり伸びないね いやーひどい閑古鳥だねぇw
2chの中の人が使いたがらないプロダクトだから2chユーザも忌避するのは当然か fastcgi_cacheを使ったらAPCは用済み?
fastcgi-wrapでCGIを動かしてる場合にCGIもキャッシュしてくれるなら
PHPにしか使えないAPCより便利だと思うんだよね。 う、うん・・・
99%静的コンテンツなのにリクエストの度にいちいち動的生成するお馬鹿CMS WordPress…
の高速化と称して APC で生成コンテンツをキャッシュする改造を組み込んで悦に入ってる
お馬鹿サンデープログラマー…
と proxy用キャッシュ、fastcgi用キャッシュ、と複数のキャッシュモジュールを場当たり的に追加する
お馬鹿Nginx の組み合わせならそうかもねー >>180
APCの行う中間コードのキャッシュと
fastcgi_cache のようなレスポンスのキャッシュは
一分効果がかぶることがあるとは思うが基本別物
あと、APC は変数を store して共有したりできるが
それを利用しているなら絶対に外せない。 nginx 1.5.10
ssl_verify_client on; にした時
ssl_session_cache off; にしないと初アクセスの数分後から"400 Bad Request"しか返さなくなります
解決策ご存知のかたご教授ねがいます reverse proxy として使用する場合、proxy_path で上位サーバを指定しますが、
上位サーバから取得したコンテンツの内容を書き換えるにはどうすればよいの
でしょうか? subモジュールを使えばいけるのでしょうか? Win版でautoindex onでファイル名に日本語含まれてるとアウトなのって解決不可能? ドメインごとにログを分けるには自分でログファイルを作成しなきゃだめなんですよね?
パーミッションのオススメ設定は? nginxモジュールをテスト含めて一本書いたけど、
日本語のドキュメントが全くなくて大変だった。。。 英語のドキュメントも割と少なくて困った。
設定ファイル中に埋め込まれるいわゆる変数ひとつとっても、
速度とのトレードオフで扱いが大変になっていたり、
英語苦手な俺が少ない英語ドキュメントで理解するのはきつかった。
日本語ドキュメントは圧倒的に英語力が足りないので、
理解に時間を要した箇所について、チラ裏程度にこっそり書いて行く予定。 >>192
チェーンバッファの書き換えの正しいやり方について教えて下さい。 >>197
レスポンス書き出しの時に何かと出てくるngx_chain_t構造体の事かな?
今回はアクセスフェーズに挟み込んで独自の認証を組み込むモジュールだったから、
レスポンス書き出しに関しては触れてないです。すみません。 ちょっとコード確認してきましたが構造体を見る限り、
中身はngx_buf_tの単方向連結リストだから、
ngx_buf.h内に定義されてるマクロやら関数やらを使うのが正解なのかな?
(使いどころにもよるだろうけど)
というわけで圧倒的に知識不足でスマソ Cの文法理解したあとすぐにngixのソース読むのってきついですか?