質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.35%
nginx

nginixは軽量で高性能なwebサーバーの1つです。BSD-likeライセンスのもとリリースされており、あわせてHTTPサーバ、リバースプロキシ、メールプロキシの機能も備えています。MacOSX、Windows、Linux、上で動作します。

Q&A

0回答

876閲覧

nginxが本当に動いてるのかわからない

cunwe

総合スコア65

nginx

nginixは軽量で高性能なwebサーバーの1つです。BSD-likeライセンスのもとリリースされており、あわせてHTTPサーバ、リバースプロキシ、メールプロキシの機能も備えています。MacOSX、Windows、Linux、上で動作します。

0グッド

1クリップ

投稿2021/10/10 03:49

http://localhost:8080にブラウザからアクセスすると![イメージ説明](1526d354babaf9006ae9ab8a2d595fb1.png)
と表示されるのですが、ターミナルでcurlでアクセスしようとしてもcurl: (7) Failed to connect to localhost port 8080: Connection refusedというエラーが出てしまい、本当にnginxが起動できているのかわかりません。

やったこと

こちらの記事を参考に-Iオプションをつけましたが上記の結果になりました。

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

itagagaki

2021/10/10 04:16

「やったこと」に記載されている記事には-Iオプションのほかにいろいろ確認事項が載っていますが、すべて試しましたか?その結果はどうでしたか?
hoshi-takanori

2021/10/10 04:46

ブラウザに proxy が設定されてるとか? または、ターミナルはどこかに ssh 接続してるとか?
cunwe

2021/10/10 13:52 編集

itagagakiさん ご質問ありがとうございます。 1.`ps ax | grep nginx`の実行結果は`56115 s000 S+ 0:00.01 grep nginx`でした 2.`netstat -nat | grep LISTEN | grep 80`の実行結果は7行ほど出力されましたが、ここに書いていいのかわかりません(しかし80を含んでるのはひとつしかありませんでした...) 3.`open /var/log/nginx/error_log`をしてみましたが`The file /var/log/nginx/error_log does not exist.`と言われてしまいました 追記 https://qiita.com/morrr/items/7c97f0d2e46f7a8ec967#%E5%88%B6%E5%BE%A1%E6%A7%8B%E6%96%87 3についてですが、上の記事の「エラーログを指定する」を見て、自分のerror/logはどこにあるのかと思い、ブラウザで/usr/local/etc/nginx/nginx.confと打ったら#error_log logs/error.log;と書かれているのを見つけ`open /usr/local/etc/nginx/logs/error.log`を実行しましたがフィイルないよと言われてしまいました。
cunwe

2021/10/10 10:15

hoshi-takanoriさん sshには2週間前の私の質問にございますようにssh接続しましたが終了した記憶があります。ssh接続しているか確認する手段はございますでしょうか? https://teratail.com/questions/361007
itagagaki

2021/10/11 11:31

curl に --ipv4 オプションを付けるとどうでしょうか。
cunwe

2021/10/11 13:50

ご質問ありがとうございます。 `curl --ipv4 http://localhost:8080`を実行しますと`curl: (7) Failed to connect to localhost port 8080: Connection refused`と表示されます。
itagagaki

2021/10/11 14:04

見落としていましたが > 1.`ps ax | grep nginx`の実行結果は`56115 s000 S+ 0:00.01 grep nginx`でした その1行だけですか。だとしたらnginx動いてませんね。 ブラウザからアクセスできているように見えるのは謎です。キャッシュを表示しているのかも? nginxはどうやって起動しましたか?それをもう一度やってみては。
cunwe

2021/10/11 15:50 編集

https://teratail.com/questions/363495 ここで質問させていただいたときにマスタープロセスとワーカープロセスをkillしてしまったからですかね...? >キャッシュを表示しているのかも? そうであるかどうかはどうやったら確認できますでしょうか? >nginxはどうやって起動しましたか?それをもう一度やってみては。 `brew services start nginx`を実行すると ==> Successfully started `nginx` (label: homebrew.mxcl.nginx) とは表示されるものの、続けて`ps ax | grep nginx`を実行すると`65142 s000 U+ 0:00.01 grep nginx`しか出てきません、、
itagagaki

2021/10/11 16:01

Homebrewですか。私はHomebrewをあまり知らないのですが…。 リブートしても解消しなかったですか? ブラウザのほうはスーパーリロードしてみてください。 方法はこちら https://ao-system.net/note/69
hoshi-takanori

2021/10/11 19:28

以前、「Homebrew で入れたものはユーザー権限で動かす」と書きましたが、よく考えたら Web サーバーを 80, 443 番ポートで動かすには sudo する必要があることに気づきました。実験してみましたが、sudo brew services start nginx するといくつかのファイルやディレクトリの所有者が書き変わりますね…。 確認ですが、最終的に nginx は何のために使いたい (どのようにアクセスしたい) のでしょうか? ・実運用したい (外部から http://ホスト名 でアクセス) ・実験・テスト用だが、http://localhost でアクセスしたい ・実験・テスト用なので、http://localhost:8080 で構わない
cunwe

2021/10/12 10:07

itagagakiさん ご提案ありがとうございます、少々お待ちください。 hoshi-takanoriさん https://zenn.dev/bigen1925/books/introduction-to-web-application-with-python/viewer/making-silly-web-server こちらの記事を見ながら自分はapacheではなくnginxを使用して進めておりまして(このチュートリアル的なのが終わったら自作ブログを運用したいと思ってます)、今は実験・テスト用なのでhttp://localhostでいいかと思いましたが、自分のconfファイルを見てみるとhttpの中のserverの中のlistenが8080になっていたのですが、nginxはデフォルトでポート番号は8080を使用するということではないのでしょうか?
hoshi-takanori

2021/10/12 19:47

とりあえず勉強用ってことなら http://localhost:8080 で良いのでは。(:8080 を打つのが面倒という話もありますが…。) また、自作ブログに関しては最終的には外部に公開するってことで、つまり外部のサーバーを借りるってことですよね? (お使いの Mac で自宅サーバーを立てることも不可能ではありませんが…。) > nginxはデフォルトでポート番号は8080を使用するということではないのでしょうか? nginx に限らず、Web サーバーのデフォルトのポートは 80 (および 443) です。また、macOS や Linux などの UNIX 系の OS では、ポート 0 〜 1023 でサーバーを動かすには root 権限が必要になります。が、Homebrew はデフォルトではユーザー権限で動かすものなので、Homebrew で入れた nginx ではポート 80 の代わりに 8080 がデフォルトになってます。 http://localhost (つまりポート 80) で動かしたいなら、nginx を root 権限で (つまり sudo brew services start nginx などで) 動かすことになりますが、実験してみたら一部のファイルやディレクトリの所有者が書き変わって、brew upgrade や brew uninstall の時に消えないファイルが残ってしまったりするようです…。
cunwe

2021/10/13 02:29

hoshi-takanoriさん >自作ブログに関しては最終的には外部に公開するってことで、つまり外部のサーバーを借りるってことですよね? はい、GCP使おうとしてます。 また、Homebrewで入れたwebサーバーはデフォルトではポート番号は8080なのですね、勉強になりました。 話は戻りますが、`brew services start nginx`を実行すると ==> Successfully started `nginx` (label: homebrew.mxcl.nginx) とは表示されるものの、続けて`ps ax | grep nginx`を実行すると`65142 s000 U+ 0:00.01 grep nginx`しか出てきません。しかし、 http://localhost:8080をブラウザで表示させるとWelcome to nginx!が現れるのですがこれはキャッシュ(?)と呼ばれる問題なのでしょうか...?
hoshi-takanori

2021/10/13 04:20

ブラウザについては itagagaki さんがお書きになっているスーパーリロードをお試しください。また、それで駄目ならブラウザの proxy 設定をご確認ください。 brew services start nginx で nginx が起動しないのは、一部のファイルの所有者が書き変わってるためだと思いますので、以下のコマンド実行すれば直るかと。(自分のアカウントの部分は実際のアカウントに置き換えて実行してください。) sudo chown -R 自分のアカウント /usr/local/var/log/nginx /usr/local/var/run/nginx*
cunwe

2021/10/14 02:06

macなのでcommand + shift + R押しましてWelcome to nginx!の表示が消え、このサイトにアクセスできません、となりました。ということはやっぱりnginx起動されてなかったんですかね...?
cunwe

2021/10/14 02:17 編集

hishi-takanoriさん すいません、「自分のアカウント」は$whoamiで分かってsudo chown実行したのですが、その後に`brew services start nginx`を実行すると`Bootstrap failed: 5: Input/output error Error: Failure while executing; `/bin/launchctl bootstrap gui/501 /Users/m.t./Library/LaunchAgents/homebrew.mxcl.nginx.plist` exited with 5.`というエラーが表示されます。。
cunwe

2021/10/14 15:05 編集

ファイルの所有者が書き変わってるのを`sudo chown -R 自分のアカウント /usr/local/var/log/nginx /usr/local/var/run/nginx*`で直したら`sudo brew services start nginx`ではなく`brew services start nginx`で動くはずってことですよね...?
cunwe

2021/10/14 15:13

今nginxコマンド試したらそれで起動しました。。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

まだ回答がついていません

会員登録して回答してみよう

アカウントをお持ちの方は

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.35%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問