Nginx
軽量かつ高性能なWebサーバ/リバースプロキシ/メールプロキシであるNginxと その関連の話題を扱うスレッドです。 公式サイト http://www.nginx.org/ nginx Wiki http://wiki.nginx.org/ nginxが史上4番目となる1/3以上のシェアに到達 - Netcraft調査 2019/07/31 07:15 後藤大地 https://news.mynavi.jp/article/20190731-867785/ Netcraftは7月26日(米国時間)、「July 2019 Web Server Survey|Netcraft」において、 2019年7月におけるWebサーバのシェア調査の結果を伝えた。 2019年7月はnginxがさらにシェアを広げ、34.59%に到達した。これで、nginxはWeb全体の 3分の1以上のサイトで使われていることになる。3分の1を超えたWebサーバはNetcraftの 計測史上4番目とされている。 Netcraftは1995年8月からWebサーバ調査を開始している。24年間にわたってWebサーバの 計測を続けており、最初に3分の1以上のシェアを獲得したのはNCSA。NCSAはすぐにApacheに その座を奪われ、Apacheは1996年6月には3分の1以上のシェアに到達している。その後、 Apacheは2016年2月まで3分の1以上のシェアをキープした。 ApacheはMicrosoft IISに置き換わる形でシェアを失い、Microsoft IISが3分の1以上の シェアを獲得。Microsoft IISは2019年1月に3分の1以上のシェアを失い、2019年7月には nginxが3分の1以上のシェアに到達したことになる。 nginx初心者です。 domain.comにはアクセス出来るのですが、www.domain.comにするとアクセス出来ません。 これはDNSの設定がおかしいのでしょうか、それともnginx側の問題でしょうか sites-enable内のdomain.comファイルにはきちんとserver_name domain.com www.domain.com と書いてあります。 どうか助けてください。 それを切り分けできないレベルの人が来るスレじゃないよ >>371 初心者なのですみません。 切り分けってどことどこを切り分けたらいいのでしょうか? テンパってるかも知れないけど、 冷静になって探ってみ? この流れでだいたいわかるでしょ? 普通に解決しました dns側でcnameを忘れてた systemctl status nginxで見てみるとActive: failed (Result: exit-code)になってて動いてない だがドメインにアクセスするとサイトが表示される(キャッシュとかではない) んでnetstatやるとちゃんとnginxが80とか443でリッスンしてやがるの でもsystemctlじゃfailedになってて気持ち悪いったらありゃしない certbotやるときに一回stopさせてからinactive状態だった辺りがきっかけになってるような感じもする journalctl見たりsystemctl --failed見たがよくわからんかった 助けてえrい人 systemctl --failed UNIT LOAD ACTIVE SUB DESCRIPTION ● nginx.service loaded failed failed A high performance web server and a reverse proxy server LOAD = Reflects whether the unit definition was properly loaded. ACTIVE = The high-level unit activation state, i.e. generalization of SUB. SUB = The low-level unit activation state, values depend on unit type. 1 loaded units listed. Pass --all to see loaded but inactive units, too. To show all installed unit files use 'systemctl list-unit-files'. systemctl status nginxで見てみるとActive: failed (Result: exit-code)になってて動いてない だがドメインにアクセスするとサイトが表示される(キャッシュとかではない) んでnetstatやるとちゃんとnginxが80とか443でリッスンしてやがるの でもsystemctlじゃfailedになってて気持ち悪いったらありゃしない certbotやるときに一回stopさせてからinactive状態だった辺りがきっかけになってるような感じもする journalctl見たりsystemctl --failed見たがよくわからんかった ずっと困ってる ふわっとした精神論っぽいのじゃなくてちゃんとしたアドバイスくれる方もとむ systemctl --failed UNIT LOAD ACTIVE SUB DESCRIPTION ● nginx.service loaded failed failed A high performance web server and a reverse proxy server LOAD = Reflects whether the unit definition was properly loaded. ACTIVE = The high-level unit activation state, i.e. generalization of SUB. SUB = The low-level unit activation state, values depend on unit type. 1 loaded units listed. Pass --all to see loaded but inactive units, too. To show all installed unit files use 'systemctl list-unit-files'. Apache でも動いてるのでは?Linuxだったら、 sudo lsof -i:80 で何が動いてるかみてみては? >>379 それがnginxが動いてるんです・・・ つまり、systemctlで確認するとfailedなのにlsofで80を占領してるプロセスはnginxのもので もうなにがなんやらって感じですごい気持ち悪いです サイトにアクセスしてもちゃんと表示されるんですけどね COMMAND PID USER FD TYPE DEVICE SIZE/OFF NODE NAME nginx 22882 root 8u IPv4 1051405 0t0 TCP *:http (LISTEN) nginx 22891 www-data 8u IPv4 1051405 0t0 TCP *:http (LISTEN) COMMAND PID USER FD TYPE DEVICE SIZE/OFF NODE NAME nginx 22882 root 9u IPv4 1051406 0t0 TCP *:https (LISTEN) nginx 22891 www-data 9u IPv4 1051406 0t0 TCP *:https (LISTEN) とりあえずサーバーを再起動させて無理やり直しました 今後同じ症状が出たときのためにも回答やアドバイスは継続して受け付けたいです nginx/error.log は一切見てないのか 79.26.194.187 - admin [13/Oct/2019:12:40:50 +0000] "POST /editBlackAndWhiteList HTTP/1.1" 444 0 "-" "ApiTool" 88.6.145.23 - admin [13/Oct/2019:18:16:45 +0000] "POST /editBlackAndWhiteList HTTP/1.1" 444 0 "-" "ApiTool" 96.58.45.5 - admin [13/Oct/2019:21:49:01 +0000] "POST /editBlackAndWhiteList HTTP/1.1" 444 0 "-" "ApiTool" 209.141.34.34 - admin [13/Oct/2019:22:07:47 +0000] "POST /editBlackAndWhiteList HTTP/1.1" 444 0 "-" "ApiTool" 175.143.81.87 - admin [14/Oct/2019:02:19:30 +0000] "POST /editBlackAndWhiteList HTTP/1.1" 444 0 "-" "ApiTool" 114.32.5.51 - admin [14/Oct/2019:02:54:11 +0000] "POST /editBlackAndWhiteList HTTP/1.1" 444 0 "-" "ApiTool" IP直アクセスには全部444にするようにしてるんだが、このログってbasic認証突破されてるやばいログか? なんかログ眺めてたらadminとかあってマジで震えが止まらん basic認証なんかやってないはずなんだが とりあえず怖いからカスタムlogformat作ってリクエストボディも記録するようにしといたお・ 連続ですまない こいつらのIP調べたらabuseのってたりして明らか怪しい攻撃者なのは間違いない あとerrorログとかも含めて直近のログgrepしたが他にこいつらのアクセスしたログは残ってなかった ログレベルなんだが明示的にはなにもしてしてない(warnとかそういうやつ)状態なんだがデフォルトはwarn? ログ内の$remote_user部分にadminって書いてあるから、adminでログイン後にいじられてるのかと思ったんですが、、 RequestHeader 見てみるとか nginx なら modsecurity3 がお手軽かな すまん早とちりだったorz 自分でcurl -u user:user -k https://localhost/ やってみたらログこうなったわ 127.0.0.1 - user [14/Oct/2019:18:35:39 +0000] "GET / HTTP/1.1" 403 162 "-" "curl/7.58.0" 多分認証突破してなくてもremote_userには試行したユーザー名が出るのか・・・? 何か誤解があったら教えてほしい >>388 modsecurity入れてみるかな fail2banも導入しようと思う ===> nginx-1.16.1_11,2 has known vulnerabilities: nginx-1.16.1_11,2 is vulnerable: NGINX -- HTTP request smuggling CVE: CVE-2019-20372 WWW: https://vuxml.FreeBSD.org/freebsd/c1202de8-4b29-11ea-9673-4c72b94353b5.html rootのパス/usr/share/nginx/htmlを/usr以外の場所を指定したいんですが /usr以下のパスを指定しないとphpのファイルにアクセスしたときにfile not foundになります。 原因は何が考えられますでしょうか? default.confの中身です http://codepad.org/2BuCy3S9 いまから学ぶなら何の本orサイトがおすすめですか?apacheをちょっと触ったことがある程度の基礎知識しかありません。 自分でUbuntuかなんかにインストールして使ってみればいいでしょ nginx実践ガイド nginx実践入門 あたりですかね、最新ではないですけど Nginxの公式ブログやドキュメントを読むのがいいよ。 質問です。 Debian OSでDjangoのフレームワークを使っていて Webサーバーは内蔵のものではなく Nginx uwsgiを使いたいたく正常に起動はしているが localhost/8000で接続出来ません! ImportError at / Cannot import name path と出てしまいます。 Pythonのバージョンは3を使ってるのに エラーメッセージにはPython Version 2.7.16と でてしまいます。 どうしたらDjangoでNginxサーバーを使えるでしょうか? 質問です。 Debian OSでDjangoのフレームワークを使っていて Webサーバーは内蔵のものではなく Nginx uwsgiを使いたいたく正常に起動はしているが localhost/8000で接続出来ません! ImportError at / Cannot import name path と出てしまいます。 Pythonのバージョンは3を使ってるのに エラーメッセージにはPython Version 2.7.16と でてしまいます。 どうしたらDjangoでNginxサーバーを使えるでしょうか? すみません!ページ読み込むと再度書き込みされてしまいます・・・ >>401 そんなレベルの質問では、 > Nginx uwsgiを使いたいたく正常に起動はしているが そもそもソフトウェアアプリケーションが 本当にNginxで正常に起動しているか、怪しいので、 Nginxで uwsgi のみならず、 一般的に、Webサーバ上で外部ソフトウェアアプリケーションが どう動いているか、基本的なことを勉強してください。 質問です。 Djangoでnginxサーバーを使ってサイトを公開したい場合はvar/www/htmlにテンプレートファイルを置くんですか? それともアプリケーションファイルごと置くんですか? 外部からサイトを見る場合はDNSはどうやって設定したらいいですか? それともetc/httpdの設定ファイルの DocumentRootをDjangoのアプリのパスに変更すれば よろしいでしょうか? マルチするなと言う人がいますが まだ回答を待たないといけないんですか? マルチするなというなら、まずは自分が 迅速に質問に答えてください。 それが出来ないなら仕切る権限はありません。 回答期限を設けさせてもらいますね。 本日の17時までです。 それまでに回答がなければ他スレで質問しますし 今後はマルチに対して一切文句を言わないでください。 答えることもできない能力の低いあなたには その資格がありません。 やっぱりApacheの方がいい気がしてきた。 スレ過疎ってるし人気ないんだね。 nginxやめちゃおうかな〜 Apacheだろうが、Nginxだろうが、h2oだろうが、 どのWebサーバでも、Djangoアプリケーションを アプリケーションサーバで動かすのは、結局同じだけどなw 基本的なことが分からないかぎり、 何を使っても、同じところで困ると思いますが、 まっ、がんばってください。 >>411 本屋でNginxの入門書を見たんですが 自分にはかなり難しい内容に感じまして Webサイトを作るのにNginxの本を一冊、 読むことは必要なんですか? すごく遠回りな気がするのですが ネットで調べてもよく分からないし とりあえず読んでみるしかないのでしょうか・・・ >>414 >自分にはかなり難しい内容に感じまして ということは >すごく遠回りな気がするのですが もっと遠回りが必要ということでしょう カレー皿が欲しいぜってのに反射炉の建て方から学んでるような気がするけど、どんなWebサイトを作ろうと学んでんだろうか。 >>417 それなんですよ! Webサイト作るのにネットワークエンジニアみたいな 知識がいるのかどうかって・・・ 確かに出来ることなら熟知しておきたいですけど htmlとかcssとかSQLも勉強しないといけないし どこから手をつけたらいいのやら・・・ 何を作りたいか考えていたら、いつ思いつくか 分からないので勉強しながら可能性を探り 考えようかと。 >>416 Nginxではなくてネットワークの基本からでしょうか・・・ >>415 自分は読書スピードが遅くて1日に3ページから5ページくらいまでしか読めないんですけど 速読が出来る人って全部頭に入っているんですか? 1日に一冊読めたとしても頭に全部入ってなければ 無駄な労力ですよね? それだったら1日1項目でも確実に習得した方がいいかと・・・ なので一冊を読むのに何ヶ月もかかってしまうので 3冊くらいを並行して読んでいっています。 今後どのように進むのかは知らないが httpとは何かとかそれ以前に 通信って何? から学んだ方が良いと思うよ 今じゃなくて今後の事だけどな >>420 何かしらのWebアプリを作りたいのですが ショッピング、動画や画像投稿、コミュニティサイトと何をしても後追いなので、まだ進路が見えません・・・ ブログだったら既にあるプラットフォームを使った方が人目にふれると思うので。 ただ今は全体像を掴めたらいいなと思いますが 1人でサイト運営してる人はアイコンやら画像調整やらでフォトショやイラレも使いこなしているのでしょうか・・・ 自分は電気系の学校行ってたわけじゃないので 通信や電子の基礎的なこともおいおい勉強しなければとは思っていました。 半導体の本も少し見ましたが何が何だか分かりません。微分積分やら数式が分からないとチンプンカンプンですね。 「wordpress」あたりから勉強すりゃええんでねえ?知らんけど。 nginxのproxy cacheとphp-fpmでWordPressのサイトを運営しています。 サーバーがサクサク動いてる状態よりロードアベレージが高い時の方がPagespeed insightsで良いスコアが出ます。 低負荷時︰モバイル 84〜86 (PC 97〜98) 高負荷時︰モバイル 90〜96 (PC 98〜100) 通常とは逆の結果に困惑しています。 worker processをautoに設定してるから低負荷時にプロセスが減っているのが原因ですか? nginxには、site-enabled にシンボリックリンクを張るコマンドは無いの? a2ensiteコマンドみたいなやつ >>422 マイコンエンジニアになるのでもなければ、半導体の勉強までしなくても良いのでは? CPUや主記憶やGPUなど、PCの基礎的な事くらいは知っておいた方が良いだろうけど。 マッチングアプリでITエンジニアとマッチした人へ。「nginx」を読ませてみて下さい。変な読み方をしたら多分偽物 https://togetter.com/li/1938057 会社乗っ取り犯として命狙われてもクラブ行けば金のとりからも 仕事してたくらいの内容まとめてる人いないのかな 以下の記事の内容について教えていただきたいです。 https://qiita.com/noblin_1031/items/ef56b0ae310178e9f279 「NginxのBasic認証を複数ページで別々のユーザ・パスでかける」ことを実現しようとすると、ユーザ1人につき、以下の2つの対応をするしかないのでしょうか? @ 以下のような内容をnginx.confに記載する location /page_a { auth_basic "Restricted"; auth_basic_user_file /etc/nginx/.htpasswd; } A .htpasswdファイルを作成する ユーザごとに記載が増えるのは当然かもしれませんが、 ファイルを1人1つ用意するのは少しゴリ押しすぎる 気がします… 上の記事が3年以上前のものですので、 今なら別の方法もあるかもしれないと思い、 質問させていただきました。 よろしくお願いします。 >>439 自分でオレオレモジュールを実装したら、どうですかね? location /username { oreore_auth_basic_user_file /etc/nginx/.htpasswd; } としたとき、usernameの行しか参照しないようにする もしくはNginx+Luaで頑張るか、安直にOpenRestyで同様の認証と遷移をする手もある もっともBasic Authじゃなくて、JWT Authを使ったらええとも思う >>440 現在も自分で実装するしかないんですね… そこまでのスキルはないので一旦ごり押しでいこうと思います。 この項目の記載量が増えてもパフォーマンスに影響はなさそうですし… 教えていただきありがとうございました。 read.cgi ver 07.5.5 2024/06/08 Walang Kapalit ★ | Donguri System Team 5ちゃんねる