Mac OS 10.14.2にLaravel Valet 2.1.6がインストールされています。
nginx1.15.8はbrewを使用してインストールされます。
アップデートや新しいソフトウェアをインストールせずにMacを再起動したところ、すべての_example.test
_サイトで502エラーが発生し、_/usr/local/var/log/nginx/error.log
_ログに次のように表示されます。
_2019/01/17 20:38:47 [warn] 31277#0: the "user" directive makes sense only if the master process runs with super-user privileges, ignored in /usr/local/etc/nginx/nginx.conf:1
2019/01/17 20:38:47 [emerg] 31277#0: bind() to 0.0.0.0:443 failed (48: Address already in use)
2019/01/17 20:38:47 [emerg] 31277#0: bind() to 0.0.0.0:443 failed (48: Address already in use)
2019/01/17 20:38:47 [emerg] 31277#0: bind() to 0.0.0.0:443 failed (48: Address already in use)
2019/01/17 20:38:47 [emerg] 31277#0: bind() to 0.0.0.0:443 failed (48: Address already in use)
2019/01/17 20:38:47 [emerg] 31277#0: bind() to 0.0.0.0:443 failed (48: Address already in use)
2019/01/17 20:38:47 [emerg] 31277#0: still could not bind()
_
同時に、_/Users/Myself/.config/valet/Log/nginx-error.log
_ログに次の情報が表示されます。
_2019/01/17 20:41:34 [error] 32071#0: *1 upstream prematurely closed connection while reading response header from upstream, client: 127.0.0.1, server: example.test, request: "GET / HTTP/2.0", upstream: "fastcgi://unix:/Users/Myself/.config/valet/valet.sock:", Host: "example.test"
_
ps ax -o pid,ppid,%cpu,vsz,wchan,command|egrep '(nginx|PID)'
を実行すると、次のリストが表示されます。
_ PID PPID %CPU VSZ WCHAN COMMAND
32064 1 0.0 4306660 - nginx: master process /usr/local/opt/nginx/bin/nginx -g daemon off;
32065 32064 0.0 4333284 - nginx: worker process
32066 32064 0.0 4332260 - nginx: worker process
32067 32064 0.0 4333284 - nginx: worker process
32068 32064 0.0 4333284 - nginx: worker process
32069 32064 0.0 4326116 - nginx: worker process
32070 32064 0.0 4316900 - nginx: worker process
32071 32064 0.0 4368236 - nginx: worker process
32072 32064 0.0 4331236 - nginx: worker process
32073 32064 0.0 4326116 - nginx: worker process
32074 32064 0.0 4340452 - nginx: worker process
32075 32064 0.0 4333284 - nginx: worker process
32076 32064 0.0 4334308 - nginx: worker process
36815 1406 0.0 4268060 - egrep (nginx|PID)
_
次のいずれも問題を解決しません。
Sudo killall nginx
_brew services restart nginx
_brew services restart php
_valet restart
_valet uninstall && valet install
_次に_valet park
_関連するディレクトリApacheは競合するサービスとして実行されていません。
私は_Sudo /usr/local/opt/nginx/bin/nginx -g 'daemon off;'
_をやってみて、これを手に入れました:
_nginx: [emerg] bind() to 0.0.0.0:80 failed (48: Address already in use)
nginx: [emerg] bind() to 0.0.0.0:443 failed (48: Address already in use)
nginx: [emerg] bind() to 0.0.0.0:60 failed (48: Address already in use)
nginx: [emerg] bind() to 0.0.0.0:80 failed (48: Address already in use)
nginx: [emerg] bind() to 0.0.0.0:443 failed (48: Address already in use)
nginx: [emerg] bind() to 0.0.0.0:60 failed (48: Address already in use)
nginx: [emerg] bind() to 0.0.0.0:80 failed (48: Address already in use)
nginx: [emerg] bind() to 0.0.0.0:443 failed (48: Address already in use)
nginx: [emerg] bind() to 0.0.0.0:60 failed (48: Address already in use)
nginx: [emerg] bind() to 0.0.0.0:80 failed (48: Address already in use)
nginx: [emerg] bind() to 0.0.0.0:443 failed (48: Address already in use)
nginx: [emerg] bind() to 0.0.0.0:60 failed (48: Address already in use)
nginx: [emerg] bind() to 0.0.0.0:80 failed (48: Address already in use)
nginx: [emerg] bind() to 0.0.0.0:443 failed (48: Address already in use)
nginx: [emerg] bind() to 0.0.0.0:60 failed (48: Address already in use)
nginx: [emerg] still could not bind()
_
_Sudo lsof -i tcp:80
_を実行すると、以下が生成されます。
_COMMAND PID USER FD TYPE DEVICE SIZE/OFF NODE NAME
nginx 42220 root 7u IPv4 0x7ac8eae7874ccb11 0t0 TCP *:http (LISTEN)
nginx 42221 Myself 7u IPv4 0x7ac8eae7874ccb11 0t0 TCP *:http (LISTEN)
nginx 42222 Myself 7u IPv4 0x7ac8eae7874ccb11 0t0 TCP *:http (LISTEN)
nginx 42223 Myself 7u IPv4 0x7ac8eae7874ccb11 0t0 TCP *:http (LISTEN)
nginx 42224 Myself 7u IPv4 0x7ac8eae7874ccb11 0t0 TCP *:http (LISTEN)
nginx 42225 Myself 7u IPv4 0x7ac8eae7874ccb11 0t0 TCP *:http (LISTEN)
nginx 42226 Myself 7u IPv4 0x7ac8eae7874ccb11 0t0 TCP *:http (LISTEN)
nginx 42227 Myself 7u IPv4 0x7ac8eae7874ccb11 0t0 TCP *:http (LISTEN)
nginx 42228 Myself 7u IPv4 0x7ac8eae7874ccb11 0t0 TCP *:http (LISTEN)
nginx 42229 Myself 7u IPv4 0x7ac8eae7874ccb11 0t0 TCP *:http (LISTEN)
nginx 42230 Myself 7u IPv4 0x7ac8eae7874ccb11 0t0 TCP *:http (LISTEN)
nginx 42231 Myself 7u IPv4 0x7ac8eae7874ccb11 0t0 TCP *:http (LISTEN)
nginx 42232 Myself 7u IPv4 0x7ac8eae7874ccb11 0t0 TCP *:http (LISTEN)
_
ポート443に対してそのコマンドを実行したときの基本的に同じ出力。
この係員による問題の投稿 は_valet domain test
_が修正する可能性があることを示唆していますが、それは役に立ちませんでした。
再インストールを試みましたPHPしかし運がありません:
すべてのvalet config/certificateディレクトリを削除し、valetを再度アンインストールしてから、プロジェクトディレクトリを再インストールして再度パークしました。
Rootとしてnginxを実行してみました:
Sudo brew services stop nginx
_Sudo brew services start nginx
_これはPHP 7.3が原因でした。
Xdebug for 7.3の7.3および2.7.0beta1を削除しました。
それから私はbrew install [email protected]
、次にpecl
を使用してXdebugfor7.2の2.6.1バージョンをインストールしました。
これですべてが正常に機能します。
これの本当の理由は、以前のインストールでルートとして醸造サービスを実行したためだと思います。
Sudo brew services restart nginx
そして、LaunchAgentを/ Library/LaunchAgents内に配置することになり、起動時にnginxをrootとして起動し、2つのインスタンスを提供します。これはアクティビティモニターで確認できます。
に入る /Library/LaunchAgents
と問題のあるエージェントを削除し、再起動します。