本文转自:https://segmentfault.com/a/1190000007929783
切换到产品模式
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。
上线后必须测试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...