M2 项目线上版 deploy 流程
M2 项目线上版 deploy 流程
我们一般都是在开发版服务器里开发,然后在线上服务器进行pull和deploy。
很多小伙伴不知道怎么在线上部署,经常问我,我有必要说明一下。
1,如果线上不是production模式。需要改成production模式
php bin/magento deploy:mode:set production
2,开启维护模式
php bin/magento maintenance:enable
如果有用git进行版本控制的话,需要下载最新代码
git pull origin master
3,清缓存
rm -rf var/di/* && rm -rf var/generation/* && rm -rf var/cache/* && rm -rf var/page_cache/* && rm -rf var/view_preprocessed/* && rm -rf pub/static/* && rm -rf generated/* && mkdir var/di
解释下,m2会生成代码缓存和magento文件缓存和静态文件。
静态文件放在static,所有的css/js/html都在这个里面。
代码缓存在generation目录。2.2.0之前的版本代码缓存在var/generation。
magento文件缓存在var/cache/里
全页面文件缓存在var/pace_cache里
所以都需要删除,不然的话 会有影响。
4, 更新插件和编译代码
php bin/magento setup:upgrade && php bin/magento setup:di:compile
5,生成语言文件(如果你没有手动修改改语言包的代码,这一步可以省略)
比如修改了芬兰语,要合并语言的话:
php bin/magento i18n:pack -m "merge" /项目路径/app/i18n/公司名/fi_FI/fi_FI.csv -d fi_FI
6,deploy生成缓存文件 并reindex 清magento缓存 部署上线
比如我网站前台有3个店3种语言,分别是芬兰语/英语/瑞典语。
php bin/magento setup:static-content:deploy fi_FI en_US sv_SE -f && php bin/magento indexer:reindex && php bin/magento maintenance:disable && php bin/magento cache:clean && php bin/magento cache:flush
这样就ok了。