Laravel 7 - 把网站部署到生产模式需要做什么?

5

将网站从开发转移到生产环境需要哪些步骤?

我知道以下几点:

  • 在我的.env文件中设置APP_ENV=production
  • 在我的.env文件中设置APP_DEBUG=false
  • 我知道app.js文件应该被minified,尽管我还不知道这是什么意思。。

还有其他需要注意的吗?


php artisan optimize - Christophe Hubert
2个回答

10

关于将Laravel应用程序部署到生产环境的内容在文档中有详细说明。

总之,需要按以下步骤执行:

  1. composer install --optimize-autoloader --no-dev,请注意,如果仍然需要require-dev包,则可以省略--no-dev选项。
  2. php artisan config:cache
  3. php artisan route:cache
  4. php artisan view:cache

您可以在这里了解有关编译资产的更多信息,也可以在这里了解有关代码压缩的更多信息。

代码压缩是将网页和脚本文件中的代码和标记最小化的过程之一。这是减少网站加载时间和带宽使用的主要方法之一。代码压缩极大地提高了网站速度和可访问性,直接转化为更好的用户体验。对于通过有限数据计划访问您的网站并希望在浏览网页时节省带宽使用的用户也非常有益。

您可以使用Laravel Mix进行资产压缩,方法如下:

Mix版本5

// Run all Mix tasks and minify output...
npm run prod

混音版本6

// Run all Mix tasks and minify output...
npx mix --production

关于 APP_ENV 环境变量的更多信息,请阅读此处:链接:

当前应用程序环境是通过您的 .env 文件中的 APP_ENV 变量确定的。

就我所知,这不会在开箱即用的情况下发生太大变化,但如果您使用其他第三方包或 Laravel 包,例如 Telescope,它将决定这些包的功能方式,例如如果将 APP_ENV 值设置为 local,则 Telescope 将记录所有数据,并且每个用户都将可以访问 Telescope 路由。

您可以在此处查看示例herehere


非常感谢。只有一个小问题:这是在更改.env文件的基础上额外进行的,还是其中一个步骤会自动完成? - sharkyenergy
你还需要更改你的.env文件。 - Remul
@sharkyenergy,我在答案中添加了关于APP_ENV的解释,希望能有所帮助。 - Remul
非常感谢!我已经按照您的步骤操作,但现在该网站出现了500错误:找不到“Facade\Ignition\IgnitionServiceProvider”类。 - sharkyenergy
你在浏览器或日志中看到这个错误了吗?你将APP_DEBUG设置为false了吗? - Remul
显示剩余3条评论

1
有很多事情需要做才能让您的网站准备就绪。
  • 缓存(查询、视图等)
  • 使用webpack(打包资产并将其压缩)
  • 为资产包使用cdn(使它们加载更快,从而提高您的网站加载速度)
  • 在云上部署网站以获得更好的资源。
  • 等等
因此,您不能仅通过更新.env文件来使网站准备就绪。
您可能需要阅读一些关于“laravel生产就绪网站”的谷歌文章。

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接