在Magento 2的开发和应用的时候我们市场会使用到系统的模式:默认模式(default)、开发模式(developer)、生产模式()(production)、和维护模式(maintenance)这四种。
那么为什么会用到呢?接下来我一一给大家讲解下?
Magento 2模式讲解
第一种:default模式【默认模式】
默认模式是Magento在没有指定其他模式时的操作方式。默认模式允许您在不更改任何设置的情况下将Magento应用程序部署到单个服务器上。但是,默认模式并不像生产模式那样适合生产。
如果将Magento应用程序部署到多个服务器上,如果需要优化请用于生产模式。
1.启用静态文件缓存
2.不向用户显示异常信息;异常被写入日志文件。
3.隐藏自定义的X-Magento-* HTTP请求和响应头
第二种:developer模式【开发模式】
仅用于开发,使用此模式:这种模式只能用户开发使用
1.禁用静态视图文件缓存
2.提供详细的日志记录
3.启用自动代码编译
4.可以增强调试
5.显示自定义的X-Magento-* HTTP请求和响应头
6.导致最慢的性能
7.在前端显示错误
第三种:production模式【生产模式】
用于在生产系统上部署,使用这种模式:
1.不向用户显示异常(异常仅写入日志)。
2.从缓存提供静态文件。
3.阻止代码文件的自动编译。不将新的或更新的文件写入文件系统。
4.不允许您在Magento管理中启用或禁用缓存类型。
第四种:maintenance模式【维护模式】
此模式旨在防止访问正在更新或重新配置的Magento商业站点,此模式:
1.将网站访问者重定向到临时不可用的默认服务页面。
2.当站点处于维护模式时,var/目录下包含maintenance.flag文件。
3.您可以配置维护模式,以允许访问者从指定的IP地址列表访问。
查看当前运行的模式
最简单的方法是作为Magento文件系统所有者运行此命令。如果您共享了主机,这是您的提供商提供给您登录到服务器的用户。如果您有一个私有服务器,它通常是Magento服务器上的一个本地用户帐户。
使用下面命令可以查看当前的命令,要使用文件的拥有者执行下面的命令
1 | sudo -u nginx php bin/magento deploy:mode:show |
显示如下的消息:
1 | Current application mode: {mode}. (Note: Environment variables may override this value.) |
{mode}是什么?
{mode}可以是默认模式(default)、开发模式(developer)的或生产模式(production)
如何更改模式
使用下面的命令进行更改:
1 | sudo -u nginx php bin/magento deploy:mode:set {mode} [-s|--skip-compilation] |
此命令有两个参数
{mode}:是必需的,可以是 default
developer
or production
–skip-complilation: 是一个可选参数,可用于在更改为生产模式时跳过代码编译。或者可以简写 -s
例子如下:
1.切换到生产模式【production】
1 | sudo -u nginx php bin/magento deploy:mode:set production |
执行后显示如下的消息:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 | Enabled maintenance mode Requested languages: en_US === frontend -> Magento/luma -> en_US === ... more ... Successful: 1884 files; errors: 0 --- === frontend -> Magento/blank -> en_US === ... more ... Successful: 1828 files; errors: 0 --- === adminhtml -> Magento/backend -> en_US === ... more ... --- === Minify templates === ... more ... Successful: 897 files modified --- New version of deployed files: 1440461332 Static content deployment complete Gathering css/styles-m.less sources. Successfully processed LESS and/or [Sass](https://glossary.magento.com/sass) files [CSS](https://glossary.magento.com/css) deployment complete Generated classes: Magento\Sales\Api\Data\CreditmemoCommentInterfacePersistor Magento\Sales\Api\Data\CreditmemoCommentInterfaceFactory Magento\Sales\Api\Data\CreditmemoCommentSearchResultInterfaceFactory Magento\Sales\Api\Data\CreditmemoComment\Repository Magento\Sales\Api\Data\CreditmemoItemInterfacePersistor ... more ... Compilation complete Disabled maintenance mode Enabled production mode. |
2.切换到开发模式【developer】
当您从生产模式更改为开发人员模式时,您应该删除生成的类和代理之类的对象管理器实体,以防止意外错误。这样做之后,您就可以更改模式了。使用以下步骤:
a.如果您正在从生产模式切换到开发模式,请删除generated/code
和generated/metadata
目录的内容:
1 | rm -rf <magento_root>/generated/metadata/* <magento_root>/generated/code/* |
b. 设置模式
1 | sudo -u nginx php bin/magento deploy:mode:set developer |
显示如下信息:
1 | Enabled developer mode. |
3.切换到默认模式【default】
1 | sudo -u nginx php bin/magento deploy:mode:set default |
显示如下信息:
1 | Enabled default mode. |
通过以上的讲解相比你已经对magento 2的几种模式有了大概了的了解了,希望我的讲解给你带来的方便。
非常不错!关注一下
已阅,感谢站长分享!