我试图设置一个本地 Laravel 项目。所以我决定使用 Homestead vagrant box。在我安装完本教程中的所有内容后,我期待在浏览器中看到结果:
第一个显示是 nginx 502 Bad Gateway Error。所以我尝试刷新它,然后显示默认的 Laravel 起始页面。然后我做了一些路由和链接到我网站的一些子页面,每次我更改我的页面(通过链接或输入获取请求)我都会得到“502 Bad Gateway”,它在刷新网站后消失。
我试过:
可悲的是,有时无法向我展示“502 Bad Gateway”。但是在我同事的电脑(也是 Windows 10)上,一切都如你所料。
该站点的日志文件( /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;
}
我的家园.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: foo@bar.com
# 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 有问题,但我不知道这可能是什么,因为文件在刷新后加载。
我希望有人可以帮助我解决这个问题。这种一直提神醒脑的感觉实在是太烦人了。