无法显示 Laravel 欢迎页面

Cannot Get Laravel Welcome Page to Show

我的服务器在 DigitalOcean 云上。我在 Apache Web 服务器上使用 Ubuntu。我家的电脑是 运行ning Windows 7. 我用的是 putty 作为终端。

遵循 https://laracasts.com/series/laravel-5-fundamentals/episodes/1 上的所有指示。达到 8:40,它会将您定向到 运行 php -S localhost:8888 -t public。我 运行 那,然后打开网络浏览器并尝试以下操作:

-http://mywebsite.com:8888
-http://www.mywebsite.com:8888
-http://mywebsite.com/learning-laravel-5/public
-http://mywebsite.com/learning-laravel-5/public/index.php

None 以上作品。

在 Google Chrome 中,我列出端口号的前两个选项,我得到一个页面说 This webpage is not available. ERR_CONNECTION_REFUSED. 在 IE 中,我只得到一个大字体的页面说"This page can't be displayed."

对于最后两个选项,我只得到一个完全空白的页面。在控制台中,我收到此错误:Failed to load resource: the server responded with a status of 500 (Internal Server Error).

我正在尝试选择一个 Web 应用程序框架来扩展我的 php 技能集。有人可以帮我吗?我在做什么 wrong/what 缺少我必须做的视频教程才能让 Laravel 起来并 运行 宁?

我经常使用 Laravel,但我在服务器方面的经验在这里更为重要。您所说的一切都表明存在访问问题,并且了解托管公司的工作方式,他们可能会阻止该端口(以及所有其他非标准端口)。

您可以使用 PuTTY 对此进行测试,打开它并输入服务器的主机名。将端口更改为 80 并将关闭 window 退出更改为从不,然后连接。输入:

GET / HTTP/1.1
Host: yourwebsite.com

然后按两次回车,服务器会处理结果。它应该会显示您主页的 HTML。

现在用端口 8888 再试一次,看看是否可以连接。如果可以连接,则不是端口问题,但我猜你会收到致命错误 Network error: Connection refused,这意味着端口已关闭或被防火墙阻止。

尽管 DigitalOcean 让您可以完全控制服务器,但连接可能仍会穿过他们的防火墙。您可能有自己的防火墙,但如果服务器通过他们的防火墙运行并且端口被阻止,您在服务器上所做的任何事情都不会打开该端口。

这可能不是您想要的答案,但这是我基于在 Digital Ocean 上设置一些 VPS 的建议。退后。旋转一个新的 VPS。如果你愿意,可以保留旧的,但要重新开始。

  1. 创建一个新的 droplet
  2. 设置 SSH 和 PuTTY 并确保其正常工作
  3. 设置您的FTP(如果您正在使用它)
  4. 设置您的 DNS
  5. 设置您的 Apache 配置文件。 DO 有一个很好的教程:https://www.digitalocean.com/community/tutorials/how-to-install-linux-apache-mysql-php-lamp-stack-on-ubuntu-14-04
  6. 现在,努力让 "Hello world" html 页面在您访问域 www.yourdomain.com、yourdomian.com 时显示。此时不要专注于端口,只需要一个最小的服务器 运行ning。这也可能有帮助:https://www.digitalocean.com/community/tutorials/how-to-set-up-apache-virtual-hosts-on-ubuntu-14-04-lts
  7. 保存此基本工作设置的 "image",以便您可以根据需要旋转新的 VPS。
  8. 现在您已经有了加载域索引页面的服务器,您可以开始安装 Laravel。

简而言之,我建议您在尝试安装和启动更复杂的技术(如 Laravel 或 Rails 等之前建立一个稳定的工作服务器平台

教程通常使复杂的技术看起来很容易,10 分钟的专家,但这些框架的背后隐藏着巨大的复杂性。从简单开始,一次构建一个服务器。你得先走 运行.

你试过了吗chmod -R 0777 storage

php -S localhost:8888 -t public 适用于 运行 本地站点,这就是视频所显示的内容。

如果您将 Digital Ocean droplet 与 Ubuntu 和 Apache 一起使用,则需要将 Apache 配置为使用 /public 作为文档根目录并在 Laravel 安装/var/www 目录。

从那里您可以访问 Droplet 的 IP 地址 (http://XXX.XXX.XXX.XXX) 而不是域名(除非您已经为该域名配置了 DNS)。您也不需要 URL 中的端口,因为 Apache 将在默认端口 80 上提供它。