切换到产品模式
php magento deploy:mode:set production
执行以上指令需要等一段时间,在production mode下效率会大大提升,但static不再自动生成,每次修改了JS CSS都需要用指令生成static。
以下是我常用的修改上线指令
cd ~/wwwrm -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:compilephp bin/magento setup:upgradephp bin/magento cache:flushrm -rf ./pub/static/*php bin/magento setup:static-content:deploy
请求数尽可能少
浏览器允许并发下载数每个域名一般是6个,请求数太多不能充分利用带宽资源。
为了减少请求数,后台以下设置都需要打开
Merge JavaScript FilesMinify JavaScript FilesMerge CSS FilesMinify 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。
上线后必须测试send mail功能是否正常,线上环境与开发环境不一样可能会影响邮件功能。为了稳定发出邮件,建议使用SMTP,可以安装Emizentech_CustomSmtp实现。但免费的SMTP都不稳定,目前用过mandrill比较好,免费可以发出2000封,需要安装Ebizmarts_Mandrill。
设置cronjob
crontab -u-e
* * * * */bin/magento cron:run | grep -v "Ran jobs by schedule" >> /var/log/magento.cron.log* * * * * /update/cron.php >> /var/log/update.cron.log* * * * * /bin/magento setup:cron:run >> /var/log/setup.cron.log
参考