M2线上部署
开发版里开发好了,就要准备部署到线上去。
首先,你的服务器里得有一个线上版的m2网站。
比如我的是:
版本 | 路径 | 域名 |
---|---|---|
开发版 | /var/www/magento2 | magento2demo.texiaoyao.cn |
线上版 | /var/www/magento2-live | magento2-live.texiaoyao.cn |
如果你没有装线上版本的话,也很好办。
以普通用户zou
登录。
1,配置好Nginx虚拟主机
参考配置Nginx虚拟主机
那一章。
在/etc/nginx/sites-available/magento2
里新增一个server
server {
listen 80;
server_name magento2-live.texiaoyao.cn;
set $MAGE_ROOT /var/www/magento2-live;
set $MAGE_MODE production;
include /var/www/magento2-live/nginx.conf.sample;
error_log /var/log/magento2-live/nginx/error.log;
}
1,拷贝代码
你先创建线上版本目录,比如
mkdir /var/www/magento2-live
然后把开发版的代码都拷过去。
cd /var/www/magento2-live
cp /var/www/magento2/* ./ -rf
cp /var/www/magento2/.git ./ -rf
cp /var/www/magento2/.gitignore ./
因为我们教程刚开始安装了一个M2网站。
放在/var/www/magento2
里。
2,新建数据库
代码拷过去了,但是数据库还是开发版的,肯定不行,
自己去创建一个数据库,比如magento2-live
。
再把开发版的数据库dump出来,导入到magento2-live
里去。
最后,修改app/etc/env.php
文件。
修改下数据库信息 保存就行。
3,修改core_config_data表
数据库也改好了,是不是万事大吉了呢?
肯定不是,因为是导入的开发版的数据,后台设置的网站url都是开发版的。
所以要改下数据库的core_config_data表,把开发版的域名都改成线上版的域名。
比如我的是:
把http://magento2demo.texiaoyao.cn
都改成http://magento2-live.texiaoyao.cn
。https://magento2demo.texiaoyao.cn
都改成https://magento2-live.texiaoyao.cn
。
4,更新下系统
rm -rf var/di/* && rm -rf var/generation/* && rm -rf generated/*
php bin/magento setup:upgrade && php bin/magento setup:di:compile
5,设置成生产模式
php bin/magento deploy:mode:set production
6,测试
浏览器访问域名,看是否显示正常。
这样就ok了,本章课程下面的内容,都在线上版里操作。
转发:https://www.kancloud.cn/zouhongzhao/magento2-in-action/628445