当前位置: 首页 > 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 安装
  • 《Java编程思想》读书笔记-对象导论
  • angular2 简述
  • Golang-长连接-状态推送
  • JS创建对象模式及其对象原型链探究(一):Object模式
  • laravel with 查询列表限制条数
  • SpiderData 2019年2月23日 DApp数据排行榜
  • tensorflow学习笔记3——MNIST应用篇
  • Web标准制定过程
  • 前端学习笔记之观察者模式
  • 如何实现 font-size 的响应式
  • 我的面试准备过程--容器(更新中)
  • 【运维趟坑回忆录】vpc迁移 - 吃螃蟹之路
  • elasticsearch-head插件安装
  • Java性能优化之JVM GC(垃圾回收机制)
  • ​Java并发新构件之Exchanger
  • ​力扣解法汇总946-验证栈序列
  • #define MODIFY_REG(REG, CLEARMASK, SETMASK)
  • (1)Nginx简介和安装教程
  • (Redis使用系列) Springboot 整合Redisson 实现分布式锁 七
  • (二)丶RabbitMQ的六大核心
  • (二十一)devops持续集成开发——使用jenkins的Docker Pipeline插件完成docker项目的pipeline流水线发布
  • (附源码)spring boot基于小程序酒店疫情系统 毕业设计 091931
  • (附源码)ssm考试题库管理系统 毕业设计 069043
  • (机器学习-深度学习快速入门)第一章第一节:Python环境和数据分析
  • (南京观海微电子)——COF介绍
  • (原創) 系統分析和系統設計有什麼差別? (OO)
  • (转)shell中括号的特殊用法 linux if多条件判断
  • (轉貼) UML中文FAQ (OO) (UML)
  • .“空心村”成因分析及解决对策122344
  • .net core 实现redis分片_基于 Redis 的分布式任务调度框架 earth-frost
  • .Net Remoting常用部署结构
  • .NET/C# 的字符串暂存池
  • .Net的DataSet直接与SQL2005交互
  • .net反编译的九款神器
  • .net中生成excel后调整宽度
  • @Import注解详解
  • [04] Android逐帧动画(一)
  • [Android学习笔记]ScrollView的使用
  • [BZOJ 3282] Tree 【LCT】
  • [C#] 我的log4net使用手册