【问题标题】:Which folders and files of Laravel we dont need on production (Web) server?我们在生产(Web)服务器上不需要 Laravel 的哪些文件夹和文件?
【发布时间】:2020-11-06 07:28:48
【问题描述】:

已经做了一些关于 Laravel 框架的网站。我是在本地服务器上完成的,现在开始将其上传到生产(Web)服务器上。

我意识到,Laravel 有很多很多的文件。我想知道,是否需要将它们全部放在生产服务器上?

所以想问一下,是否有一些文件夹或文件我不需要上传到Web服务器上?有人有经验吗?因为我没有找到任何关于它的质量信息。

谢谢!

【问题讨论】:

  • 你的意思是git 对吗?您网站的本地或开发版本不应与生产服务器不同。

标签: laravel file server upload


【解决方案1】:

查看部署guide here,了解如何迁移到生产环境的一般信息。

您还可以查看项目根目录中的.gitignore 文件。此处列出的所有内容都不应该投入生产。

这包括这些文件和目录:

/node_modules
/public/hot
/public/storage
/storage/*.key
/vendor
.env
.env.backup
.phpunit.result.cache
Homestead.json
Homestead.yaml
npm-debug.log
yarn-error.log

尤其是node_modulesvendor 目录将包含大量文件和库。

vendor 目录的内容由composer.json / composer.lock 描述这些也可以通过运行直接安装在生产服务器上:

composer install --optimize-autoloader --no-dev

node_modules 目录通常只需要在开发服务器上。其内容由package.json / package.lock 描述。通过运行构建最终资产后

npm run production

将该命令的缩小输出文件(主要是 .css 和 .js 文件)上传到生产环境就足够了。

【讨论】:

  • 这能回答你的问题吗?或者你需要澄清吗?
  • "Everything that is listed here isn't supposed to move to production." 不正确。需要.env 以及vendor/**
  • 当然需要!但我的意思是,您不应该将这些文件的精确副本传输到生产环境。您将 .env 文件的生产版本放在生产服务器上,并使用上面我的回答中所述的作曲家命令(您是否已完全阅读?)仅下载生产所需的供应商/依赖项。这就是为什么你不应该直接上传这些文件;)
猜你喜欢
  • 1970-01-01
  • 2019-12-10
  • 2011-11-04
  • 2011-05-05
  • 2012-02-20
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多