当前位置: 首页 > news >正文

magento2项目上线注意事项

切换到产品模式

php magento deploy:mode:set production

执行以上指令需要等一段时间,在production mode下效率会大大提升,但static不再自动生成,每次修改了JS CSS都需要用指令生成static。

以下是我常用的修改上线指令

cd ~/www
rm -rf ./var/cache/
rm -rf ./var/generation/
rm -rf ./var/log/
rm -rf ./var/maps/
rm -rf ./var/page_cache/
rm -rf ./var/tmp/
rm -rf ./var/view/
rm -rf ./var/view_preprocessed/
php bin/magento setup:di:compile
php bin/magento setup:upgrade
php bin/magento cache:flush
rm -rf ./pub/static/*
php bin/magento setup:static-content:deploy

请求数尽可能少

浏览器允许并发下载数每个域名一般是6个,请求数太多不能充分利用带宽资源。

为了减少请求数,后台以下设置都需要打开
Merge JavaScript Files
Minify JavaScript Files
Merge CSS Files
Minify CSS Files

尽量使用less做样式,不少人为了方便从外部引入css,这样会让css无法进行Merge。

增加一个域名来访问资源文件也可以间接加大允许并发下载数,例如static.domain.com, media.domain.com
对应的后台设置:
Base URL for Static View Files = https://static.domain.com/pub/static/
Base URL for User Media Files = https://media.domain.com/pub/media/

使用CDN

magento有大量的产品图片,使用CDN可以很好缓解服务器的带宽压力,而且CDN用的域名与主域名不同,不受单个域名的允许并发下载数限制。后台设置Base URL for Static View Files与Base URL for User Media Files来使用CDN。

mail

上线后必须测试send mail功能是否正常,线上环境与开发环境不一样可能会影响邮件功能。为了稳定发出邮件,建议使用SMTP,可以安装Emizentech_CustomSmtp实现。但免费的SMTP都不稳定,目前用过mandrill比较好,免费可以发出2000封,需要安装Ebizmarts_Mandrill。

设置cronjob

crontab -u <Magento file system owner user name> -e
* * * * * <path to php binary> <magento install dir>/bin/magento cron:run | grep -v "Ran jobs by schedule" >> <magento install dir>/var/log/magento.cron.log
* * * * * <path to php binary> <magento install dir>/update/cron.php >> <magento install dir>/var/log/update.cron.log
* * * * * <path to php binary> <magento install dir>/bin/magento setup:cron:run >> <magento install dir>/var/log/setup.cron.log

参考 http://devdocs.magento.com/gu...

web测试工具

https://gtmetrix.com

相关文章:

  • HTML5入门篇
  • R-rep()
  • HTML5之 WebWorkers
  • 中国科学院大学2011年数学分析高等代数考研试题
  • SOHO和BYOD网络实践记录
  • 计算机视觉数据集(不完全)
  • RDIFramework.NET ━ .NET快速信息化系统开发框架 V2.8 版本━新增岗位管理-WinForm部分...
  • eclipse编码格式设置教程、如何为eclipse设置编码格式?
  • 【转】NGUI研究院之自适应屏幕(十)
  • 团队代码中Bug太多怎么办?怎样稳步提高团队的代码质量
  • jquery控制按钮的禁用与启用
  • 输出100000以内的质数 (优化2)
  • 莫名其妙ng-change被触发两次
  • javascript2
  • jhipster 安装
  • [译]CSS 居中(Center)方法大合集
  • iOS动画编程-View动画[ 1 ] 基础View动画
  • JavaScript工作原理(五):深入了解WebSockets,HTTP/2和SSE,以及如何选择
  • JS+CSS实现数字滚动
  • k个最大的数及变种小结
  • Magento 1.x 中文订单打印乱码
  • mysql中InnoDB引擎中页的概念
  • Spring声明式事务管理之一:五大属性分析
  • tab.js分享及浏览器兼容性问题汇总
  • vue-router 实现分析
  • 和 || 运算
  • 经典排序算法及其 Java 实现
  • 前端工程化(Gulp、Webpack)-webpack
  • 原生JS动态加载JS、CSS文件及代码脚本
  • 再谈express与koa的对比
  • 你学不懂C语言,是因为不懂编写C程序的7个步骤 ...
  • 组复制官方翻译九、Group Replication Technical Details
  • #Linux(权限管理)
  • ( 10 )MySQL中的外键
  • (02)Cartographer源码无死角解析-(03) 新数据运行与地图保存、加载地图启动仅定位模式
  • (1)(1.11) SiK Radio v2(一)
  • (39)STM32——FLASH闪存
  • (Java岗)秋招打卡!一本学历拿下美团、阿里、快手、米哈游offer
  • (分享)自己整理的一些简单awk实用语句
  • (附源码)springboot 智能停车场系统 毕业设计065415
  • (六)vue-router+UI组件库
  • (三) prometheus + grafana + alertmanager 配置Redis监控
  • (十七)Flask之大型项目目录结构示例【二扣蓝图】
  • (数据结构)顺序表的定义
  • (四)Tiki-taka算法(TTA)求解无人机三维路径规划研究(MATLAB)
  • (轉貼) 資訊相關科系畢業的學生,未來會是什麼樣子?(Misc)
  • ***微信公众号支付+微信H5支付+微信扫码支付+小程序支付+APP微信支付解决方案总结...
  • .NET Core WebAPI中使用Log4net 日志级别分类并记录到数据库
  • .NET CORE使用Redis分布式锁续命(续期)问题
  • .NET Micro Framework初体验
  • .Net Remoting常用部署结构
  • .NET 设计模式初探
  • .NET/C# 使用反射注册事件
  • .Net6 Api Swagger配置
  • .NET中的十进制浮点类型,徐汇区网站设计