【问题标题】:Laravel - Generic Apache 500 error with Envoyer directory structureLaravel - Envoyer 目录结构的通用 Apache 500 错误
【发布时间】:2015-06-23 17:34:38
【问题描述】:

我正在尝试使用 Envoyer 将我的 Laravel 5 站点部署到我的 VPS。我将站点的 Apache 设置中的文档根更改为 /current/public(设置如下),当我这样做时,我收到一个通用的 Apache 500 错误。如果我使用旧的 public 目录,一切都会正常加载。

我也试过chmod 777 -R storage,没有运气。 Laravel 日志中没有日志条目,一切正常部署,没有错误。

我确实注意到,如果我创建一个纯 HTML 文档并通过 Envoyer 部署它,我可以使用 /current/public 文档根目录直接访问它,与 Laravel 相关的任何内容(并且仅使用 current/public)会导致500。

想法?符号链接会是一个可能的解决方案吗?奇怪的是,我在另一个 Envoyer 站点上的 Forge 配置将文档根设置为 public,但我看不到指向 current/public 的符号链接。它可能设置为current/public,但由于某种原因不显示。

customlog:
  -
    format: combined
    target: /usr/local/apache/domlogs/mydomain.org
  -
    format: "\"%{%s}t %I .\\n%{%s}t %O .\""
    target: /usr/local/apache/domlogs/mydomain.org-bytes_log
documentroot: /home/eyf/current/public
group: eyf
hascgi: 1
homedir: /home/eyf
ifmoduleconcurrentphpc: {}

ifmodulemodsuphpc:
  group: eyf
ip: MY.IP.ADDR
owner: root
phpopenbasedirprotect: 1
port: 80
scriptalias:
  -
    path: /home/eyf/public/cgi-bin
    url: /cgi-bin/
  -
    path: /home/eyf/public/cgi-bin/
    url: /cgi-bin/
serveradmin: webmaster@mydomain.org
serveralias: www.mydomain.org
servername: mydomain.org
usecanonicalname: 'Off'
user: eyf
userdirprotect: ''

【问题讨论】:

  • 你看过apache错误日志的输出了吗?
  • 老实说很难找到它..
  • 您的服务器上正在运行什么操作系统?
  • Ubuntu,我能够在 WHM 中的 Raw Apache Logs 下找到该域的 - 不提供任何真实信息:208.90.136.42 - - [16/Apr/2015:22:58:14 -0400] "GET / HTTP/1.1" 500 - "-" "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_10_2) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/41.0.2272.118 Safari/537.36"
  • 来自访问日志。检查/var/log/apache2/error.log

标签: laravel apache laravel-5 laravel-envoyer


【解决方案1】:

好的,所以我在这里遇到了两个不同的问题。

第一个问题是我将代码部署为 root 并尝试访问 cPanel 用户拥有的站点(在本例中为 eyf)。由于文件/目录部署为 root,所有权问题导致了通用 500 错误页面。

然后我尝试通过 Envoyer 与 eyf 连接,但出现了某种 SSH 密钥问题 - 即使我通过 cPanel 将密钥添加到 eyf,但似乎并没有成功。反复尝试从 Envoyer 连接最终导致 IP 地址被列入黑名单。

对此,Envoyer 在尝试连接服务器时只是说“失败”。在说“失败”之后,会立即出现一条警告消息,说明 PHP-FPM 存在问题。

Taylor 说出现此 PHP-FPM 警告消息是因为连接不成功并且 Envoyer 无法连接到 PHP-FPM。好吧,这完全是一种误导,因为我没有在这台服务器上安装 PHP-FPM,而且它与连接失败的原因完全无关(这是一个 SSH 身份验证问题)。

我请他改进此类事情的警告/错误,它将本应快速解决的问题延长为几个小时的长尾追逐会话。 Dploy.io,一个竞争对手,显然在我第一次尝试连接并且忘记了 SSH 密钥时显示了一个 SSH 连接问题 - “d'oh!让我解决这个问题,”问题在不到一分钟内就解决了分钟。

不管怎样,回到 Envoyer bliss - 只是一点点滴答作响。 ;) IP 地址被列入白名单,我为 cPanel 用户 (/.ssh/id_rsa) 手动添加了 SSH 密钥,现在一切正常。

【讨论】:

    猜你喜欢
    • 2016-04-11
    • 1970-01-01
    • 1970-01-01
    • 2019-11-10
    • 1970-01-01
    • 2016-08-04
    • 2021-04-10
    • 2019-01-26
    • 2016-05-02
    相关资源
    最近更新 更多