ローカルのLaravelプロジェクトをセットアップしようとしました。そこで、Homestead vagrantボックスを使用することにしました。 このチュートリアル のようにすべてをインストールした後、楽しみにしていました。ブラウザで結果を確認します。
最初の支払いはnginx502 Bad GatewayErrorでした。だから私はこれを更新しようとしました、そしてその後デフォルトのLaravel開始ページが表示されました。それから私は私のサイトのいくつかのサブページへのいくつかのルートとリンクを作りましたそして私が私のページを変更するたびに(リンクまたはgetリクエストを入力)ウェブサイトを更新すると消える「502BadGateway」を取得します。
私は試した:
悲しいことに、「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に問題があると思いますが、ファイルが更新後にロードされているため、これが何であるかわかりません。
誰かがこの問題で私を助けてくれることを願っています。このさわやかさはいつもとても迷惑です。
アーロン・ベルツの正確な手順は私にはうまくいきませんでしたが、リンクをたどるとうまくいきました。
残念ながら私にとっても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で問題が発生することがあるので、それが関係している可能性があります。
XDebugを無効にしてみてください。これは私にとってはうまくいきましたが、ちょっとハッキーな感じがします。より良い解決策を思いついたら、これを更新します。
「エイリアス」にはすでにxoff
エイリアスが含まれているはずです。したがって、vagrantボックスでxoff
を実行してから、NGINXとPHP7.3-FPMを再起動します。 (エイリアスがない、または必要ない場合は、言及した「xoff」の代わりにSudo phpdismod -s cli xdebug
を使用してください)
手順は次のとおりです(これはホームステッドボックスを介して行われることを忘れないでください)。
xoff
Sudo service nginx restart
Sudo service php7.3-fpm restart
繰り返しますが、私はまだこの解決策に満足していません。ただし、ここに より適切な方法でXDbugを無効にする方法 まだテストしていませんが、試してみたらどうなるか教えてください。
これがあなたのために働くことを願っています、私はこれを理解しようと一晩中過ごしました笑。そのため、午前5時で、英語を話しているかどうかさえわかりません。