为什么 laravel homestead 不是 运行 Apache

Why laravel homestead is not running Apache

显然,我的 Laravel 项目确实需要 .htaccess 规则,而 Nginx 似乎不是我的最佳解决方案,

1- 我的问题是为什么 Laravel 没有为 Apache 提供 homestead! 经过我进行的小型研究后,我发现 online tool 用于转换规则,但输出不起作用(太短),而 Apache 更有可能为人所知和使用,而且更容易定义安全规则和漂亮的网址..等(至少对我而言)

2-请给我答案解释他们为什么选择Nginx!更重要的是我需要知道前辈和专家会用什么(Nginx,Apache)

3- 你建议我在 Homestead 上安装 Apache 吗?

您到底想做什么,也许我们可以为您的问题提供解决方案。您真的不需要使用 .htaccess 重写 URL,因为 Laravel 的路由会处理这个问题。

1) 无论软件如何,如果您需要为每个特定项目配置网络服务器,最好去配置与该项目相关的您自己的 vagrant box。

2) Nginx 优于 apache 并减少了很多根本不需要的膨胀。它也是 forge 使用的东西,因此 homestead 反过来使用它来模拟 forge 环境。

3) 参见第1点,为此项目配置自己的vagrant box。

步骤如下here.

  1. SSH 进入 vagrant -> vagrant ssh

  2. 停止 Nginx -> sudo service nginx stop

  3. 删除 -> sudo apt-get purge nginx

  4. 更新您的回购 -> sudo apt-get update

  5. 安装apache -> sudo apt-get install apache2

  6. 重新启动 -> sudo service apache2 restart

您现在在 Apache 服务器上,根据需要更新 apache conf 文件。

  1. Laravel homestead 目前可以使用您的 Homestead.yaml 文件安装 apache。

为您的站点添加一个名为 type 的密钥。将其设置为 apache。像这样:

sites:
    - map: laravel.local
      to: "/home/vagrant/laravel"
      type: apache

确保你没有混淆 apache 和 nginx,那是行不通的。

然后 运行 vagrant up 安装 apache 并提供正确的配置文件。

如果不行,那么首先确保update到最新版本的homestead。

  1. 这是一篇关于此事的有趣文章:https://www.nginx.com/blog/nginx-vs-apache-our-view/。 TLDR:Nginx 更快。

  2. 只有当你有一个现有的项目并且你确实需要使用apache的时候。或者如果您的应用程序要在 apache 服务器上 运行。重新开始?使用 nginx.