我们一般都是在开发版服务器里开发,然后在线上服务器进行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了