web-dev-qa-db-ja.com

新規Laravel(ホームステッド)インストール:502 BadGateway- *更新* -Webサイトが正しく表示されます

ローカルのLaravelプロジェクトをセットアップしようとしました。そこで、Homestead vagrantボックスを使用することにしました。 このチュートリアル のようにすべてをインストールした後、楽しみにしていました。ブラウザで結果を確認します。

最初の支払いはnginx502 Bad GatewayErrorでした。だから私はこれを更新しようとしました、そしてその後デフォルトのLaravel開始ページが表示されました。それから私は私のサイトのいくつかのサブページへのいくつかのルートとリンクを作りましたそして私が私のページを変更するたびに(リンクまたはgetリクエストを入力)ウェブサイトを更新すると消える「502BadGateway」を取得します。

私は試した:

  • pHPのバージョンを変更するには( ここのように
  • バッファを大きくするには( ここのように
  • 私のvagrantとVirtualBoxを完全に再インストールしました
  • 別のブラウザを使用する
  • 同僚の機能的なボックスを使用する

悲しいことに、「502BadGateway」を表示できないこともありました。しかし、私の同僚(Windows 10も)のPCでは、すべてが期待どおりです。

サイトのログファイル(/ var/log/nginx):

2019/01/23 20:23:53 [error] 2532#2532: *1 recv() failed (104: Connection 
reset by peer) while reading response header from upstream, client: 
192.168.10.1, server: eatthis.test, request: "GET / HTTP/1.1", upstream: 
"fastcgi://unix:/var/run/php/php7.3-fpm.sock:", Host: "eatthis.test"

2019/01/23 20:24:03 [error] 2532#2532: *1 recv() failed (104: Connection 
reset by peer) while reading response header from upstream, client: 
192.168.10.1, server: eatthis.test, request: "GET / HTTP/1.1", upstream: 
"fastcgi://unix:/var/run/php/php7.3-fpm.sock:", Host: "eatthis.test"

そして/etc/nginx/sites-enabled/eatthis.test:

server {
listen 80;
listen 443 ssl http2;
server_name .eatthis.test;
root "/home/vagrant/code/Laravel/public";

index index.html index.htm index.php;

charset utf-8;



location / {
    try_files $uri $uri/ /index.php?$query_string;

}



location = /favicon.ico { access_log off; log_not_found off; }
location = /robots.txt  { access_log off; log_not_found off; }

access_log off;
error_log  /var/log/nginx/eatthis.test-error.log error;

sendfile off;

client_max_body_size 100m;

location ~ \.php$ {
    fastcgi_split_path_info ^(.+\.php)(/.+)$;
    fastcgi_pass unix:/var/run/php/php7.3-fpm.sock;
    fastcgi_index index.php;
    include fastcgi_params;
    fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;


    fastcgi_intercept_errors off;
    fastcgi_buffer_size 16k;
    fastcgi_buffers 4 16k;
    fastcgi_connect_timeout 300;
    fastcgi_send_timeout 300;
    fastcgi_read_timeout 300;
}

location ~ /\.ht {
    deny all;
}

ssl_certificate     /etc/nginx/ssl/eatthis.test.crt;
ssl_certificate_key /etc/nginx/ssl/eatthis.test.key;
}

My Homestead.yaml:

---
ip: "192.168.10.10"
memory: 2048
cpus: 1
provider: virtualbox

authorize: c:/Users/XXXX/.ssh/id_rsa.pub

keys:
- c:/Users/XXXX/.ssh/id_rsa

folders:
- map: c:/www/code
  to: /home/vagrant/code

sites:
- map: eatthis.test
  to: /home/vagrant/code/Laravel/public

databases:
- Homestead

# ports:
#     - send: 50000
#       to: 5000
#     - send: 7777
#       to: 777
#       protocol: udp

# blackfire:
#     - id: foo
#       token: bar
#       client-id: foo
#       client-token: bar

# zray:
#  If you've already freely registered Z-Ray, you can place the token here.
#     - email: [email protected]
#       token: foo
#  Don't forget to ensure that you have 'zray: "true"' for your site.

そして私のホスト:

# Copyright (c) 1993-2009 Microsoft Corp.
#
# This is a sample HOSTS file used by Microsoft TCP/IP for Windows.
#
# This file contains the mappings of IP addresses to Host names. Each
# entry should be kept on an individual line. The IP address should
# be placed in the first column followed by the corresponding Host name.
# The IP address and the Host name should be separated by at least one
# space.
#
# Additionally, comments (such as these) may be inserted on individual
# lines or following the machine name denoted by a '#' symbol.
#
# For example:
#
#      102.54.94.97     rhino.acme.com          # source server
#       38.25.63.10     x.acme.com              # x client Host

# localhost name resolution is handled within DNS itself.
#       127.0.0.1       localhost
#       ::1             localhost
192.168.10.10 eatthis.test

PCまたはvagrantに問題があると思いますが、ファイルが更新後にロードされているため、これが何であるかわかりません。

誰かがこの問題で私を助けてくれることを願っています。このさわやかさはいつもとても迷惑です。

8
Orcaplans

アーロン・ベルツの正確な手順は私にはうまくいきませんでしたが、リンクをたどるとうまくいきました。

残念ながら私にとってもxdebugでした。

Sudo vim /etc/php/7.3/mods-available/xdebug.ini

そして、すべての行の前に;を付けて、アーロンの指示に従いました。

Sudo service nginx restart
Sudo service php7.3-fpm restart

そしてそれはうまくいった。今、私は何かのためにxdebugが必要かどうか心配しています-修正が見つかるまでそれを使用することはできません。ああ、そこに着いたらその橋を渡る:D

また、私はWindowsを使用していることにも注意します。また、Vagrantで問題が発生することがあるので、それが関係している可能性があります。

13
godjen99

XDebugを無効にしてみてください。これは私にとってはうまくいきましたが、ちょっとハッキーな感じがします。より良い解決策を思いついたら、これを更新します。

「エイリアス」にはすでにxoffエイリアスが含まれているはずです。したがって、vagrantボックスでxoffを実行してから、NGINXとPHP7.3-FPMを再起動します。 (エイリアスがない、または必要ない場合は、言及した「xoff」の代わりにSudo phpdismod -s cli xdebugを使用してください)

手順は次のとおりです(これはホームステッドボックスを介して行われることを忘れないでください)。

  1. xoff
  2. Sudo service nginx restart
  3. Sudo service php7.3-fpm restart
  4. ハードリロード後にもう一度やり直して祈ってください!

繰り返しますが、私はまだこの解決策に満足していません。ただし、ここに より適切な方法でXDbugを無効にする方法 まだテストしていませんが、試してみたらどうなるか教えてください。

これがあなたのために働くことを願っています、私はこれを理解しようと一晩中過ごしました笑。そのため、午前5時で、英語を話しているかどうかさえわかりません。

2
Aaron Belz