4

我按照说明安装 Valet,前 2 天运行良好,完全没有问题。然后它突然停止工作,并且随着时间的推移似乎变得更糟。首先,主页以外的所有 laravel 项目都出现 404 错误,最终网站完全停止工作,就好像没有运行 Web 服务器一样。

以下是有关我的环境的一些详细信息:

  • 运行 macOS Sierra、PHP 7.1、MariaDB

  • 作曲家工作正常,正在路上

  • Valet 2.0.3(在撰写本文时最新)

  • 在第一次安装和运行 Valet 之前,将 MAMP 更改为默认端口以释放端口 80 和 3306

  • ping something.dev 应返回 127.0.0.1

  • 在浏览器中运行 something.dev 不起作用 D 如果没有运行 Web 服务器

经过数小时的搜索、摆弄、卸载和重新安装一切,我现在处于一个非常奇怪的地步。如果 MAMP 在端口 80 和 3306 上运行,Valet 将为 something.dev 提供服务,尽管我仍然在主页之外得到 404。怎么会这样?MAMP 不应该在其他端口上为 Valet 释放 80 和 3306 还是根本不运行?另一个奇怪的事情是,something.dev 将返回我的 webroot,它是 Valet 停放的,而不是 webroot 下的站点 something.dev。我已经到处搜索了,但我不知道如何让事情按照应有的方式运行

4

1 回答 1

2

请按照以下步骤解决它:您必须对nginx安装/配置进行故障排除,因为这是 Valet 背后的服务器。

在代客安装后第一次重新启动时,我已经解决了“代客不服务”的问题。

第一次检查您使用的是最新版本

$ brew update $ brew upgrade(如果您使用的是 brew)

nginx的第二次测试配置,可能存在一些权限问题:

$ nginx -t- 这将返回无法读取的“错误”路径。例如。将返回您的代客 error.log 或 conf 文件的路径。例如:

2017/02/04 16:32:31 [emerg] 17285#0: open() "/Users/username/.valet/Log/nginx-error.log" failed (13: Permission denied)

检查文件:$ ls -l ~/.valet/Log/nginx-error.log

-rw-r--r-- 1 root staff 7842 Feb 4 15:54 ~/.valet/Log/nginx-error.log

我的 nginx 没有开始为所有代客站点提供服务的原因是在我的主目录中,错误日志归根用户所有。使用 chown 命令(替换为实际用户名)更改适合此文件和其他文件的权限:

$ sudo chown username:staff ~/.valet/Log/nginx-error.log

修改权限后重启nginx: $ sudo nginx -s stop && sudo nginx

如果命令将返回 nginx: [error] invalid PID number "" in "/usr/local/var/run/nginx.pid",那是因为 nginx 没有运行并且没有 PID,只需使用以下命令再次启动 nginx: $ sudo nginx

现在测试您的代客泊车站点。(当 MAMP 停止时)下一步。决定端口并配置 Valet 和 MAMP 以在没有冲突的情况下工作。

希望这有帮助。

注意: 必须拥有错误日志文件的 user:group 可以在 nginx.conf 的 user 指令中找到。

于 2017-02-04T15:05:58.467 回答